LINUX(centos7.6)下无界面静默安装Oracle11g
放心看,绝对能安装成功
一、关闭防火墙
关闭selinux ,编辑 /etc/selinux/config文件,设置SELINUX= enforcing 为SELINUX=disabled
(1)查看防火墙状态:systemctl status firewalld
(2)停止防火墙:systemctl stop firewalld
(3)关闭自启动防火墙服务:systemctl disable firewalld
二、安装oracle11g依赖包
yum -y install gcc make binutils gcc-c++ compat-libstdc+±33 elfutils-libelf-devel elfutils-libelf-devel-static elfutils-libelf-devel ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel
三、创建用户和组
添加oinstall 、dba 组,新建oracle用户并加入oinstall、dba组中
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle ----设置一下Oracle用户的密码
创建好后,id oracle 查看
uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba)
四、修改内核参数
编辑 /etc/sysctl.conf
添加以下设置:
io-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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 不行的话,最后更改完配置文件,重启一下机器
五、修改用户的限制文件
编辑 /etc/security/limits.conf
添加以下配置:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
六、修改/etc/pam.d/login文件
session required /lib64/security/pam_limits.so
session required pam_limits.so
七、修改/etc/profile文件
vim /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
八、创建安装目录、修改文件权限
[root@~]# mkdir -p /u01/app/oracle/product/11.2.0
[root@~]# mkdir /u01/app/oracle/oradata
[root@~]# mkdir /u01/app/oracle/inventory
[root@~]# mkdir /u01/app/oracle/fast_recovery_area
[root@~]# chown -R oracle:oinstall /u01/app/oracle
[root@~]# chmod -R 775 /u01/app/oracle
九、上传oracle安装包到/tmp目录下
解压 unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
十、切换到oracle用户,设置oracle用户环境变量
su - oracle
vi .bash_profile
添加:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
十一、编辑静默安装文件
这个配置文件我放到资源里面了,可以自行下载,只需要把主机名称换成你的,其他的都不用改
(1)切换到root 用户进入oracle安装包解压后的目录 /tmp/database/response/下备份db_install.rsp文件。
(2)编辑 /tmp/database/response/db_install.rsp文件
[root@~]# vim db_install.rsp
修改以下参数:
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=填写你的主机名称
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
(做好备份 cp db_install.rsp db_install.rsp.bak)
十二、安装oracle 11g
切换到oracle用户下,进入/tmp/database目录下 执行 ./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /tmp/database/response/db_install.rsp
这个地方遇到了一个报错,报错信息如下,安装一下 yum install libXext 就可以解决。
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2020-05-05_02-05-27PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.security.action.LoadLibraryAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
at sun.awt.DebugHelper.<clinit>(Unknown Source)
at java.awt.Component.<clinit>(Unknown Source)
检查临时空间
检查交换空间
。。。。。。
。。。。。。
(一堆提示,如果出现[WARNING]不必理会,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。)
此时再打开另外一个终端选项卡,输入提示的会话日志目录:
[root@ ~]# tail -fn 100 /u01/app/oracle/inventory/logs/installActions2020-05-11_03-37-15PM.log
看到日志文件会持续输出安装信息没有输入异常信息,则表明安装过程正常
耐心等待。。。。。。。
当出现successfully setup software 表示安装已经完成!
十三、运行脚本
按照提示切换root用户运行脚本
database目录下运行脚本:
sh /u01/app/oracle/inventory/orainstRoot.sh
sh /u01/app/oracle/product/11.2.0/root.sh
十四、配置监听
切换到oracle用户:
netca -silent -responseFile /tmp/database/response/netca.rsp
成功运行后,会在/u01/app/oracle/product/11.2.0/network/admin/ 中生成listener.ora和sqlnet.ora两个文件。
查看监听端口:netstat -tnulp | grep 1521
(如果出现DISPLAY environment variable not set! 则需要配置DISPLAY变量,配完之后重新netca:export DISPLAY=localhost:0.0)
十五、建立新库,同时建立对应的实例
这个配置文件我放到资源里面了,可以自行下载,都不用改
切换到root用户,编辑 /tmp/database/response/dbca.rsp
修改以下参数:
GDBNAME = “orcl”
SID = “orcl”
SYSPASSWORD = “oracle”
SYSTEMPASSWORD = “oracle”
SYSMANPASSWORD = “oracle”
DBSNMPPASSWORD = “oracle”
DATAFILEDESTINATION =/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET = “ZHS16GBK”
TOTALMEMORY = “1638”
十六、静默配置
切换到oracle用户
执行:dbca -silent -responseFile /tmp/database/response/dbca.rsp
1%
3%
10%
37%
。。
。。
100% 已完成
十七、各项检查
实例检查:ps -ef | grep ora_ | grep -v grep
监听状态:lsnrctl status
登录查看实例状态:sqlplus / as sysdba
SQL> startup 输出信息 表明数据库实例已经启动成功,至此,oracle 11g静默安装完成结束。