一、Centos7静默安装Oracle11gR2 X64
1.1 安装依赖包
yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel numactl-devel sysstat unixODBC unixODBC-devel kernelheaders pdksh pcre-devel readline rlwrap
1.2创建用户和组
groupadd oinstall && groupadd dba && useradd -g oinstall -G dba oracle
id oracle查看oracle用户信息
passwd oracle
输入密码/再次输入密码(我自己默认输oracle)
1.3安装包存放目录
mkdir -p /data/u01/software
将安装包放在data/u01/software目录下,如下图所示:
1.4解压安装包
unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
1.5创建oracle目录,并授权文件夹目录权限给oracle
1.mkdir -p /data/u01/app/oracle/product/11.2.0/dbhome_1
2.mkdir /data/u01/app/oracle/{oradata,inventory,fast_recovery_area}
3.chown -R oracle:oinstall /data/u01/app/oracle
4.chmod -R 775 /data/u01/app/oracle
1.6修改内核参数
vim /etc/sysctl.conf
fs.aio-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
1.7修改用户限制
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
1.8修改/etc/pam.d/login 文件
找到这一行:
session required pam_namespace.so
在其下一行添加:
session required /lib64/security/pam_limits.so
session required pam_limits.so
1.9修改/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
1.10设置oracle用户环境变量
需要切换到oracle用户,注意切换的时候是带-的su - oracle
su - oracle
vim .bash_profile
export ORACLE_BASE=/data/u01/app/oracle
export ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=$ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=american_america.AL32UTF8
#生效
source .bash_profile
1.11查看主机名
hostname
1.12添加主机名与ip对应记录
vim /etc/hosts # 编辑 hosts
最后新添一行,格式为:IP 主机名
例如:192.168.10.130 oracledb
1.13编辑静默安装响应文件
cp -R /data/u01/software/database/response/* /home/oracle/response/db_install.rsp
1.14 配置默认文件
cd /home/oracle/response/
vim db_install.rsp
#设置以下内容
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=自己的主机名hostname
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/data/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
二、安装
2.1切换到oracle用户
su - oracle
cd /data/u01/software/database/
./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
等待
[WARING]可暂时忽略,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经异常停止了
当出现 Successfully Setup Software. 证明已经安装成功,然后根据提示以 root 用户执行脚本
2.2安装成功后
另开一个终端,以root登录
su - root
source .bash_profile
sh /data/u01/app/oracle/inventory/orainstRoot.sh
sh /data/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
2.3配置监听
#以静默方式配置监听
su - oracle
source .bash_profile
netca /silent /responsefile /home/oracle/response/netca.rsp
2.4 oracle用户启动
su - oracle
lsnrctl start
netstat -tunlp|grep 1521
2.5查看监听状态
在oracle用户下
查看监听状态 lsnrctl status
#查看监听器配置文件 listener.ora
cat $ORACLE_HOME/network/admin/listener.ora
#查看监听服务名配置文件 tnsnames.ora
cat $ORACLE_HOME/network/admin/tnsnames.ora
2.6静默建立新库和实例的响应文件
vim /home/oracle/response/dbca.rsp
设置以下参数
GDBNAME = "orcl"
SID = "orcl"
DATAFILEDESTINATION =/data/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/data/u01/app/oracle/fast_recovery_area
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "6144"
2.7查看建库相应文件配置信息
egrep -v “(#|$)” /home/oracle/response/dbca.rsp
2.8启用配置,静默建库和实例
dbca -silent -responseFile /data/u01/software/database/response/dbca.rsp
执行完后会先清屏,清屏之后没有提示,直接输入oracle用户的密码,回车,再输入一次,再回车。
稍等一会,会开始自动创建
2.8 登录及启动数据库
sqlplus / as sysdba
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
如果startup报错的话,那么需要复制一个instorcl文件到相对应的路径下
2.9配置开机自动启动监听、启动oracle
su - root # 切换到 root 用户
vim /etc/oratab # 编辑
其中:
*:/home/oracle/oracle92:N
这一行中 * 改为数据库的SID orcl, 第三段的N改为Y
如:orcl:/home/oracle/oracle92:Y 务必是大写的Y
vim /etc/rc.local # 编辑
在文件末尾增加:
su - oracle -c 'dbstart'su - oracle -c 'lsnrctl start'
2.10开放1521端口(用以oracle远程连接)
查看端口是否开放:firewall-cmd --query-port=1521/tcp
永久开放1521端口号:firewall-cmd --permanent --zone=public --add-port=1521/tcp
重启防火墙: systemctl restart firewalld.service
查看防火墙状态
systemctl status firewalld.service