qianqianling 发表于 2018-9-10 10:20:11

Linux下静默安装Oracle 11g

  
  Linux下静默安装Oracle 11g
首先把防火墙、SElinux关掉
  Serviceiptables stop    iptables服务停掉
  Vim/etc/selinux/config
  SELINUX=enforcing改成 SELINUX=disabled(重启生效)
  setenforce 0          / /临时关闭,不用重启
  同时主机名称要提前设置好hostname;
  1) 检查系统软件包
  binutils-2.15.92.0.2-13.EL4
  compat-db-4.1.25-9
  compat-libstdc++-296-2.96-132.7.2
  control-center-2.8.0-12
  gcc-3.4.3-22.1.EL4
  gcc-c++-3.4.3-22.1.EL44
  glibc-2.3.4-2.9
  glibc-common-2.3.4-2.9
  gnome-libs-1.4.1.2.90-44.1
  libstdc++-3.4.3-22.1
  libstdc++-devel-3.4.3-22.1
  make-3.80-5
  pdksh-5.2.14-30
  sysstat-5.0.5-1
  xscreensaver-4.18-5.rhel4.2
  libaio-0.3.103-3
  使用rpm检查哪些依赖包没有安装
  rpm -q binutils compat-libstdc++-33 elfutils-libelfelfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-develglibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel makesysstat unixODBC unixODBC-devel
  如果依赖包有显示is not installed(没安装),就用yum install 命令安装
  yum install compat-db compat-libstdc++ control-centergcc gcc-c++ glibc glibc-common gonme-libs libstdc++ libstdc++-devel make pdkshsysstat libai
  #rpm -qa gcc*
  #rpm -Uvh --force binutils-2.15.92.0.2-13.0.0.0.2.x86_64.rpm
  2)创建安装目录(可根据情况,选择比较多空间的目录创建)
  mkdir -p /u01/app
  chown -R oracle:oinstall /u01/app
  chmod -R 775 /u01/app
  3) 创建用户和组
  # /usr/sbin/groupadd oinstall
  # /usr/sbin/groupadd dba
  # /usr/sbin/useradd -g oinstall -G dba -d/u01/app/oracle oracle
  设置oracle用户密码
  # passwd oracle
  4)配置核心参数
  vim /etc/sysctl.conf
  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 = 1048576
  修改后,使设置生效
  /sbin/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
  lsmod|grep bridge
  /sbin/sysctl –p
  5)修改用户限制
  vim /etc/security/limits.conf
  oracle          soft    nproc   2047
  oracle          hard    nproc   16384
  oracle          soft    nofile1024
  oracle          hard    nofile65536
  6)在/etc/pam.d/login 文件中,使用文本编辑器或vi命令增加或修改以下内容
  vim /etc/pam.d/login
  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
  7)检查交换分区和内存的大小
  # grep SwapTotal /proc/meminfo
  # grep MemTotal /proc/meminfo
  tmp >=400m
  8)设置oracle环境变量
  su – oracle
  vim.bash_profile
  export ORACLE_BASE=/u01/app/oracle
  export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
  export ORACLE_SID=orcl
  export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
  export NLS_LANG=AMERICAN_AMERICA.UTF8
  检查环境变量:
  env
  同时,在使用静默安装的时候会检查DISPLAY的设置,如果经常说检查DISPLAY不行的话,到root用户下执行“xhost + 你的ip:0.0“
  重新加载.bash_profile文件
  source .bash_profile
  9)解压oracle安装文件
  unzip linux.x64_11gR2_database_1of2.zip
  unzip linux.x64_11gR2_database_2of2.zip
  10)复制响应文件模板
  mkdir etc
  cp /home/oracle/database/response/* /u01/app/oracle/etc
  设置响应文件权限
  su - root
  chmod 700 /u01/app/oracle/etc/*.rsp(注意所有者,oinstall)
  11)执行安装脚本
  $./runInstaller
静默安装:
  $ vi $DISTRIB/db_swonly.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/db_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_NAME oracle         用户用于安装软件的组名
  INVENTORY_LOCATION             oracle产品清单目录
  SELECTED_LANGUAGES             oracle运行语言环境,一般包括引文和简繁体中文
  ORACLE_HOME                  Oracle安装目录
  ORACLE_BASE                  oracle基础目录
  oracle.install.db.InstallEdition      安装版本类型,一般是企业版
  oracle.install.db.isCustomInstall       是否定制安装,默认Partitioning,OLAP,RAT都选上了
  oracle.install.db.customComponents   定制安装组件列表:除了以上默认的,可加上Label Security和DatabaseVault
  oracle.install.db.DBA_GROUP             oracle用户用于授予OSDBA权限的组名
  oracle.install.db.OPER_GROUP            oracle用户用于授予OSOPER权限的组名
  也可使用有图形的机器,使用图形界面来生成responsfile:
  $ ./runInstaller &
  一步步设置到Summary页, 然后点击SaveResponse File按钮, 选择合适的存放路径并Finish后, 回到Summary页, 点击Cancel退出OUI
开始静默安装
  1) 通过response文件静默安装, 大概2-3分钟:
  $ ./runInstaller -silent -force -noconfig-responseFile /u01/app/oracle/etc
  安装中,如果提示不必理会,此时安装程序仍在进行,如果出现,则安装程序已经停止了,到日志目录下查找错误日志。
  控制台直到出现以下提示则表示安装完成:
  #-------------------------------------------------------------------
  $ The followingconfiguration scripts need to be executed as the "root" user.
  #!/bin/sh
  #Root scriptsto run
  /u01/app/oracle/oraInventory/orainstRoot.sh
  /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.
  #-------------------------------------------------------------------
  2) 安装期间查看安装日志信息了解安装进度:
  $ cd $ORACLE_BASE/oraInventory/logs
  $ tail -f installActions*.log
  3) 安装的软件信息会写入inventory.xml文件, 如果需重运行则把该文件的对应安装条目信息删除即可:
  $ vi$ORACLE_BASE/oraInventory/ContentsXML/inventory.xml
  若本机第一次安装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/db_1/root.sh
  # more /etc/oratab
静默配置监听
  通过response文件运行netca, 生成sqlnet.ora和listener.ora文件, 位于$ORACLE_HOME/network/admin目录下:
  # su - oracle
  $ $ORACLE_HOME/bin/netca /silent /responsefile$DISTRIB/response/netca.rsp
  $ ll $ORACLE_HOME/network/admin/*.ora
  $ lsnrctl status
  执行完后, 监听就已经启动了, 默认端口是1521, 默认是动态监听,只要实例启动了就会监听到.
静默建库
  1) 生成响应文件模板:
  $ vi /u01/app/oracle/etc/db_create.rsp
  #--------------------------------------------------------------------
  #以下参数不要更改
  
  RESPONSEFILE_VERSION = "11.2.0"
  OPERATION_TYPE = "createDatabase"
  #以下参数必须设置
  
  GDBNAME = "orcl.LK"
  TEMPLATENAME = "General_Purpose.dbc"
  #以下参数不设置则使用默认值,建议设置
  CHARACTERSET = "AMERICAN_AMERICA.UTF8"
  TOTALMEMORY = "1024"
  #--------------------------------------------------------------------
  2) dbca静默建库, 大概3-4分钟:
  种子数据库和控制文件位于$ORACLE_HOME/assistants/dbca/templates/下,即Seed_Database.dfb和Seed_Database.ctl文件, 实际上建库就是基于通过rman恢复种子数据库和控制文件来实现的.
  $ $ORACLE_HOME/bin/dbca -silent -responseFile /u01/app/oracle/etc/db_create.rsp
  Enter SYS user password:
  
  Enter SYSTEM user password:
  
  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%
  3) 安装期间查看日志信息了解进度:
  $ tail -f$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
  oracle   1855   10 10:07 ?      00:00:00 ora_pmon_ORCL
  oracle   1857   10 10:07 ?      00:00:00 ora_vktm_ORCL
  oracle   1861   10 10:07 ?      00:00:00 ora_gen0_ORCL
  oracle   1863   10 10:07 ?      00:00:00 ora_diag_ORCL
  oracle    1865   1010:07 ?      00:00:00 ora_dbrm_ORCL
  oracle   1867   10 10:07 ?      00:00:00 ora_psp0_ORCL
  oracle   1869   10 10:07 ?      00:00:00 ora_dia0_ORCL
  oracle   1871   10 10:07 ?      00:00:00 ora_mman_ORCL
  oracle   1873   10 10:07 ?      00:00:00 ora_dbw0_ORCL
  oracle   1875   10 10:07 ?      00:00:00 ora_lgwr_ORCL
  oracle   1877   10 10:07 ?      00:00:00 ora_ckpt_ORCL
  oracle   1879   10 10:07 ?      00:00:00 ora_smon_ORCL
  oracle   1881   10 10:07 ?      00:00:00 ora_reco_ORCL
  oracle   1883   10 10:07 ?      00:00:00 ora_mmon_ORCL
  oracle   1885   10 10:07 ?      00:00:00 ora_mmnl_ORCL
  oracle   1887   10 10:07 ?      00:00:00 ora_d000_ORCL
  oracle   1889   10 10:07 ?      00:00:00 ora_s000_ORCL
  oracle   1969   10 10:07 ?      00:00:00 ora_qmnc_ORCL
  oracle   1985   10 10:07 ?      00:00:00 ora_cjq0_ORCL
  oracle   2003   10 10:08 ?      00:00:00 ora_q000_ORCL
  oracle   2005   10 10:08 ?      00:00:00 ora_q001_ORCL
  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:>  Copyright (c) 1982, 2009, Oracle.All rights reserved.
  Connected to:

  Oracle Database 11g Enterprise Edition>  With the Partitioning, Oracle Label Security, OLAP,Data Mining,
  Oracle Database Vault and Real Application Testingoptions

  $SQL>>  6) 改为归档模式并重启
  $ sqlplus / as sysdba
  SQL> shutdown immediate;
  SQL> startup mount;

  SQL>>
  SQL>>
  SQL>>  SQL> execute utl_recomp.recomp_serial(); (重新编译所有可能失效对象)

  SQL>>  到此建库完毕!
  7) 默认安装的数据库用户:
  SQL> set lines 256 pages 500
  SQL> selectUSER_ID,USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE from dba_users order by1;
  USER_IDUSERNAME                      ACCOUNT_STATUS                   DEFAULT_TABLESPACE
  ---------- -------------------------------------------------------------- ------------------------------
  0SYS                            OPEN                           SYSTEM
  5SYSTEM                         OPEN                           SYSTEM
  9OUTLN                        EXPIRED& LOCKED               SYSTEM
  14DIP                            EXPIRED& LOCKED               USERS
  21ORACLE_OCM                     EXPIRED& LOCKED               USERS
  30DBSNMP                         EXPIRED& LOCKED               SYSAUX
  31APPQOSSYS                      EXPIRED& LOCKED               SYSAUX
  32WMSYS                        EXPIRED& LOCKED               SYSAUX
  42EXFSYS                         EXPIRED& LOCKED               SYSAUX
  43CTXSYS                         EXPIRED& LOCKED               SYSAUX
  45XDB                            EXPIRED& LOCKED               SYSAUX
  46ANONYMOUS                      EXPIRED& LOCKED               SYSAUX
  53ORDSYS                         EXPIRED& LOCKED               SYSAUX
  54ORDDATA                        EXPIRED& LOCKED               SYSAUX
  55ORDPLUGINS                     EXPIRED& LOCKED               SYSAUX
  56SI_INFORMTN_SCHEMA             EXPIRED& LOCKED               SYSAUX
  57MDSYS                        EXPIRED& LOCKED               SYSAUX
  61OLAPSYS                        EXPIRED& LOCKED               SYSAUX
  65MDDATA                         EXPIRED& LOCKED               USERS
  67SPATIAL_WFS_ADMIN_USR          EXPIRED& LOCKED               USERS
  70SPATIAL_CSW_ADMIN_USR          EXPIRED& LOCKED               USERS
  72SYSMAN                         EXPIRED& LOCKED               SYSAUX
  74MGMT_VIEW                      EXPIRED& LOCKED               SYSTEM
  75 FLOWS_FILES                  EXPIRED & LOCKED               SYSAUX
  76APEX_PUBLIC_USER               EXPIRED& LOCKED               USERS
  78APEX_030200                  EXPIRED& LOCKED               SYSAUX
  79 OWBSYS                         EXPIRED &LOCKED               SYSAUX
  83OWBSYS_AUDIT                   EXPIRED& LOCKED               SYSAUX
  84SCOTT                        EXPIRED& LOCKED               USERS
  2147483638 XS$NULL                     EXPIRED &LOCKED               USERS
  30 rows selected.
  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_schemasfrom dba_registry order by 1;
  COMP_ID COMP_NAME                        VERSION      SCHEMA       OTHER_SCHEMAS
  -------- ----------------------------------------------- ------------ ---------------------------------------------
  AMD      OLAPCatalog                     11.2.0.1.0   OLAPSYS
  APEX   OracleApplication Express         3.2.1.00.10APEX_030200FLOWS_FILES
  APS      OLAPAnalytic Workspace            11.2.0.1.0   SYS
  CATALOGOracleDatabase Catalog Views      11.2.0.1.0   SYS
  CATJAVAOracleDatabase Java Packages      11.2.0.1.0   SYS
  CATPROCOracleDatabase Packages and Types 11.2.0.1.0   SYS          APPQOSSYS,DBSNMP,DIP,ORACLE_OCM,OUTLN,SYSTEM
  CONTEXTOracleText                         11.2.0.1.0   CTXSYS
  EM       OracleEnterprise Manager          11.2.0.1.0   SYSMAN
  EXF      OracleExpression Filter         11.2.0.1.0   EXFSYS
  JAVAVM   JServerJAVA Virtual Machine       11.2.0.1.0   SYS
  ORDIM    OracleMultimedia                   11.2.0.1.0ORDSYS      MDSYS,ORDDATA,ORDPLUGINS,SI_INFORMTN_SCHEMA
  OWB   OWB                              11.2.0.1.0   OWBSYS
  OWM      OracleWorkspace Manager         11.2.0.1.0   WMSYS
  RUL      OracleRules Manager                11.2.0.1.0   EXFSYS
  SDO   Spatial                            11.2.0.1.0   MDSYS
  XDB      OracleXML Database                11.2.0.1.0   XDB          ANONYMOUS,XS$NULL
  XML      OracleXDK                         11.2.0.1.0   SYS
  XOQ      OracleOLAP API                  11.2.0.1.0   SYS
  18 rows selected.
静默删库(可选)
  1) 生成响应文件模板:
  $ vi /tmp/database/response/db_delete.rsp
  #--------------------------------------------------------------------
  #以下参数不能更改
  
  RESPONSEFILE_VERSION = "11.2.0"
  OPERATION_TYPE = "deleteDatabase"
  #以下参数根据实际情况更改
  
  SOURCEDB = "ORCL"
  #--------------------------------------------------------------------
  2) dbca静默删库, 无需手工停库, 大概1分钟:
  $ $ORACLE_HOME/bin/dbca-silent -responseFile /tmp/database/response/db_delete.rsp
  Connecting to database
  ...
  47% complete
  Updating network configuration files
  ...
  52% complete
  Deleting instance and datafiles
  ...
  100% complete
  Look at the log file"/u01/app/oracle/cfgtoollogs/dbca/ORCL.log" for further details.
  各参数含义如下:
  -silent 表示以静默方式删除
  -responseFile 表示使用哪个响应文件,必需使用绝对路径
  RESPONSEFILE_VERSION 响应文件模板的版本,该参数不要更改
  OPERATION_TYPE 安装类型,该参数不要更改
  SOURCEDB数据库名,不是全局数据库名,即不包含db_domain
  3) 删除期间查看日志信息了解进度:
  $ tail -f$ORACLE_BASE/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log
数据库的逻辑备份(导入导出)
  Oracle 11g提供了两个命令expdp、impdp,前者用来对数据库的进行逻辑备份,后者用来执行恢复操作。导出、导入操作可以在不同的Oracle 11g服务器中执行,从而便于实现数据的迁移。
  1)配置备份目录
  # mkdir /opt/mydbbackup
  # chown oracle:oinstall /opt/mydbbackup/
  # slqplus sys as sysdba
  #Enter password:                     //输入管理密码
  SQL> create DIRECTORY dmpdir AS‘/opt/mydbbackup/’;   //指定备份目录位置
  Directory created.
  SQL> grant read,write ON DIRECTORY dmpdir TO system;
  Grant successded.
  2)备份(导出)数据
  执行备份操作时,需指定备份操作用户(如system),然后结合DIRECTORY参数指定Oracle管理的备份位置,结合DUMPFILE参数指定备份文件名称。例如:以下操作将把用户system所拥有的数据导出为orc120150130.dmp文件,保存到/opt/mydbbackup/目录。
  # expdp systemDIRECTORY=dmpdir DUMPFILE=orc120150130.dmp
  # password:                            //输入管理密码
  # ls –lh /opt/mydbbackup/orc120150130.dmp
  3)恢复(导入)数据
  执行恢复操作时,同样需指定操作用户(如system),然后结合DIRECTORY参数指定Oracle管理的备份位置,结合DUMPFILE参数指定备份文件。例如,以下操作将从备份文件orc120150130.dmp中读取数据,导入到用户system所拥有的数据库中。
  #impdp systemDIRECTORY=dmpdir DUMPFILE=orc120150130.dmp REUSE_DATAFILES=Y TABLE_EXISTS_ACTION=REPLACE
  Password:                               //输入管理密码
  其中,REUSE_DATAFILES=Y表示重用原有的数据文件,TABLE_EXISTS_ACTION=REPLACE表示覆盖已存在的表。
  http://blog.itpub.net/29510932/viewspace-1135313/也可以参考这个。
  (本人新手,如有错误,欢迎指正。希望对你有所帮助,祝你成功!)

页: [1]
查看完整版本: Linux下静默安装Oracle 11g