CentOS7 安装oracle 11g (11.2.0.1.0)

Posted leihongnu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7 安装oracle 11g (11.2.0.1.0)相关的知识,希望对你有一定的参考价值。

1、安装依赖:

  #yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

  检查依赖(依赖少的话会存在未知的错误,一定要确保依赖全部安装)

  #rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel | grep "not installed"

2、关闭selinux

  #sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config  

  #setenforce 0

3、创建用户和组
  #groupadd oinstall

  #groupadd dba

  #groupadd oper

  #useradd -g oinstall -G dba oracle

  检查用户是否安装成功

  #id oracle

  给oracle用户设置密码(Aa123456)

  #passwd oracle

4、配置内核参数和资源限制,修改 /etc/sysctl.conf 文件,添加以下内容

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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

 

 5、在 /etc/security/limits.conf 文件,添加以下内容

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

 

 

 6、在 /etc/pam.d/login 文件,添加以下内容

session required /lib64/security/pam_limits.so

session required pam_limits.so

 

7、在 /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

 

  使配置文件生效

  #source /etc/profile

8、禁用使用Transparent HugePages,在 /etc/grub.conf 文件,添加以下内容

  【 echo never > /sys/kernel/mm/transparent_hugepage/enabled 】

  查看是否禁用成功

  #cat /sys/kernel/mm/transparent_hugepage/enabled

 

 

 

 

9、创建oracle安装目录

  #mkdir -p /data/app/

  #chown -R oracle:oinstall /data/app/

  #chmod -R 775 /data/app/

10、配置 oracle 用户的环境变量,在 /home/oracle/.bash_profile 文件中,添加以下内容

umask 022
export ORACLE_HOSTNAME=$HOSTNAME

#(主机名,执行命令#hostname查看本机的主机名)

export ORACLE_BASE=/data/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_LANG="AMERICAN_AMERICA.UTF8" #与ZHS16GBK相反

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

 

 

  使文件生效  

  #. .bash_profile

 11、解压下载好的两个文件

  #unzip -q linux.x64_11gR2_database_1of2.zip -d /data
  #unzip -q linux.x64_11gR2_database_2of2.zip -d /data

  (linux.x64_11gR2_database_2of2.zip 第一次解压的时候出错,检查后发现下载的时候就缺失文件。第二个安装包下载容易缺失文件)
  #mkdir -p /data/etc
  #cp /data/database/response/* /data/etc/

 12、在 /data/etc/db_install.rsp  文件中,添加以下内容

#oracle.install.option=INSTALL_DB_SWONLY

sed -i "s/^.*oracle.install.option.*$/oracle.install.option=INSTALL_DB_SWONLY/"  /data/etc/db_install.rsp

#DECLINE_SECURITY_UPDATES=true

sed -i "s/^.*DECLINE_SECURITY_UPDATES.*$/DECLINE_SECURITY_UPDATES=true/"  /data/etc/db_install.rsp

#UNIX_GROUP_NAME=oinstall

sed -i "s/^.*UNIX_GROUP_NAME.*$/UNIX_GROUP_NAME=oinstall/"  /data/etc/db_install.rsp
#INVENTORY_LOCATION=/data/app/oracle/inventory

sed -i "s/^.*INVENTORY_LOCATION.*$/INVENTORY_LOCATION=\\/data\\/app\\/oracle\\/inventory/"  /data/etc/db_install.rsp
#SELECTED_LANGUAGES=en,zh_CN

sed -i "s/^.*SELECTED_LANGUAGES.*$/SELECTED_LANGUAGES=en,zh_CN/"  /data/etc/db_install.rsp
#ORACLE_HOSTNAME=$HOSTNAME

sed -i "s/^.*ORACLE_HOSTNAME.*$/ORACLE_HOSTNAME=$HOSTNAME/"  /data/etc/db_install.rsp

#(主机名,执行命令#hostname查看本机的主机名)

#ORACLE_HOME=/data/app/oracle/product/11.2.0

sed -i "s/^.*ORACLE_HOME.*$/ORACLE_HOME=\\/data\\/app\\/oracle\\/product\\/11.2.0/"  /data/etc/db_install.rsp
#ORACLE_BASE=/data/app/oracle

sed -i "s/^.*ORACLE_BASE.*$/ORACLE_BASE=\\/data\\/app\\/oracle/"   /data/etc/db_install.rsp
#oracle.install.db.InstallEdition=EE

sed -i "s/^.*oracle.install.db.InstallEdition.*$/oracle.install.db.InstallEdition=EE/"  /data/etc/db_install.rsp
#oracle.install.db.isCustomInstall=true

sed -i "s/^.*oracle.install.db.isCustomInstall.*$/oracle.install.db.isCustomInstall=true/"  /data/etc/db_install.rsp
#oracle.install.db.DBA_GROUP=dba

sed -i "s/^.*oracle.install.db.DBA_GROUP.*$/oracle.install.db.DBA_GROUP=dba/"  /data/etc/db_install.rsp
#oracle.install.db.OPER_GROUP=dba

sed -i "s/^.*oracle.install.db.OPER_GROUP.*$/oracle.install.db.OPER_GROUP=dba/"  /data/etc/db_install.rsp

 

 

   这个文件需要一行一行的查找修改

13、将 /data/* 文件更改所有者所属组

  #chown -R oracle:oinstall /data/*

 

 14、切换用户为 oracle(一般的,有关 oracle 数据库的操作,要使用oracle 为当前用

  #su - oracle

15、安装

  #cd /data/database

  #./runInstaller -silent -responseFile /data/etc/db_install.rsp -ignorePrereq

  安装期间可以打开新shell窗口查看安装日志

  #tail -f /data/app/oracle/inventory/logs/installActionsYYYYY-MM-DD_HH-MM-SSPM.log

 

 

安装完成后有如下提示,说明安装完成

 

 16、根据上图的提示,需要在 root 账号下执行两个脚本

  # su - root

  #/data/app/oracle/inventory/orainstRoot.sh sh

  #/data/app/oracle/product/11.2.0/root.sh

17、配置监听

  #su - oracle

  #netca /silent /responsefile /data/etc/netca.rsp

 18、静默创建数据库,在 /data/etc/dbca.rsp  文件中,添加以下内容

[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/data/app/oracle/oradata
RECOVERYAREADESTINATION=/data/app/oracle/fast_recovery_area
CHARACTERSET = "AL32UTF8" #一个中文占3个字节,安装前问清楚字符集,否则 https://www.cnblogs.com/leihongnu/p/14718286.html

CHARACTERSET = "UTF8" #一个中文占2个字节
TOTALMEMORY = "1638"

 

  这个文件需要一行一行的查找修改

19、执行配置好的静默数据库(需要在oracle用户下执行

  #su - oracle

  #dbca -silent -responseFile /data/etc/dbca.rsp

 20、执行完成后,查看 oracle 进程

  #ps -ef | grep ora_ | grep -v grep

 

 21、查看监听 

  #lsnrctl status   (注意当前用户为 oracle,命令才会执行成功

 

   安装完成,可以登录sqlplus

  #su - oracle

  #sqlplus  /nolog

 

以上是关于CentOS7 安装oracle 11g (11.2.0.1.0)的主要内容,如果未能解决你的问题,请参考以下文章

Oracle11g安装步骤(CentOS7)

centos7.0下安装oracle11g

CentOS7安装Oracle11g R2

CentOS7.2静默安装Oracle11G

Centos7.5 安装oracle11g

centos7下容器安装oracle11g