ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Linux(Centos7)静默安装Oracle19C

2022-02-27 13:00:45  阅读:467  来源: 互联网

标签:oracledb Oracle19C Centos7 install Linux oracle home root localhost


Oracle数据库服务器一般都是Linux,Linux服务器一般都是在非图形界面的操作,本文章手把手教你如何在非图形界面安装Oracle19C。

  • ORACLE 19C 的安装包自行在官网下载,下载免费,但需要注册账号,现提供一个账号
账号:2969868321@qq.com
密码:Yang199324.

1、检查依赖包

[root@localhost ~]# rpm --query --queryformat "%{NAME}-%{VERSION}.%{RELEASE} (%{ARCH})\n" bc binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat elfutils-libelf elfutils-libelf-devel fontconfig-devel libxcb smartmontools libX11 libXau libXtst libXrender libXrender-devel

2、安装未安装的依赖包

[root@localhost ~]# yum -y install compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc-devel ksh libaio-devel libaio-devel sysstat elfutils-libelf-devel fontconfig-devel libxcb smartmontools libX11 libXau libXtst libXrender libXrender-devel

3、创建oracle用户组

[root@localhost ~]# groupadd oinstall
[root@localhost ~]# groupadd dba
[root@localhost ~]# groupadd asmdba
[root@localhost ~]# groupadd backupdba
[root@localhost ~]# groupadd dgdba
[root@localhost ~]# groupadd kmdba
[root@localhost ~]# groupadd racdba
[root@localhost ~]# groupadd oper
[root@localhost ~]# useradd -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper -m oracle
#!/bin/bash
groupadd oinstall
groupadd dba
groupadd asmdba
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd racdba
groupadd oper
useradd -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper -m oracle
  • 创建一个创建用户的脚本(createuser.sh)
  • sh createuser.sh

4、修改主机名

[root@localhost ~]# hostname # 查看主机名
[root@localhost ~]# hostname oracledb # 修改主机名为oracledb

5、配置hosts

[root@localhost ~]# vim /etc/hosts
192.168.137.147	oracledb

6、修改内核参数

[root@localhost ~]# vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16451328
kernel.shmmax = 33692319744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

7、使修改的内容生效

[root@localhost ~]# sysctl -p

8、关闭selinux及firewall

[root@localhost ~]# setenforce 0	// 不重启系统生效
[root@localhost ~]# vim /etc/selinux/config  		# 修改为SELINUX=disabled   重启系统后生效
[root@localhost ~]# systemctl status firewalld.service	# 查看状态
[root@localhost ~]# systemctl stop firewalld.service 	# 停止 firewall
[root@localhost ~]# systemctl disable firewalld.service # 禁止 firewall 开机启动

9、创建安装目录

[root@localhost ~]# mkdir -p /home/oracle/app/oracle/product/19.5.0

10、解压

[root@localhost ~]# unzip /Tools/LINUX.X64_193000_db_home.zip -d /home/oracle/app/oracle/product/19.5.0/

11、修改安装文件的所属用户及权限

[root@localhost ~]# cd /home/oracle
[root@localhost ~]# chown -R oracle:oinstall app
[root@localhost ~]# chmod -R 755 app

12、修改用户的Shell限制

[root@localhost ~]# vim /etc/security/limits.conf 
@oinstall soft nofile 2048
@oinstall hard nofile 65536
@oinstall soft nproc 16384
@oinstall soft stack 10240

13、配置oracle用户的环境变量

[root@localhost ~]# su - oracle # 切换至oracle用户环境
[oracle@localhost ~]$ vim .bash_profile
[oracle@localhost ~]$ source .bash_profile
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=/home/oracle/app/oracle/product/19.5.0
export PATH=$PATH:$ORACLE_HOME/bin:/usr/local/bin
export ORACLE_HOSTNAME=oracledb
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/network/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

14、静默安装之修改安装引导文件

[oracle@localhost ~]$ cd $ORACLE_HOME/install/response
[oracle@oracledb response]$ cp db_install.rsp db_install.rsp.bak
[oracle@oracledb response]$ vim db_install.rsp
// 主要修改以下参数
oracle.install.option=INSTALL_DB_SWONLY				// 29行
UNIX_GROUP_NAME=oinstall							// 34行
INVENTORY_LOCATION=/home/oracle/app/oraInventory	// 41行
ORACLE_HOME=/home/oracle/app/oracle/product/19.5.0	// 45行
ORACLE_BASE=/home/oracle/app/oracle					// 50行
oracle.install.db.InstallEdition=EE					// 62行
oracle.install.db.OSDBA_GROUP=dba					// 79行
oracle.install.db.OSOPER_GROUP=oper					// 85行
oracle.install.db.OSBACKUPDBA_GROUP=backupdba		// 90行
oracle.install.db.OSDGDBA_GROUP=dgdba				// 95行
oracle.install.db.OSKMDBA_GROUP=kmdba				// 100行
oracle.install.db.OSRACDBA_GROUP=racdba				// 105行
oracle.install.db.rootconfig.executeRootScript=false	// 120行
  • :set number 显示行号
  • :set nu 显示行号
  • :set nu! 取消显示行号

15、执行安装

[oracle@localhost ~]$ cd $ORACLE_HOME
[oracle@localhost ~]$ ./runInstaller -silent -responseFile /home/oracle/app/oracle/product/19.5.0/install/response/db_install.rsp

16、以root用户执行脚本

[root@localhost ~]# sh /home/oracle/app/oraInventory/orainstRoot.sh
[root@localhost ~]# sh /home/oracle/app/oracle/product/19.5.0/root.sh
-----------备注,静默安装文件路径-------------------------------------------
软件:/home/oracle/app/oracle/product/19.5.0/install/response/db_install.rsp
监听:/home/oracle/app/oracle/product/19.5.0/assistants/netca/netca.rsp
建库:/home/oracle/app/oracle/product/19.5.0/assistants/dbca/dbca.rsp

17、创建监听

[oracle@oracledb 19.5.0]$ cd assistants/netca
[oracle@oracledb netca]$ cp netca.rsp netca.rsp.bak
[oracle@oracledb netca]$ netca /silent /responseFile /home/oracle/app/oracle/product/19.5.0/assistants/netca/netca.rsp

18、建库

[oracle@oracledb netca]$ cd $ORACLE_HOME/assistants/dbca
[oracle@oracledb dbca]$ cp dbca.rsp dbca.rsp.bak
[oracle@oracledb dbca]$ vim dbca.rsp
[oracle@oracledb dbca]$ dbca -silent -createDatabase -responseFile /home/oracle/app/oracle/product/19.5.0/assistants/dbca/dbca.rsp
-------------主要修改以下参数----------------------------------

gdbName=orcl														//32行
sid=orcl															//42行
databaseConfigType=SI												//52行
templateName=General_Purpose.dbc									//223行
sysPassword=Yangxiaopeng210											//233行
systemPassword=Yangxiaopeng210										//243行
emConfiguration=NONE												//262行
dbsnmpPassword=Yangxiaopeng210										//295行
datafileDestination=/home/oracle/app/oracle/oradata					//411行
recoveryAreaDestination=/home/oracle/flash_recovery_area			//421行
storageType=FS														//431行
characterSet=ZHS16GBK												//468行
nationalCharacterSet=AL16UTF16										//478行
sampleSchema=true													//565行
totalMemory=2048													//604行
# 如果要创建容器数据库,则还需要配置以下参数,如果是多个pdb则以pdbname为前缀
createAsContainerDatabase=true										//162行													
numberOfPDBs=1														//172行
pdbName=yhggi														//182行
pdbAdminPassword=password											//203行
  • 执行建库脚本后如果提示输入密码,手动输入密码。长度至少8字符,至少一个大写字母、一个小写字母、一个数字

19、服务验证及SQLPLUS验证

[oracle@oracledb dbca]$ lsnrctl status 	# 查看监听状态
[oracle@oracledb dbca]$ lsnrctl restart # 重启监听
[oracle@oracledb dbca]$ lsnrctl stop	# 停止监听
[oracle@oracledb dbca]$ lsnrctl start	# 启动监听

[oracle@oracledb dbca]$ sqlplus
  • 输入用户名和密码
  • select sysdate from dual;

20、JAVA 代码验证

package test;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;


public class oracle12c {
	public static void main(String[] args) {
		Connection con = null;			// 创建一个数据库连接
	    PreparedStatement pre = null;	// 创建预编译语句对象,一般都是用这个而不用Statement
	    ResultSet result = null;		// 创建一个结果集对象	 
	    try
	    {
	    	Class.forName("oracle.jdbc.driver.OracleDriver"); //加载oracle驱动
	    	System.out.println("开始连接数据库");
	    	String url = "jdbc:oracle:thin:@192.168.137.147:1521:orcl";
	    	String user = "system";
	    	String passwd = "Yangxiaopeng214";
	    	con = DriverManager.getConnection(url, user, passwd);// 获取连接
	    	System.out.println("连接成功!");
	    	String sql = "select sysdate as datatime from dual where 1=? ";// 预编译语句,“?”代表参数
	    	pre = con.prepareStatement(sql);// 实例化预编译语句
	    	pre.setString(1, "1");			// 设置参数,前面的1表示参数的索引,而不是表中列名的索引
	    	result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数
	    	while(result.next())
	    	{
	    		String str1 = result.getString(1);
	    	 	System.out.println("str1:"+str1);	    		
	    	}    	
	    }catch(Exception e){
	    	e.printStackTrace();
	    }finally {
	    	try 
	    	{
	    		if (result != null) result.close();			//关闭资源
	    		if (pre != null) pre.close();
	    		if (con != null) con.close();
	    		System.out.println("数据库已关闭!");
	    	}
	    	catch(Exception e) {
	    		e.printStackTrace();
	    	}
	    }
	}
}

其他

  • 启动服务

先启动监听,再启动数据库

[oracle@oracledb ~]$ lsnrctl start		# 启动监听
[oracle@oracledb ~]$ sqlplus /nolog		# 打开sqlplus
SQL> conn / as sysdba					# 连接数据库
SQL> startup							# 启动数据库
SQL> shutdown							# 关闭数据库
SQL> exit								# 退出
[oracle@oracledb ~]$ lsnrctl stop		# 停止监听

标签:oracledb,Oracle19C,Centos7,install,Linux,oracle,home,root,localhost
来源: https://www.cnblogs.com/yyxp/p/15942039.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有