Linux 静默安装CentOS 6.6系统上安装Oracle 11gR2(11.2.0.4)

    xiaoxiao2025-12-26  4

    本文档是Oracle Database 11.2.0.4 for CentOS 6.6 Server(x86_64平台)的静默安装指南. 所有操作无需使用图形界面. 静默安装能减少安装出错的可能性, 也能大大加快安装速度. # 后跟命令表示以操作系统下root用户操作; $ 后跟命令表示以操作系统下oracle用户操作;  1.0 安装前检查 内存大小要求  Oracle 11.2 建议内存是在2GB或者更多。 运行以下命令 : #  grep MemTotal /proc/meminfo MemTotal:       16467212 kB 交换分区要求 物理内存与swap空间之间的关系如下表所示: Available RAMSwap Space Required256 MB3 times the size of RAMBetween 256 MB and 512 MB2 times the size of RAMBetween 512 MB and 2 GB1.5 times the size of RAMBetween 2 GB and 16 GBEqual to the size of RAMMore than 16 GB16 GB 运行以下命令 # grep SwapTotal /proc/meminfo SwapTotal:      16482300 kB 操作系统版本  通过命令查看系统架构: # uname -m x86_64 查看操作系统版本命令: #cat /etc/redhat-release CentOS release 6.6 (Final) 检查防火墙是否开启  # service iptables status 关闭防火墙 # service iptables stop iptables: Flushing firewall rules:                         [  OK  ] iptables: Setting chains to policy ACCEPT: filter          [  OK  ] iptables: Unloading modules:                               [  OK  ] # chkconfig iptables off # chkconfig iptables --list iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off selinux设置“SELINUX=disabled  # vi /etc/sysconfig/selinux 1.1 上传软件 假如放在/root目录下, 可通过SecureFX或者SSH工具sftp上传数据库安装文件。 1.2 Package安装检查 # rpm -q \ binutils \ compat-libstdc++-33 \ compat-libcap1 \ gcc \ gcc-c++ \ glibc \ glibc-devel \ ksh \ libgcc \ libstdc++ \ libstdc++-devel \ libaio \ libaio-devel \ make \ elfutils-libelf-devel \ sysstat  | grep "not installed" 如果系统没有存在相关的RPM包,则通以下命令进行安装 # yum –y install  本地YUM安装(此步骤非必须) 配置yum本地安装源:  创建加载目录 # mkdir -p /mnt/cdrom 加载安装光盘 # mount /dev/cdrom /mnt/cdrom 创建一个repo文件  # mkdir backup # mv *.repo backup/ # vi /etc/yum.repos.d/oracle.repo 添加以下以下内容到oracle.repo。 [LOCAL] name=local baseurl=file:///mnt/cdrom enable=1 gpgcheck=0 按Esc退出并保存(:wq!) # yum clean all Loaded plugins: fastestmirror, refresh-packagekit, security Cleaning repos: LOCAL base extras updates Cleaning up Everything /dev/shm空间设置 # df -h /dev/shm/ # mount -t tmpfs shmfs -o size=7g /dev/shm To make this change persistent across system restarts, add an entry in /etc/fstab similar to the following: shmfs /dev/shm tmpfs size=7g 0 mount -o remount /dev/shm Linux桌面包安装   (此步骤非必须) 注:如果已经安装好Linux桌面包,此步骤可以略过。 安装桌面包 yum groupinstall "X Window System" yum groupinstall "Desktop" 更改启动模式 vi /etc/inittab 将id:3:initdefault: 修改id:5:initdefault: 其中5为X window图形界面 安装桌面右键终端: yum install nautilus-open-terminal 1.3 增加数据库组和用户 # id oracle (确认oracle用户是否存在) # /usr/sbin/groupadd oinstall (建立产品清单管理组) # /usr/sbin/groupadd dba (建立数据库安装组) # /usr/sbin/groupadd asmadmin (建立ASM管理组) # /usr/sbin/groupadd asmdba (建立Grid管理组) # /usr/sbin/useradd -g oinstall -G dba,asmdba oracle (oinstall为主要组,确保/home/oracle原不存在) # id oracle (记住oracle用户的uid和gid) uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),504(asmdba) # passwd oracle 1.4 调整OS内核参数 设置原则: kernel.shmmax 为 4GB-1byte或一半的物理内存, 哪个值更低用哪个; fs.file-max 为512 * PROCESSES. 修改/etc/sysctl.conf文件 输入命令: vi  /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件 fs.file-max = 6815744 fs.aio-max-nr = 1048576 #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 = 1048576 最后执行sysctl –p使配置生效。 如果出现以下的错误, error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key error: "net.bridge.bridge-nf-call-iptables" is an unknown key error: "net.bridge.bridge-nf-call-arptables" is an unknown key   解决方法如下: # modprobe bridge # sysctl -p (设置参数立即生效) 1.5 增加shell限制 修改/etc/security/limits.conf用户限制信息 输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。 oracle   soft    nproc    2047 oracle   hard    nproc    16384 oracle   soft    nofile     1024 oracle   hard    nofile    65536 oracle   soft    stack    10240 oracle   hard   stack    10240 修改/etc/pam.d/login文件 输入命令:vi  /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。 session   required    /lib/security/pam_limits.so session   required    pam_limits.so 修改/etc/profile文件 输入命令:vi  /etc/profile,按i键进入编辑模式,将下列内容加入该文件. if [ $USER = "oracle" ]; then   if [ $SHELL = "/bin/ksh" ]; then      ulimit -p 16384      ulimit -n 65536   else      ulimit -u 16384 -n 65536   fi fi 1.6 建立必需目录 # more /etc/oratab (确认原来是否存在Oracle主目录) # more /etc/oraInst.loc (确认原来是否存在Oracle产品清单目录) # mkdir -p /u01/app/oracle/ (Oracle基础目录, 一般为/mount_point/app/oracle_owner) 创建目录、所属关系和权限 目录的位置,根据自己的情况来定,注意磁盘空间即可。 输入命令: # mkdir -p /u01/app 更改目录属主为Oracle用户所有,输入命令: # chown -R oracle:oinstall /u01/app/ # chmod -R 775 /u01/app/ 如果服务器有多网卡, 注意设置ORACLE_HOSTNAME为某网卡IP对应的主机名, 参照/etc/hosts文件. 对/etc/hosts进行配置 在/etc/hosts文件中加入主机IP与主机名。 192.168.0.226 DBSRV01 1.7 设置oracle用户环境变量 配置Oracle用户的环境变量 首先,切换到新创建的oracle用户下, 输入:su - oracle  ,然后在/home/oracle目录输入 : vi .bash_profile 按i编辑 .bash_profile,进入编辑模式,增加以下内容: # Oracle Settings export ORACLE_HOSTNAME= iZuf6ivdq1ie5lq1vjseyiZ export ORACLE_UNQNAME= ora11g export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/ 11.2.0.4 / dbhome_1 export ORACLE_SID= ora11g export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export TMP=/tmp export TMPDIR=$TMP umask 022 1.8 解压Oracle安装文件 准备安装软件 在目录/home/oracle下输入命令: unzip  p13390677_112040_Linux-x86-64_1of7.zip unzip  p13390677_112040_Linux-x86-64_2of7.zip 解压完成后 cd 进入其解压后的目录database 1.9 生成响应文件模板 1) 方法一(推荐) $ mkdir -p scripts $ cd database $ cp -R response ../scripts/ $ cd scripts/response/ #-------------------------------------------------------------------- #以下参数不要更改 oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_SWONLY #以下参数根据实际情况更改,一般也无需更改 ORACLE_HOSTNAME=iZuf6ivdq1ie5lq1vjseyiZ UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION= /u01/app/oraInventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOME= /u01/app/oracle/product/11.2.0.4/dbhome_1 ORACLE_BASE= /u01/app/oracle oracle.install.db.InstallEdition=EE ---oracle.install.db.isCustomInstall=true oracle.install.db.optionalComponents=oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.partitioning:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0 oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oinstall DECLINE_SECURITY_UPDATES=true oracle.installer.autoupdates.option=SKIP_UPDATES 1.10 开始安装oracle软件 1) 通过response文件静默安装, 大概2-3分钟: 开始安装软件 首先按db.rsp配置好参数信息。 执行以下脚本进行静默数据库安装: $ ./runInstaller -silent -noconfig -ignorePrereq -responseFile /home/oracle/sinstall/db.rsp  控制台直到出现以下提示则表示安装完成:Starting Oracle Universal Installer... Checking Temp space: must be greater than 120 MB.   Actual 454174 MB    Passed Checking swap space: must be greater than 150 MB.   Actual 16095 MB    Passed Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-07-11_01-15-42AM.  Please wait ... $ You can find the log of this install session at:  /u01/app/oraInventory/logs/installActions2015-07-11_01-15-42AM.log The installation of Oracle Database 11g was successful. Please check '/u01/app/oraInventory/logs/silentInstall2015-07-11_01-15-42AM.log' for more details. As a root user, execute the following script(s):         1. /u01/app/oracle/product/11.2.0.4/dbhome_1/root.sh Successfully Setup Software. 2) 安装期间查看安装日志信息了解安装进度: $ cd $ORACLE_BASE/oraInventory/logs $ tail -100f installActions*.log 软件安装成功! 3) 安装的软件信息会写入inventory.xml文件, 如果需重运行则把该文件的对应安装条目信息删除即可: $ vi $ORACLE_BASE/oraInventory/ContentsXML/inventory.xml 1.11 运行orainstRoot.sh和root.sh 若本机第一次安装oracle软件, 则执行orainstRoot.sh来建立oraInst.loc文件和修改权限: $ su - # /u01/app/oracle/oraInventory/orainstRoot.sh  # more /etc/oraInst.loc 执行$ORACLE_HOME下的root.sh来建立oratab,dbhome,oraenv,coraenv文件, 如果提示则一直回车: # /u01/app/oracle/product/11.2.0/dbhome_1/root.sh # more /etc/oratab 1.1 静默配置监听 通过response文件运行netca, 生成sqlnet.ora和listener.ora文件, 位于$ORACLE_HOME/network/admin目录下: # su - oracle  $ cd $ORACLE_HOME $ netca -silent -responsefile /home/oracle/scripts/response/netca.rsp  $ ll $ORACLE_HOME/network/admin/*.ora  $ lsnrctl status  执行完后, 监听就已经启动了, 默认端口是1521, 默认是动态监听, 只要实例启动了就会监听到.    配置监听(使用默认的netca.rsp文件) netca -silent -responsefile /home/oracle/scripts/response/netca.rsp  Parsing command line arguments:     Parameter "silent" = true     Parameter "responsefile" = /home/oracle/sinstall/netca.rsp Done parsing command line arguments. Oracle Net Services Configuration: Profile configuration complete. Oracle Net Listener Startup:     Running Listener Control:        /u01/app/oracle/product/11.2.0.4/dbhome_1/bin/lsnrctl start LISTENER     Listener Control complete.     Listener started successfully. Listener configuration complete. Oracle Net Services configuration successful. The exit code is 0   默认配置的是1521的端口,可以在安装之后,手工修改端口号为1601   1.2 静默建库 1) 生成响应文件模板: $ vi $DISTRIB/db_create.rsp #--------------------------------------------------------------------  #以下参数不要更改 [GENERAL] RESPONSEFILE_VERSION = "11.2.0" OPERATION_TYPE = "createDatabase" #以下参数必须设置 [CREATEDATABASE] GDBNAME = "ora11g" SID = "ora11g" TEMPLATENAME = "General_Purpose.dbc" #以下参数不设置则使用默认值,建议设置 CHARACTERSET = "ZHS16GBK" AUTOMATICMEMORYMANAGEMENT = "TRUE" TOTALMEMORY = "12000" -------------------------------------------------------------------- 2) dbca静默建库, 大概3-4分钟: 种子数据库和控制文件位于$ORACLE_HOME/assistants/dbca/templates/下, 即Seed_Database.dfb和Seed_Database.ctl文件, 实际上建库就是基于通过rman恢复种子数据库和控制文件来实现的. 定制数据库DBCA $ dbca -silent -responsefile /home/oracle/scripts/response/dbca.rsp  Enter SYS user password:           Enter SYSTEM user password:           Copying database files 1% complete 3% complete 11% complete 18% complete 26% complete 37% complete Creating and starting Oracle instance 40% complete 45% complete 50% complete 55% complete 56% complete 60% complete 62% complete Completing Database Creation 66% complete 70% complete 73% complete 85% complete 96% complete 100% complete Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ora11g/ora11g.log" for further details. 库安装成功 各参数含义如下: -silent 表示以静默方式安装 -responseFile 表示使用哪个响应文件,必需使用绝对路径 RESPONSEFILE_VERSION 响应文件模板的版本,该参数不要更改 OPERATION_TYPE 安装类型,该参数不要更改 GDBNAME 全局数据库名,点号前面默认是db_name,点号后面默认就是db_domain TEMPLATENAME 建库模板名,参考各模板定义:$ORACLE_HOME/assistants/dbca/templates/*.dbc CHARACTERSET 字符集,默认是WE8MSWIN1252 TOTALMEMORY 实例内存,默认是服务器物理内存的40% 3) 安装期间查看日志信息了解进度: $ tail -100f $ORACLE_BASE/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log 4) 建库后实例检查 $ ps -ef | grep ora_ | grep -v grep | wc -l 21 $ ps -ef | grep ora_ | grep -v grep 5) 建库后监听检查 $ lsnrctl status Services Summary... Service "ORCL.LK" has 1 instance(s).   Instance "ORCL", status READY, has 1 handler(s) for this service... Service "ORCLXDB.LK" has 1 instance(s).   Instance "ORCL", status READY, has 1 handler(s) for this service... The command completed successfully 实例应该被动态注册到监听程序了. 如果未被动态注册到监听程序, 则可以手工注册: $ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 16 11:11:46 2009 Copyright (c) 1982, 2009, Oracle.  All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production  With the Partitioning, Oracle Label Security, OLAP, Data Mining,  Oracle Database Vault and Real Application Testing options SQL> alter system register;     6) 改为归档模式并重启 $ sqlplus / as sysdba  SQL> shutdown immediate; SQL> startup mount; SQL> alter database archivelog; SQL> alter database flashback on; (如果要启用数据库闪回功能则执行) SQL> alter database open; SQL> execute utl_recomp.recomp_serial(); (重新编译所有可能失效对象) SQL> alter system archive log current; (手工归档测试) 到此建库完毕! 7) 默认安装的数据库用户: SQL> set lines 256 pages 500 SQL> select USER_ID,USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE from dba_users order by 1;         8) 默认安装的组件: SQL> col COMP_ID format a8 col COMP_NAME format a35 col VERSION format a12 col schema format a12 col OTHER_SCHEMAS format a45 SQL> select comp_id,comp_name,version,schema,other_schemas from dba_registry order by 1;   1.3 静默删库(可选) 1) 生成响应文件模板: $ vi $DISTRIB/db_delete.rsp #-------------------------------------------------------------------- #以下参数不能更改  [GENERAL]  RESPONSEFILE_VERSION = "11.2.0"  OPERATION_TYPE = "deleteDatabase"  #以下参数根据实际情况更改  [DELETEDATABASE]  SOURCEDB = "ORCL"  #-------------------------------------------------------------------- 2) dbca静默建库, 无需手工停库, 大概1分钟: $ $ORACLE_HOME/bin/dbca -silent -responseFile $DISTRIB/db_delete.rsp Connecting to database 4% complete 9% complete 14% complete 19% complete 23% complete 28% complete 47% complete Updating network configuration files 48% complete 52% complete Deleting instance and datafiles 76% complete 100% complete Look at the log file "/app/oracle/cfgtoollogs/dbca/ora11g.log" for further details. 各参数含义如下: -silent 表示以静默方式删除  -responseFile 表示使用哪个响应文件,必需使用绝对路径 RESPONSEFILE_VERSION 响应文件模板的版本,该参数不要更改 OPERATION_TYPE 安装类型,该参数不要更改 SOURCEDB  数据库名,不是全局数据库名,即不包含db_domain 3) 删除期间查看日志信息了解进度: $ tail -100f $ORACLE_BASE/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log CREATE TABLESPACE WMSD DATAFILE '/SDS/u01/app/oracle/oradata/ora11g/wmsd.01.dbf' SIZE 100M AUTOEXTEND ON; CREATE USER CHAINWORKWMS IDENTIFIED BY Lj#2S6c DEFAULT TABLESPACE WMSD QUOTA UNLIMITED ON WMSD; GRANT CONNECT,CREATE MATERIALIZED VIEW,CREATE PUBLIC SYNONYM,CREATE JOB,CREATE INDEXTYPE,CREATE SEQUENCE,CREATE VIEW,UNLIMITED TABLESPACE,CREATE PROCEDURE,CREATE SESSION,CREATE TRIGGER,CREATE TABLE,CREATE TYPE TO CHAINWORKWMS; 参考: http://www.cnblogs.com/ivictor/p/4384583.html
    最新回复(0)