环境 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的问题