系统:CentOS Linux release 7.6.1810 (Core)/图形化
内核:3.10.0-957.el7.x86_64
桌面环境:gnome
环境:VMware® Workstation 17 Pro
配置:4c4g
图形化未安装成功,选择静默安装
一、安装前配置
1.1创建swap分区
swapon -s
如果该命令没有返回结果,则代表该系统尚未配置过swap,已创建,跳过。
1.2修改主机名
hostnamectl set-hostname oracledb
添加主机名与IP对应记录,根据实际情况修改IP
vi /etc/hosts
192.168.252.13 oracledb
1.3关闭Selinux和防火墙
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
1.4安装依赖包
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33 gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 elfutils-libelf-devel numactl-devel
1.5创建用户与用户组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -d /home/oracle -m oracle
passwd oracle
1.6更改kernel参数(2147483648B=2G)
vi /etc/sysctl.conf
#行尾添加
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 524288
kernel.shmmax = 2147483648
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
使参数生效
sysctl -p
1.7 设置用户限制,提高软件运行性能
1.7.1
vi /etc/security/limits.conf
增加以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 4096
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
1.7.2
cat << EOF >> /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
EOF
1.8配置环境变量
vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
1.9创建安装目录及设置权限
mkdir -p /u01/oracle/oradata
mkdir /oracle
chmod -R 775 /u01
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /oracle
1.10 设置oracle环境变量
vi /home/oracle/.bash_profile
添加
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
source /home/oracle/.bash_profile #立即生效
二、安装
重启系统
2.1安装包上传至/soft(root解压)
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
响应目录有3个文件分别是数据库静默、数据库安装文件以及监听响应文件。
2.2修改安装响应文件
cd /soft/database/response
vim ./db_install.rsp
#修改如下行
29 oracle.install.option=INSTALL_DB_SWONLY #安装选项
37 ORACLE_HOSTNAME=oracledb #hostname
42 UNIX_GROUP_NAME=oinstall #主组
47 INVENTORY_LOCATION=/oracle/inventory
78 SELECTED_LANGUAGES=en,zh_CN
83 ORACLE_HOME=/u01/oracle/product/11.2.0/db_1
88 ORACLE_BASE=/u01/oracle
99 oracle.install.db.InstallEdition=EE #版本
108 oracle.install.db.isCustomInstall=true
142 oracle.install.db.DBA_GROUP=dba #admin管理组名
147 oracle.install.db.OPER_GROUP=dba #oper操作员组名
160 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
170 oracle.install.db.config.starterdb.SID=orcl
200 oracle.install.db.config.starterdb.memoryLimit=1024 #一般为物理内存的40%-60%
233 oracle.install.db.config.starterdb.password.ALL=oracle #设置所有用户密码相同
385 DECLINE_SECURITY_UPDATES=true (不设置./runInstaller报错INFO: Exit Status is -2 )
2.3开始静默安装
su - oracle
cd /soft/database
2.3.1
./runInstaller -silent -ignorePrereq -responseFile /soft/database/response/db_install.rsp
出现如下界面,另起一个终端,root执行完脚本,按enter键继续
sh /oracle/inventory/orainstRoot.sh
sh /u01/oracle/product/11.2.0/db_1/root.sh
2.3.2
netca /silent /responseFile /soft/database/response/netca.rsp
退出码0,ok
退出码1(2.3.3完成后再进行此步操作)
2.3.3
修改dbca.rsp(ps 创建多个实例,只需修改该文件并创建即可)
78 GDBNAME = "orcl"
149 SID = "orcl"
415 CHARACTERSET = "ZHS16GBK"
安装
dbca -silent -responseFile /soft/database/response/dbca.rsp
输入完命令后,xshell窗口会自动clean,然后输入sys密码,回车后继续输入system密码(页面上看不到文字,可能是BUG)
重复步骤2.3.2
启动监听:The listener supports no services The command completed successfully
这样启动后远程连接会报错:oracle ORA-12514:TNS:listener does not currently know of service requested in connect descriptor
原因:数据库实例没注册到listener
登录数据库:
sqlplus / as sysdba
强制注册服务:
SQL>alter system register;
远程连接测试ok