一、关闭防火墙
关闭selinux ,编辑 /etc/selinux/config文件,设置SELINUX= enforcing 为SELINUX=disabled
vim /etc/selinux/config
(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
注意 后面的-G(大写),否则后面安装oracle报[FATAL] [INS-35341] User is not a member of the following chosen OS groups: [oinstall]
useradd -g oinstall -G dba oracle
passwd oracle
创建好后,id oracle
查看
四、修改内核参数,优化TCP
vim /etc/sysctl.conf
添加以下设置:
#同时可以拥有的的异步IO请求数目
fs.aio-max-nr = 1048576
#文件句柄的最大数量
fs.file-max = 6815744
#所有内存大小(单位:页,1页 = 4Kb),计算公式16G*1024*1024*1024/4KB(页)
kernel.shmall = 2097152
#单个共享内存段的大小(单位:字节)限制,计算公式64G*1024*1024*1024(字节)
kernel.shmmax = 1073741824
#整个系统的内存segment的总个数,设置系统级最大共享内存段数量
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
让参数生效:/sbin/sysctl -p
五、修改用户的限制文件
vim /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文件
vim /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@localhost /]$ mkdir -p /db/app/oracle/product/11.2.0
[root@localhost /]$ mkdir /db/app/oracle/oradata
[root@localhost /]$ mkdir /db/app/oracle/inventory
[root@localhost /]$ mkdir /db/app/oracle/fast_recovery_area
[root@localhost /]$ chown -R oracle:oinstall /db/app/oracle
[root@localhost /]$ chmod -R 775 /db/app/oracle
九、上传oracle安装包
cd /usr/local
mkdir -p oracle
使用xftp上传oracle安装包并解压
unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
十、切换到oracle用户,设置oracle用户环境变量
su oracle
vim /home/oracle/.bash_profile
添加:
umask 022
#查看host文件要和主机名一致,我的是localhost,没改。比如[root@localhost ~]
export ORACLE_HOSTNAME=localhost
export ORACLE_BASE=/db/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=orcl
export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
#解决 配置监听时【DISPLAY environment variable not set!】
export DISPLAY=localhost:0.0
十一、编辑静默安装文件
(1)切换到root 用户进入oracle安装包解压后的目录,备份b_install.rsp文件
cd /usr/local/oracle/database/response/
cp db_install.rsp db_install.rsp.bak
(2)编辑 /usr/local/oracle/database/response/db_install.rsp文件
vim /usr/local/oracle/database/response/db_install.rsp
修改
oracle.install.option=INSTALL_DB_SWONLY
#查看host文件要和主机名一致,我的是localhost,没改。比如[root@localhost ~]
ORACLE_HOSTNAME=localhost
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/db/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/db/app/oracle/product/11.2.0
ORACLE_BASE=/db/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
DECLINE_SECURITY_UPDATES=true
十二、安装oracle 11g
切换到oracle用户下,进入/usr/local/oracle/database目录下
su oracle
cd /usr/local/oracle/database
[oracle@localhost database]$./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /usr/local/oracle/database/response/db_install.rsp
检查临时空间 检查交换空间 ….
一堆提示,如果出现[WARNING]不必理会,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。
此时再打开另外一个终端选项卡,输入提示的会话日志目录: tail –f
/db/app/oracle/inventory/logs/installActions2018-09-11_09-36-40PM.log
看到日志文件会持续输出安装信息没有输入异常信息,则表明安装过程正常 耐心等待。。。。。。。 当出现successfully setup
software 表示安装已经完成!
如果报[FATAL] [INS-32038] The operating system group specified for central inventory (oraInventory) ownership is invalid.
解决:1.查看inventory文件夹的权限,看是否有写(w)权限
cd /db/app/oracle
ls -l
2.编辑新文件oraInst.loc,网上也有直接在oraInst.doc文件添加
vim /etc/oraInst.loc
添加:
inventory_loc=/db/app/oracle/inventory
inst_group=oinstall
其他:
也有说oracle不支持CentOS,需要修改为redhat-7
vim /etc/redhat-release
十三、运行脚本
按照提示切换root用户运行脚本
[oracle@localhost database]$ You can find the log of this install
session at:
/db/app/oracle/inventory/logs/installActions2018-09-11_09-36-40PM.log
The following configuration scripts need to be executed as the “root”
user. #!/bin/sh #Root scripts to run/db/app/oracle/inventory/orainstRoot.sh(我安装没出现这个,网上有安装时出现这个的)
/db/app/oracle/product/11.2.0/root.sh To execute the configuration
scripts:
1. Open a terminal window
2. Log in as “root”
3. Run the scripts
4. Return to this window and hit “Enter” key to continueSuccessfully Setup Software.
[oracle@localhost database]$ su root
sh /db/app/oracle/inventory/orainstRoot.sh(我安装没提示运行这个,根据提示走就行)
sh /db/app/oracle/product/11.2.0/root.sh
十四、配置监听
切换到oracle用户,并执行命令:
/db/app/oracle/product/11.2.0/bin/netca -silent -responseFile /usr/local/oracle/database/response/netca.rsp
如果出现DISPLAY environment variable not set! 则需要配置DISPLAY变量(export DISPLAY=localhost:0.0),配完之后重新执行上条命令。
成功运行后,会在/db/app/oracle/product/11.2.0/network/admin/ 中生成listener.ora和sqlnet.ora两个文件。
查看监听端口:netstat -tnulp | grep 1521
十五、建立新库,同时建立对应的实例
切换到root用户,编辑 dbca.rsp
vim /usr/local/oracle/database/response/dbca.rsp
修改以下参数【根据自己需要修改】:
GDBNAME = "orcl"
SID = "orcl"
#开启并设置内置用户(sys、system、sysman、dbsnmp)的密码
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/db/app/oracle/oradata
RECOVERYAREADESTINATION=/db/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "1638"
十六、静默配置
切换到oracle用户,并执行命令
/db/app/oracle/product/11.2.0/bin/dbca -silent -responseFile /usr/local/oracle/database/response/dbca.rsp
1% 3% 10% … 100% 已完成
十七、各项检查
实例检查:ps -ef | grep ora_ | grep -v grep
监听状态:lsnrctl status
登录查看实例状态:sqlplus / as sysdba
SQL> 输出信息 表明数据库实例已经启动成功,至此,oracle 11g静默安装完成结束。
如遇到启动报错信息,直接百度,一般只需要关闭数据库,再重启,即可解决!
参考:
CentOS 7静默(无图形化界面)安装Oracle 11g
Oracle 数据库kernel.shmmax 及kernel.sem设置
sysctl.conf学习和调优