Linux安装Oracle 11g (图形,静默两种安装方式)

环境:Centos 7.3
内存>1G
磁盘空间>7G 安装Openssh 运行级别 runlevel 3 or runlevel 5 Oracle版本:linux.x64_11gR2 关闭SElinux 和 防火墙

修改内核参数: Linux安装文档中给出的最小值: vi /etc/sysctl.conf fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 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 = 1048586 可以直接添加到这个文件,然后sysctl –p使改动生效 [root@oracle ~]# sysctl –p kernel.shmmax**:** 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。 官方建议值: 32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。 64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取1210241024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中

oracle用户设置限制: [root@oracle ~]# vi /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 文件中,使用文本编辑器或vi命令增加或修改以下内容 session required /lib/security/pam_limits.so session required pam_limits.so

在/etc/profile 文件中,使用文本编辑器或vi命令增加或修改以下内容 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

官方建议的依赖包(可以是当前版本或者高于当前版本) binutils-2.20.51.0.2-5.11.el6 (x86_64) compat-libcap1-1.10-1 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (i686) gcc-4.4.4-13.el6 (x86_64) gcc-c++-4.4.4-13.el6 (x86_64) glibc-2.12-1.7.el6 (i686) glibc-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6 (i686) ksh libgcc-4.4.4-13.el6 (i686) libgcc-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (i686) libstdc++-devel-4.4.4-13.el6 (x86_64) libstdc++-devel-4.4.4-13.el6 (i686) libaio-0.3.107-10.el6 (x86_64) libaio-0.3.107-10.el6 (i686) libaio-devel-0.3.107-10.el6 (x86_64) libaio-devel-0.3.107-10.el6 (i686) libXext-1.1 (x86_64) libXext-1.1 (i686) libXtst-1.0.99.2 (x86_64) libXtst-1.0.99.2 (i686) libX11-1.3 (x86_64) libX11-1.3 (i686) libXau-1.0.5 (x86_64) libXau-1.0.5 (i686) libxcb-1.5 (x86_64) libxcb-1.5 (i686) libXi-1.3 (x86_64) libXi-1.3 (i686) make-3.81-19.el6 sysstat-9.0.4-11.el6 (x86_64) unixODBC-2.3.1 or later

我在本次操作中的查询和安装 查询 rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel 安装 yum install unixODBC unixODBC-devel compat-libstdc++ elfutils-libelf-devel glibc ksh libaio-devel sysstat compat-libstdc++-33 gcc gcc-c++ glibc-2.5 glibc-devel glibc-headers libstdc++-devel

在/etc/hosts里面加主机名解析 [root@oracle ~]# vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.32 oracle

创建oracle用户组和oracle所需的目录,权限设置 groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper groupadd -g 54324 backupdba groupadd -g 54325 dgdba groupadd -g 54326 kmdba groupadd -g 54327 asmdba useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba oracle passwd oracle

创建目录结构 mkdir -p /u01 chown -R oracle:oinstall /u01 chmod -R 775 /u01 mkdir -p /u01/app/oracle mkdir -p /u01/app/oraInventory chown -R oracle:oinstall /u01/app/oracle chown -R oracle:oinstall /u01/app/oraInventory chmod -R 775 /u01/app 安装包存放路径 /u01/OraDB12c/ mkdir -p /u01/OraDB12c/

去解压目录找模板 cd /u01/OraDB12c/database/response 拷贝三个模板到自己的目录 /u01/myinstall mkdir -p /u01/myinstall cp .rsp /u01/myinstall/ chown oracle:oinstall /u01/myinstall/.rsp chmod 700 /u01/myinstall/*.rsp 

配置Oracle用户环境变量: su - oracle   vi ~/.bash_profile umask 022 export ORACLE_BASE=/u01/app/oracle export ORACLE_SID=orcl 使设置生效 source /home/oracle/.bash_profile

准备db_install.rsp su - oracle 修改安装Oracle软件的响应文件/home/oracle/etc/db_install.rsp oracle.install.option=INSTALL_DB_SWONLY //29 行 安装类型 ORACLE_HOSTNAME=oracle //37 行 主机名称 UNIX_GROUP_NAME=oinstall //42 行 安装组 INVENTORY_LOCATION=/u01/app/oracle/oraInventory //47 行 INVENTORY目录 SELECTED_LANGUAGES=en,zh_CN,zh_TW //78 行 选择语言 ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 //83 行 oracle_home ORACLE_BASE=/u01/app/oracle //88 行 oracle_base oracle.install.db.InstallEdition=EE //99 行 oracle版本 oracle.install.db.isCustomInstall=false //108行 自定义安装 oracle.install.db.DBA_GROUP=dba //142行 dba用户组 oracle.install.db.OPER_GROUP=oinstall //147行 oper用户组 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 数据库类型 oracle.install.db.config.starterdb.globalDBName=orcl //165行 globalDBName oracle.install.db.config.starterdb.SID=orcl //170行 SID oracle.install.db.config.starterdb.memoryLimit=512 //200行 自动管理内存的最小内存(M) oracle.install.db.config.starterdb.password.ALL=oracle //233行 设定所有数据库用户使用同一个密码 DECLINE_SECURITY_UPDATES=true //385行 设置安全更新

静默安装oracle /u01/OraDB12c/database/runInstaller -silent -responseFile /u01/myinstall/db_install.rsp 安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。 查看安装日志信息了解安装进度  cd $ORACLE_BASE/oraInventory/logs tail -f install....log 出现类似如下提示表示安装完成: #------------------------------------------------------------------- ... /u01/app/oracle/product/11.2.0/db_1/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 continue   Successfully Setup Software. #------------------------------------------------------------------- 如果执行安装命令失败的,失败错误:

-ignorePrereq命令,就可以了,忽略掉了

/u01/OraDB12c/database/runInstaller -ignorePrereq -silent -responseFile /u01/myinstall/db_install.rap

使用root用户执行root.sh su root /u01/app/oracle/product/11.2.0/db_1/root.sh 增加oracle环境变量 su - oracle vi ~/.bash_profile 在最后加上以下内容 export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export TNS_ADMIN=$ORACLE_HOME/network/admin export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib export ORACLE_OWNER=oracle export SPFILE_PATH=$ORACLE_HOME/dbs export ORA_NLS10=$ORACLE_HOME/nls/data export DISPLAY=172.20.1.1:1.0 使设置生效 source /home/oracle/.bash_profile

静默安装监听 netca.rsp 不用修改,默认就行 su – oracle /u01/app/oracle/product/11.2.0/db_1/bin/netca -silent -responsefile /u01/myinstall/netca.rsp 监听过程中可能会报错,如下: 执行yum install libXp* 再次执行监听命令。

静默dbca建库 vi /u01/OraDB12c/database/response/dbca.rsp SYSPASSWORD = "2018@Oracle" SYSTEMPASSWORD = SYSMANPASSWORD = DBSNMPPASSWORD = 修改这四个选项,建议设置一致

$ORACLE_HOME/bin/dbca -silent -responsefile /u01/myinstall/dbca.rsp

查看进程: ps -ef | grep tnslsnr

用sqlplus访问 安装成功

如果是图形界面安装的话,可能会出现消息框变成一条竖线 首先需要准备jdk 执行:./runInstaller -jreLoc /etc/alternatives/jre_1.8.0可以解决

还有一个比较容易出错的地方是: 如果出现这个错误,需要修改一下两个文件: 该软件包包含一个静态链接库:/usr/lib64/libc.a 修改/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,将 ctxhx: $(CTXHXOBJ)       $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) 修改为: ctxhx: $(CTXHXOBJ)       -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a 点击Retry继续安装。接着又提示”Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk.' ,解决方法:在makefile中添加链接libnnz11库的参数 修改/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk,将 $(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11 点击Retry继续安装。 安装成功!

可视化安装步骤可以参考: https://www.linuxidc.com/Linux/2017-06/144630.htm