centos7 静默安装 oracle 11g

关闭selinux

1[root@localhost ~]# vi /etc/selinux/config

修改:

1SELINUX=disabled
2SELINUXTYPE=targeted

设置hosts

1[root@localhost ~]# vi /etc/hosts

在文件末尾添加(本机的ip地址为:192.168.253.133):

1192.168.128.132	oracle.mysite

关闭防火墙

查看防火墙状态:

1[root@localhost ~]# systemctl status firewalld

停止防火墙:

1[root@localhost ~]# systemctl stop firewalld

关闭自启动防火墙服务:

1[root@localhost ~]# systemctl disable firewalld

开放 oracle 端口

1[root@localhost ~]# firewall-cmd --zone=public --add-port=1521/tcp --permanent

配置立即生效

1[root@localhost ~]# firewall-cmd --reload

安装 Oracle 11g 依赖

1[root@localhost ~]# yum install -y gcc gcc-c++ make binutils compat-libstdc++-33 glibc glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel sysstat ksh compat-libcap1 elfutils-libelf-devel elfutils-libelf-devel-static numactl-devel pcre-devel

添加oinstall 、dba 组,新建oracle用户并加入oinstall、dba组中

1[root@localhost ~]# groupadd oinstall
2[root@localhost ~]# groupadd dba
3[root@localhost ~]# useradd -g oinstall -G dba oracle

设置oracle用户密码

1[root@localhost ~]# passwd oracle
2更改用户 oracle 的密码。
3新的 密码:
4重新输入新的 密码:
5passwd:所有的身份验证令牌已经成功更新。

验证创建是否正确

1[root@localhost ~]# id oracle
2uid=1000(oracle) gid=1000(oinstall) =1000(oinstall),1001(dba)

配置内核参数

1[root@localhost ~]# vi /etc/sysctl.conf

文件末尾增加:

 1fs.aio-max-nr = 1048576
 2fs.file-max = 6815744
 3kernel.shmall = 2097152
 4kernel.shmmax = 536870912
 5kernel.shmmni = 4096
 6kernel.sem = 250 32000 100 128
 7net.ipv4.ip_local_port_range = 9000 65500
 8net.core.rmem_default = 262144
 9net.core.rmem_max = 4194304
10net.core.wmem_default = 262144
11net.core.wmem_max = 1048576

其中:kernel.shmmax = 536870912, 为本机物理内存(2G)的一半,单位为byte。

修改完成后执行命令使配置生效:

1[root@localhost ~]# sysctl -p

修改用户限制

1[root@localhost ~]# vi /etc/security/limits.conf

文件末尾增加:

1oracle           soft    nproc           2047
2oracle           hard    nproc           16384
3oracle           soft    nofile          1024
4oracle           hard    nofile          65536
5oracle           soft    stack           10240

修改 /etc/pam.d/login 文件

1[root@localhost ~]# vi /etc/pam.d/login

文件末尾增加:

1session    required     /lib64/security/pam_limits.so
2session    required     pam_limits.so

修改/etc/profile文件

1[root@localhost ~]# vi /etc/profile

添加以下内容:

1if [ $USER = "oracle" ]; then
2   if [ $SHELL = "/bin/ksh" ]; then
3       ulimit -p 16384
4       ulimit -n 65536
5    else
6       ulimit -u 16384 -n 65536
7   fi
8fi

使之配置生效:

1[root@localhost ~]# source /etc/profile

创建安装目录,设置权限

1[root@localhost ~]# mkdir -p /app/oracle/product/11.2.0
2[root@localhost ~]# mkdir /app/oracle/{oradata,inventory,fast_recovery_area}
3[root@localhost ~]# chown -R oracle:oinstall /app/oracle
4[root@localhost ~]# chmod -R 775 /app/oracle

设置oracle用户环境变量

1[root@localhost ~]# su - oracle
2[oracle@localhost ~]$ vi ~/.bash_profile

在文件末尾添加:

1export ORACLE_BASE=/app/oracle
2export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
3export ORACLE_SID=orcl
4export PATH=$ORACLE_HOME/bin:$PATH

使之配置生效:

1[oracle@localhost ~]$ source ~/.bash_profile

建议完成以上步骤后,重新启动计算机,使所有配置生效

切换到oracle用户

1su - oracle

编辑静默安装的配置文件

上传 linux.x64_11gR2_database 的安装包:

1[oracle@localhost ~]$ mkdir -p /app/oracle/oraclesetup
2[oracle@localhost ~]$ scp docs@192.168.1.177:~/linux.x64_11gR2_database.tar.gz /app/oracle/oraclesetup

上传完成后,进入安装包所在的目录,然后解压:

1[oracle@localhost ~]$ cd /app/oracle/oraclesetup
2[oracle@localhost oraclesetup]$ tar -zxf linux.x64_11gR2_database.tar.gz 

进入安装目录,编辑数据库安装的响应文件

1[oracle@localhost oraclesetup]$ cd database/

事先备份:

1[oracle@localhost database]$ cp ./response/db_install.rsp ./response/db_install.rsp.backup

编辑数据库安装的响应文件:

1[oracle@localhost database]$ vi ./response/db_install.rsp

修改的内容如下:

 1oracle.install.option=INSTALL_DB_SWONLY
 2ORACLE_HOSTNAME=oracle.mysite
 3UNIX_GROUP_NAME=oinstall
 4INVENTORY_LOCATION=/app/oracle/inventory
 5SELECTED_LANGUAGES=en,zh_CN,zh_TW
 6ORACLE_HOME=/app/oracle/product/11.2.0
 7ORACLE_BASE=/app/oracle
 8oracle.install.db.InstallEdition=EE
 9oracle.install.db.DBA_GROUP=dba
10oracle.install.db.OPER_GROUP=dba
11DECLINE_SECURITY_UPDATES=true

具体配置项可查看如下文件: db_install.rsp

根据响应文件静默安装Oracle11g

1[oracle@localhost database]$ ./runInstaller -silent -ignorePrereq -responseFile /app/oracle/oraclesetup/database/response/db_install.rsp

安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。
安装成功后,部分显示如下:

 1以下配置脚本需要以 "root" 用户的身份执行。
 2 #!/bin/sh 
 3 #要运行的 Root 脚本
 4/app/oracle/inventory/orainstRoot.sh
 5/app/oracle/product/11.2.0/root.sh
 6要执行配置脚本, 请执行以下操作:
 7         1. 打开一个终端窗口
 8         2. 以 "root" 身份登录
 9         3. 运行脚本
10         4. 返回此窗口并按 "Enter" 键继续
11Successfully Setup Software.

根据上面的提示,切换到 root 用户,安装脚本

1[oracle@localhost database]$ exit
2[root@localhost oracle]# sh /app/oracle/inventory/orainstRoot.sh
3[root@localhost oracle]# sh /app/oracle/product/11.2.0/root.sh

以静默方式配置监听(重新使用oracle用户登录)

1[root@localhost oracle]# su - oracle
2[oracle@localhost ~]$ cd /app/oracle/oraclesetup/database/
3[oracle@localhost database]$ netca /silent /responsefile /app/oracle/oraclesetup/database/response/netca.rsp

注意:因为是静默安装,所以必须使用 /silent /responseFile 格式,而不是-silent -responseFile
成功运行后,在 /app/oracle/product/11.2.0/network/admin/ 中生成listener.ora和sqlnet.ora

以静默方式配置监听

1[oracle@localhost database]$ cp ./response/dbca.rsp ./response/dbca.rsp.backup
2[oracle@localhost database]$ vi ./response/dbca.rsp

修改的内容如下:

 1GDBNAME = "orcl"
 2SID = "orcl"
 3SYSPASSWORD = "oracle"
 4SYSTEMPASSWORD = "oracle"
 5SYSMANPASSWORD = "oracle"
 6DBSNMPPASSWORD = "oracle"
 7DATAFILEDESTINATION = /app/oracle/oradata
 8RECOVERYAREADESTINATION = /app/oracle/fast_recovery_area
 9CHARACTERSET = "ZHS16GBK"
10TOTALMEMORY = "819"

其中TOTALMEMORY =“819” 为819MB,物理内存1G*80%。
具体配置可查看如下文件:dbca.rsp

建立新库,同时建立对应的实例

1[oracle@localhost database]$ dbca -silent -responseFile /app/oracle/oraclesetup/database/response/dbca.rsp

建库后进行实例进程检查:

1[oracle@localhost database]$ ps -ef | grep ora_ | grep -v grep

查看监听状态:

1[oracle@localhost database]$ lsnrctl status

登录查看实例状态:

1[oracle@localhost database]$ sqlplus / as sysdba
2SQL> select status from v$instance;

oracle服务的启动和关闭

修改 /app/oracle/product/11.2.0/bin/dbstart

1[oracle@localhost database]$ vi /app/oracle/product/11.2.0/bin/dbstart

将 ORACLE_HOME_LISTNER=$1 修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

修改/app/oracle/product/11.2.0/bin/dbshut

1[oracle@localhost database]$ vi /app/oracle/product/11.2.0/bin/dbshut

将 ORACLE_HOME_LISTNER=$1 修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

修改/etc/oratab文件

1[oracle@localhost database]$ vi /etc/oratab

将orcl:/app/oracle/product/11.2.0:N中最后的N改为Y,成为orcl:/app/oracle/product/11.2.0:Y

关闭服务

1[oracle@localhost database]$ dbshut

启动服务

1[oracle@localhost database]$ dbstart

把oracle发布成系统服务

1[oracle@localhost database]$ vi /etc/rc.d/init.d/oracle

脚本内容如下:

 1#!/bin/sh
 2
 3# chkconfig: 2345 90 10
 4# description: oracle database engine.
 5
 6ORACLE_BASE=/app/oracle
 7ORACLE_HOME=$ORACLE_BASE/product/11.2.0
 8ORACLE_USER=oracle
 9
10case "$1" in
11  'start')
12    echo "Starting Oracle Database"
13    su - $ORACLE_USER -lc "dbstart"
14  ;;
15  'stop')
16    echo "Stopping Oracle Database"
17    su - $ORACLE_USER -lc "dbshut"
18  ;;
19  'restart')
20    $0 stop
21    sleep 5
22    $0 start
23  ;;
24  *)
25    echo "Usage: $0[start|stop|restart]"
26    exit 1
27esac
28
29exit 0

修改/etc/init.d/oracle服务文件权限

1[oracle@localhost database]$ chmod 755 /etc/init.d/oracle

注册服务

1[oracle@localhost database]$ chkconfig --add oracle

设置为开机启动

1[oracle@localhost database]$ chkconfig oracle on

至此,oracle 已经安装完毕。

以上安装过程参考了如下文档

注:如果要把oracle发布成服务,并且开机运行,请自己参考下面的文档