bco 发表于 2018-9-13 07:46:08

静默安装oracle 11G

  1、下载:在Oracle官网上下载64位Linux Oracle 11g 的安装包,系统环境是Redhat5.4
  linux.x64_11gR2_database_1of2.zip
  linux.x64_11gR2_database_2of2.zip
  2、上传:用WinSCP软件将windows下的Oracle安装程序传到Linux下,很方便的说。
  3、Package安装检查:
  #rpm -q \
  binutils\
  compat-libstdc++-33\
  elfutils-libelf\
  elfutils-libelf-devel\
  expat\
  gcc\
  gcc-c++\
  glibc\
  glibc-common\
  glibc-devel\
  glibc-headers\
  libaio\
  libaio-devel\
  libgcc\
  libstdc++\
  libstdc++-devel\
  make\
  pdksh\
  sysstat\
  unixODBC\
  unixODBC-devel | grep "not installed"
  注意:要下载64位的只有个别的包,比如libaio、unixODBC等,但是我这里竟然对libaio的32和64包都需要,没有还不行,奇了怪了。
  4、增加数据库组和用户:
  # 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,asmdbaoracle -d/home/oracle(oinstall 为主要组,确保/home/oracle原不存在)
  # id oracle(记住oracle用户的uid和gid)
  uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),504(asmdba)
  # passwd oracle
  5、调整OS内核参数:略
  6、修改/etc/security/limits.conf、/etc/pam.d/login、/etc/profile(在修改它的时候注意shell的格式)
  7、建立必需目录:
  # more /etc/oratab(确认原来是否存在Oracle主目录)
  # more /etc/oraInst.loc(确认原来是否存在Oracle产品清单目录)
  # mkdir -p /u01/app/oracle/(Oracle 基础目录, 一般为/mount_point/app/oracle_owner)
  # chown -R oracle:oinstall /wangnc/oracle
  chown -R oracle:oinstall /u01
  chown -R oracle:oinstall /u02
  chown -R oracle:oinstall /u03
  chown -R oracle:oinstall /u04
  # chmod -R 775 /wangnc/oracle
  chmod -R 775 /u01
  chmod -R 775 /u02
  chmod -R 775 /u03
  chmod -R 775 /u04
  8、设置Oracle用户环境变量:
  如果服务器有多网卡, 注意设置ORACLE_HOSTNAME为某网卡IP对应的主机名, 参照/etc/hosts文件.
  # su - oracle
  $ vi ~/.bash_profile
  umask 022
  export ORACLE_HOSTNAME=rhel5
  export ORACLE_BASE=/u01/app/oracle
  export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
  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_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
  9、解压缩Oracle文件:
  $ cd /wangnc/oracle/11g
  $ unzip linux*_11gR2_database_1of2.zip-d /u01(解压到/u01目录下,可选目录)
  $ unzip linux*_11gR2_database_2of2.zip-d /u01
  $ cd /u01/database
  $ export DISTRIB=`pwd`
  在解压后oracle软件的response目录里有各种响应文件的模版.
  10、修改响应文件db_install.rsp
  #以下参数不要更改
  oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
  oracle.install.option=INSTALL_DB_SWONLY
  DECLINE_SECURITY_UPDATES=true
  #以下参数根据实际情况更改,一般也无需更改
  UNIX_GROUP_NAME=oinstall
  INVENTORY_LOCATION=/u01/app/oracle/oraInventory
  SELECTED_LANGUAGES=en,zh_CN,zh_TW
  ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
  ORACLE_BASE=/u01/app/oracle
  oracle.install.db.InstallEdition=EE
  oracle.install.db.isCustomInstall=true
  oracle.install.db.customComponents=oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv: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
  #------------------------
  各参数含义如下:
  -silent表示以静默方式安装,不会有任何提示
  -force允许安装到一个非空目录
  -noconfig表示不运行配置助手netca
  -responseFile表示使用哪个响应文件,必需使用绝对路径
  oracle.install.responseFileVersion响应文件模板的版本,该参数不要更改
  oracle.install.option安装选项,本例只安装oracle软件,该参数不要更改
  DECLINE_SECURITY_UPDATES是否需要在线安全更新,设置为false,该参数不要更改
  ORACLE_HOSTNAME安装主机名
  UNIX_GROUP_NAMEoracle 用户用于安装软件的组名
  INVENTORY_LOCATIONoracle产品清单目录
  SELECTED_LANGUAGESoracle运行语言环境,一般包括引文和简繁体中文
  ORACLE_HOMEOracle 安装目录
  ORACLE_BASEoracle 基础目录
  oracle.install.db.InstallEdition安装版本类型,一般是企业版
  oracle.install.db.isCustomInstall是否定制安装,默认Partitioning,OLAP,RAT都选上了
  oracle.install.db.customComponents定制安装组件列表:除了以上默认的,可加上Label Security和Database Vault
  oracle.install.db.DBA_GROUPoracle用户用于授予OSDBA权限的组名
  oracle.install.db.OPER_GROUPoracle用户用于授予OSOPER权限的组名
  11、开始静默安装:
  ./runInstaller -silent -force -responseFile /u01/database/response/db_install.rsp
  在此期间如果出过无数个问题,反正都是环境不对,有几个是软件包有问题,有一个swap空间太小,反正日志就是了,另外可能会有两个警告,说产品清单目录和基目录位置不对,这个不用管它。
  如果顺利的话,不久后能看到下面的提示:
  #-------------------------------------------------------------------
  ...
  /u01/app/oracle/oraInventory/orainstRoot.sh
  /u01/app/oracle/product/11.2.0/dbhome_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.
  #-------------------------------------------------------------------
  安装期间查看安装日志信息了解安装进度
  $ cd $ORACLE_BASE/oraInventory/logs
  $ tail -100f installActions*.log
  安装的软件信息会写入inventory.xml文件, 如果需重运行则把该文件的对应安装条目信息删除即可:
  $ vi $ORACLE_BASE/oraInventory/ContentsXML/inventory.xml
  12、在root账户下运行下面两个脚本:
  /u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh  一定要记得运行,不然会出现ORA-09925: Unable to create audit trail file的错误,plsql都启动不了,我当时就遇到了,很郁闷,第二个脚本执行完以后没有什么返回信息,建议去日志里,成功与否里面都说得很清楚。
  13、静默配置监听:
  通过response文件运行netca, 生成sqlnet.ora和listener.ora文件, 位于$ORACLE_HOME/network/admin目录下:
  # su - oracle
  $ $ORACLE_HOME/bin/netca /silent /responsefile /u01/database/response/netca.rsp
  $ ll $ORACLE_HOME/network/admin/*.ora
  $ lsnrctl status
  执行完后, 监听就已经启动了, 默认端口是1521, 默认是动态监听, 只要实例启动了就会监听到.
  (当时因为没配环境变量,监听程序一直启动不起来,郁闷了老半天,低级错误啊。。。。)
  13、静默建库:
  先配置响应文件:
  $ vi /u01/database/response/dbca.rsp
  #--------------------------------------------------------------------
  #以下参数不要更改
  
  RESPONSEFILE_VERSION = "11.2.0"
  OPERATION_TYPE = "createDatabase"
  #以下参数必须设置
  
  GDBNAME = "ORCL.LK"
  TEMPLATENAME = "General_Purpose.dbc"
  #以下参数不设置则使用默认值,建议设置
  CHARACTERSET = "ZHS16GBK"
  TOTALMEMORY = "1024"
  #--------------------------------------------------------------------
  种子数据库和控制文件位于$ORACLE_HOME/assistants/dbca/templates/下, 即Seed_Database.dfb和 Seed_Database.ctl文件, 实际上建库就是基于通过rman恢复种子数据库和控制文件来实现的.
  $ $ORACLE_HOME/bin/dbca -silent-responseFile/u01/database/response/dbca.rsp
  Enter SYS user password:
  < 输入sys用户密码>
  Enter SYSTEM user password:
  < 输入system用户密码>
  Copying database files
  ...
  37% complete
  Creating and starting Oracle instance
  ...
  62% complete
  Completing Database Creation
  ...
  100% complete
  Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCL/ORCL.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%
  14、建库后实例检查
  $ ps -ef | grep ora_ | grep -v grep | wc -l
  $ ps -ef | grep ora_ | grep -v grep
  15、在dbs下拷贝一份init.ora到initORCL.ora
  16、startup 可能会报错说控制文件不对:
  SQL> startup
  ORACLE instance started.
  Total System Global Area 217157632 bytes
  Fixed Size 2211928 bytes
  Variable Size 159387560 bytes
  Database Buffers 50331648 bytes
  Redo Buffers 5226496 bytes
  ORA-00205: error in identifying control file, check alert log for more info
  这个很好办:alter system set control_files='/u01/app/oracle/oradata/ORCL/control01.ctl' scope=spfile;
  然后shutdown immediate => startup

页: [1]
查看完整版本: 静默安装oracle 11G