环境 Red Hat 6.5 操作系统 Oracle11g 安装包 下载Oracle11g安装包 在官网 。本文安装的是Oracle 11gR2。
安装准备(root用户下) 检查软件依赖包是否安装 1 rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel 
上面哪个包显示XXX is not installed,就使用下面的命令安装必要的RPM包
或者你如果嫌麻烦,可以直接执行如下命令:
1 yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel 
创建用户组及用户,设置oracle密码 1 2 3 groupadd oinstall && groupadd dba useradd -g oinstall -G dba oracle passwd oracle 
修改hosts文件 在 127.0.0.1 行后面 添加你的主机名称(例如我的主机名为oracle) 在 ::1 行后面 添加你的主机名称(例如我的主机名为oracle)
设置内核参数 在打开的文件底部添加下面内容
1 2 3 4 5 6 7 8 9 10 11 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 = 1048586 
设置PAM资源限制 1 vim /etc/security/limits.conf 
在打开的文件底部添加下面内容
1 2 3 4 5 oracle soft nproc 10240 oracle hard nproc 65535 oracle soft nofile 10240 oracle hard nofile 65536 oracle soft stack 10240 
创建oracle11g安装目录 1 2 3 4 5 6 mkdir -p /home/oracle/oracle_11g/app/oracle/product/11.2.0/dbhome_1/ chown -R oracle:oinstall /home/oracle/oracle_11g/app/ chmod -R 775 /home/oracle/oracle_11g/app/ mkdir -p /home/oracle/oracle_11g/oraInventory/ chown -R oracle:oinstall /home/oracle/oracle_11g/oraInventory/ chmod -R 775 /home/oracle/oracle_11g/oraInventory/ 
修改用户环境变量 1 vim /home/oracle/.bash_profile 
在打开的文件中添加下面内容
1 2 3 4 5 6 7 umask  022export  ORACLE_BASE=/home/oracle/oracle_11g/appexport  ORACLE_HOME=$ORACLE_BASE /oracle/product/11.2.0/dbhome_1export  ORACLE_SID=orcl export  PATH=$PATH :HOME/bin:$ORACLE_HOME /binexport  ORACLE_HOME_LISTENERexport  ORACLE_UNQNAME=$ORACLE_SID 
ps:ORACLE_SID=orcl 这里是用户自己定义的数据库名称,后面配置需要用到,设置后就不能再改。
1 source  /home/oracle/.bash_profile
修改用户验证选项 在打开的文件中添加下面内容(root用户)
1 2 session required /lib64/security/pam_limits.so session required pam_limits.so 
解压oracle软件 1 2 3 4 cd  /home/oracle/oracle_11g/appunzip linux.x64_11gR2_database_1of2.zip  unzip linux.x64_11gR2_database_2of2.zip  chown -R oracle:oinstall /home/oracle/oracle_11g/app/database 
配置安装(oracle用户下) 切换用户 #####备份应答文件
1 2 3 4 5 cd  /home/oracle/oracle_11g/app/database/responsemkdir rsp_bak ls dbca.rsp db_install.rsp netca.rsp rsp_bak cp *.rsp ./rsp_bak/ 
删除应答文件中的以#开头的注释行和空行 1 sed -i 's/^#.*$//g'  *.rsp && sed -i '/^$/d'  *.rsp 
配置db_install.rsp 将以下配置添加到db_install.rsp文件中(下面的注释是对其上面参数的解释,拷贝时候一定要去掉里面的汉字注释,否则可能无法正常安装)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=oracle UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/home/oracle/oracle_11g/oraInventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOME=/home/oracle/oracle_11g/app/oracle/product/11.2.0/dbhome_1 ORACLE_BASE=/home/oracle/oracle_11g/app oracle.install.db.InstallEdition=EE oracle.install.db.isCustomInstall=false  oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0 oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oinstall oracle.install.db.CLUSTER_NODES= oracle.install.db.config.starterdb.type=GENERAL_PURPOSE oracle.install.db.config.starterdb.globalDBName=orcl   oracle.install.db.config.starterdb.SID=orcl oracle.install.db.config.starterdb.characterSet=AL32UTF8 oracle.install.db.config.starterdb.memoryOption=true  oracle.install.db.config.starterdb.memoryLimit=1024 oracle.install.db.config.starterdb.installExampleSchemas=false  oracle.install.db.config.starterdb.enableSecuritySettings=true  oracle.install.db.config.starterdb.password.ALL=123456 oracle.install.db.config.starterdb.password.SYS= oracle.install.db.config.starterdb.password.SYSTEM= oracle.install.db.config.starterdb.password.SYSMAN= oracle.install.db.config.starterdb.password.DBSNMP= oracle.install.db.config.starterdb.control=DB_CONTROL oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL= oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false  oracle.install.db.config.starterdb.dbcontrol.emailAddress= oracle.install.db.config.starterdb.dbcontrol.SMTPServer= oracle.install.db.config.starterdb.automatedBackup.enable=false  oracle.install.db.config.starterdb.automatedBackup.osuid= oracle.install.db.config.starterdb.automatedBackup.ospwd= oracle.install.db.config.starterdb.storageType= oracle.install.db.config.starterdb.fileSystemStorage.dataLocation= oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation= oracle.install.db.config.asm.diskGroup= oracle.install.db.config.asm.ASMSNMPPassword= MYORACLESUPPORT_USERNAME= MYORACLESUPPORT_PASSWORD= SECURITY_UPDATES_VIA_MYORACLESUPPORT= DECLINE_SECURITY_UPDATES=true  PROXY_HOST= PROXY_PORT= PROXY_USER= PROXY_PWD= 
执行安装 1 2 cd  /home/oracle/oracle_11g/app/database./runInstaller -silent -force -noconfig -responseFile /home/oracle/oracle_11g/app/database/response/db_install.rsp 
silent:对于无提示模式下的操作, 输入内容可以是一个响应文件, 也可以是命令行变量值对的列表。 force:允许在非空目录中进行无提示模式的安装。 noconfig:不执行配置工具 responseFile:指定要使用的响应文件和路径
此处遇到2个错误 1.could not initialize class sun.awt. x11.xtoolkit 解决:
1 2 3 4 su root export  DISPLAY=:0.0xhost + access control disabled, clients can connect from any host 
如果xhost命令无法执行,安装对应软件即可
2.[FATAL] [INS-13013] 目标环境不满足一些必需要求 对应日志文件仔细检查不满足项,发现是pdksh包不对 原因:Red Hat 中redhat-release已经被redhat-release-server包所取代,所以安装软件会无法识别Linux的版本。这时OUI会默认的使用Linux4的前置条件来检查现有的操作系统情况。 解决:
1 vim /home/oracle/oracle_11g/app/database/stage/cvu/cv/admin/cvu_config 
CV_ASSUME_DISTID=OEL4修改为CV_ASSUME_DISTID=OEL6
控制台直到出现以下提示则表示安装完成:
配置权限和安装库()root用户下 运行orainstRoot.sh 1 2 su - root  /home/oracle/oracle_11g/oraInventory/orainstRoot.sh 
脚本执行后主要进行的操作: 更改权限/home/oracle/oracle_11g/oraInventory. 添加组的读取和写入权限。 删除全局的读取, 写入和执行权限。 更改组名/home/oracle/oracle_11g/oraInventory 到 oinstall.
运行root.sh 1 /home/oracle/oracle_11g/app/oracle/product/11.2.0/dbhome_1/root.sh 
Check /home/oracle/oracle_11g/app/oracle/product/11.2.0/dbhome_1/install/root_m22p135_2017-08-07_16-39-28.log for the output of root script
添加oracle环境变量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 vim /home/oracle/.bash_profile export  TNS_ADMIN=$ORACLE_HOME /network/adminexport  PATH=.:${PATH} :$HOME /bin:$ORACLE_HOME /binexport  PATH=${PATH} :/usr/bin:/bin:/usr/bin/X11:/usr/local /binexport  LD_LIBRARY_PATH=${LD_LIBRARY_PATH} :$ORACLE_HOME /libexport  LD_LIBRARY_PATH=${LD_LIBRARY_PATH} :$ORACLE_HOME /oracm/libexport  LD_LIBRARY_PATH=${LD_LIBRARY_PATH} :/lib:/usr/lib:/usr/local /libexport  CLASSPATH=${CLASSPATH} :$ORACLE_HOME /JREexport  CLASSPATH=${CLASSPATH} :$ORACLE_HOME /JRE/libexport  CLASSPATH=${CLASSPATH} :$ORACLE_HOME /jlibexport  CLASSPATH=${CLASSPATH} :$ORACLE_HOME /rdbms/jlibexport  CLASSPATH=${CLASSPATH} :$ORACLE_HOME /network/jlibexport  LIBPATH=${CLASSPATH} :$ORACLE_HOME /lib:$ORACLE_HOME /ctx/libexport  ORACLE_OWNER=oracleexport  SPFILE_PATH=$ORACLE_HOME /dbsexport  ORA_NLS10=$ORACLE_HOME /nls/datasource  /home/oracle/.bash_profile
静默配置监听 1 /home/oracle/oracle_11g/app/oracle/product/11.2.0/dbhome_1/bin/netca -silent -responseFile /home/oracle/oracle_11g/app/database/response/netca.rsp 
****DISPLAY environment variable not set! Oracle Net Configuration Assistant is a GUI tool which requires that DISPLAY specify a location where GUI tools can display. Set and export DISPLAY, then re-run.
解决方法:切换root下
     export DISPLAY=127.0.0.1:1.0 
静默安装数据库 1 2 3 4 5 6 7 8 9 10 11 12 13 14 echo > /home/oracle/oracle_11g/app/database/response/dbca.rspvim /home/oracle/oracle_11g/app/database/response/dbca.rsp  [GENERAL] RESPONSEFILE_VERSION = "11.2.0"  OPERATION_TYPE = "createDatabase"  [CREATEDATABASE] GDBNAME = "orcl"  SID = "orcl"  TEMPLATENAME = "General_Purpose.dbc"  CHARACTERSET="AL32UTF8"  NATIONALCHARACTERSET="UTF8"  SYSPASSWORD="123456"  SYSTEMPASSWORD="123456"  
1 /home/oracle/oracle_11g/app/oracle/product/11.2.0/dbhome_1//bin/dbca -silent -responseFile /home/oracle/oracle_11g/app/database/response/dbca.rsp 
控制台输出:
测试数据库 连接成功后,输入sql语句测试
监听检查 
启动监听:lsnrctl start 查看监听:lsnrctl status 停止监听:lsnrctl stop
实例应该被动态注册到监听程序了. 到此oracle安装建库完毕!,在oracle用户下使用sqlplus登录数据库查看数据库是否安装成功!
参考资料 1.Centos下静默(命令行)方式安装Oracle 11g  2.在Centos安装oracle.x64_11gR2  3.OracleDatabase安装在Linux上报错pdksh的问题