zoukankan      html  css  js  c++  java
  • oracle 11g 静默安装

    静默安装

    经常搭建Oracle测试环境,有时候觉得OUI(即图形界面)方式甚是繁琐,你得一步一步进行确认,所幸,Oracle支持静默安装。在我看来,它主要有两方面的好处:一、极大地提升了效率,尤其是批量安装。二、很多时候,只有终端环境可供使用。

    一、准备responseFile文件

        从Oracle软件中获取文件模板

    [oracle@node2 ~]$ cd database/response/
    dbca.rsp        db_install.rsp  netca.rsp

       其中database是Oracle软件解压后生成的目录。可见在response目录下有三个模板,其中dbca.rsp是用来创建数据库的。db_install.rsp是用来安装Oracle软件的。netca.rsp是用来创建监听器的。当然也可在db_install.rsp中直接创建数据库。在这里,为求方便,我们选择db_install.rsp模板一并安装软件,创建数据库。

    二、编辑responseFile文件

    复制代码
    [oracle@node2 ~]$ grep -Ev "^$|^#" db_install.rsp 
    oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
    oracle.install.option=INSTALL_DB_AND_CONFIG
    ORACLE_HOSTNAME=node2.being.com
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/u01/app/oracle/oraInventory
    SELECTED_LANGUAGES=en
    ORACLE_HOME=/u01/app/oracle/product/11.2.0.1/db_1
    ORACLE_BASE=/u01/app/oracle
    oracle.install.db.InstallEdition=EE
    oracle.install.db.EEOptionsSelection=false
    oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,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.rat:11.2.0.4.0
    oracle.install.db.DBA_GROUP=dba
    oracle.install.db.OPER_GROUP=oper
    oracle.install.db.CLUSTER_NODES=
    oracle.install.db.isRACOneInstall=
    oracle.install.db.racOneServiceName=
    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=400
    oracle.install.db.config.starterdb.installExampleSchemas=false
    oracle.install.db.config.starterdb.enableSecuritySettings=true
    oracle.install.db.config.starterdb.password.ALL=oracle
    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.automatedBackup.enable=false
    oracle.install.db.config.starterdb.automatedBackup.osuid=
    oracle.install.db.config.starterdb.automatedBackup.ospwd=
    oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
    oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata
    oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/app/oracle/fast_recovery_area
    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=
    PROXY_REALM=
    COLLECTOR_SUPPORTHUB_URL=
    oracle.installer.autoupdates.option=SKIP_UPDATES
    oracle.installer.autoupdates.downloadUpdatesLoc=
    AUTOUPDATES_MYORACLESUPPORT_USERNAME=
    AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
    复制代码

    注意部分如上所示,关于每个参数的说明,可参考模板中的解释。

    三、 静默安装

          [oracle@node2 database]$ ./runInstaller -help

          如果对runInstaller的参数不是很了解的话,可通过该命令进行查看。

    复制代码
    [oracle@node2 database]$ ./runInstaller -help
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-04-01_10-05-47PM. Please wait ...[oracle@node2 database]$ Usage: 
    runInstaller  [-options] [(<CommandLineVariable=Value>)*]
    
    Where options include:
      -clusterware oracle.crs,<crs version>  
        Version of Cluster ready services installed.
    
      -crsLocation <Path>  
        Used only for cluster installs, specifies the path to the crs home location. Specifying this overrides CRS information obtained from central inventory.
    
      -invPtrLoc <full path of oraInst.loc>  
        Unix only. To point to a different inventory location. The orainst.loc file contains:
    inventory_loc=<location of central inventory>
    inst_group=<> 
    
      -jreLoc <location>  
        Path where Java Runtime Environment is installed. OUI cannot be run without it.
    
      -logLevel <level>  
        To filter log messages that have a lesser priority level than <level>. Valid options are: severe, warning, info, config, fine, finer, finest, basic, general, detailed, trace. The use of basic, general, detailed, trace is deprecated.
    
      -paramFile <location of file>  
        Specify location of oraparam.ini file to be used by OUI.
    
      -responseFile <Path>  
        Specifies the response file and path to use.
    
      -attachHome  
        For attaching homes to the OUI inventory.
    
      -cfs  
        Indicates that the Oracle home specified is on cluster file system (shared). This is mandatory when '-local' is specified so that Oracle Universal Installer can register the home appropriately into the inventory.
    
      -clone  
        For making an Oracle Home copy match its current environment.
    
      -debug  
        For getting the debug information from OUI.
    
      -detachHome  
        For detaching homes from the OUI inventory without deleting inventory directory inside Oracle home.
    
      -enableRollingUpgrade  
        Used in cluster environment, to enable upgrade of a product on a subset of nodes (on which the product was installed). 
    
      -executeSysPrereqs  
        Execute system pre-requisite checks and exit.
    
      -force  
        Allowing silent mode installation into a non-empty directory.
    
      -help  
        Displays above usage.
    
      -ignoreSysPrereqs  
        For ignoring the results of the system pre-requisite checks.
    
      -local  
        Performs the operation on the local node irrespective of the cluster nodes specified.
    
      -printdiskusage  
        Log debug information for disk usage.
    
      -printmemory  
        Log debug information for memory usage.
    
      -printtime  
        Log debug information for time usage.
    
      -relink  
        For performing relink actions on the oracle home 
         Usage: -relink -maketargetsxml <location of maketargetsxml> [-makedepsxml <location of makedepsxml>] [name=value] 
    
      -silent  
        For silent mode operations, the inputs can be a response file or a list of command line variable value pairs.
    
      -waitforcompletion  
        Installer will wait for completion instead of spawning the java engine and exiting.
    
      -suppressPreCopyScript  
        Suppress the execution of precopy script.
    
      -acceptUntrustedCertificates  
        Accept untrusted certificates from a secure site.
    
      -suppressPostCopyScript  
        Suppress the execution of postcopy script.
    
      -noconfig  
        Do not execute config tools.
    
      -noconsole  
        For suppressing display of messages to console. Console is not allocated.
    
      -formCluster  
        To install the Oracle clusterware in order to form the cluster.
    
      -remotecp <Path>  
        Unix specific option. Used only for cluster installs, specifies the path to the remote copy program on the local cluster node.
    
      -remoteshell <Path>  
        Unix specific option. Used only for cluster installs, specifies the path to the remote shell program on the local cluster node.
    
      -executePrereqs
        To execute only the prerequisite checks.
    
      -ignorePrereq
        To ignore running the prerequisite checks.
    
      -ignoreInternalDriverError
        To ignore any internal driver errors.
    
      -downloadUpdates
        To download updates only.
    
      -showProgress
        To show the installation progress on the console. This option is supported only in case of silent installation.
    
    Command Line Variables Usage
      Command line variables are specified using <name=value>; for example:
        [ session: | compName: | compName:version: ]variableName=" valueOfVariable"]
    
       Session/Installer variables are specified using:
              [session:]varName=value
        Ex 1: session:ORACLE_HOME_NAME="OraHome"
        Ex 2: ORACLE_HOME_NAME="OraHome"
        The lookup order is session:varName then just varName. The session prefix is used to avoid ambiguity.
    
       Component variables are specified using:
              [compInternalName:[Version:]]varName
        Ex 1: oracle.comp1:1.0.1:varName="VarValue"
        Ex 2: oracle.comp1:varName="VarValue"
        The lookup order is compInternalName:Version:varName, then compInternalName:varName, then just varName.
    复制代码

        开始静默安装

        [oracle@node2 database]$ ./runInstaller -silent -ignoreSysPrereqs -showProgress -responseFile /home/oracle/db_install.rsp

        其中-silent指的是静默安装,-ignorePrereq忽略prerequisite的检查结果,showProgress显示进度,responseFile是种子文件。

    复制代码
    [oracle@node2 database]$ ./runInstaller -silent -ignorePrereq -showProgress -responseFile /home/oracle/db_install.rsp 
    Starting Oracle Universal Installer...
    
    Checking Temp space: must be greater than 120 MB.   Actual 3073 MB    Passed
    Checking swap space: must be greater than 150 MB.   Actual 3999 MB    Passed
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-04-01_10-13-42PM. Please wait ...[oracle@node2 database]$ [WARNING] [INS-32055] The Central Inventory is located in the Oracle base.
       CAUSE: The Central Inventory is located in the Oracle base.
       ACTION: Oracle recommends placing this Central Inventory in a location outside the Oracle base directory.
    [WARNING] [INS-30011] The ADMIN password entered does not conform to the Oracle recommended standards.
       CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
       ACTION: Provide a password that conforms to the Oracle recommended standards.
    You can find the log of this install session at:
     /u01/app/oracle/oraInventory/logs/installActions2015-04-01_10-13-42PM.log
    
    Prepare in progress.
    ..................................................   8% Done.
    
    Prepare successful.
    
    Copy files in progress.
    ..................................................   15% Done.
    ..................................................   21% Done.
    ..................................................   27% Done.
    ..................................................   34% Done.
    ..................................................   39% Done.
    ..................................................   44% Done.
    ..................................................   52% Done.
    ..................................................   57% Done.
    ..................................................   62% Done.
    ..................................................   67% Done.
    ........................................
    Copy files successful.
    
    Link binaries in progress.
    ..........
    Link binaries successful.
    
    Setup files in progress.
    ..................................................   72% Done.
    ..............................
    Setup files successful.
    The installation of Oracle Database 11g was successful.
    Please check '/u01/app/oracle/oraInventory/logs/silentInstall2015-04-01_10-13-42PM.log' for more details.
    
    Oracle Net Configuration Assistant in progress.
    ..................................................   86% Done.
    
    Oracle Net Configuration Assistant successful.
    
    Oracle Database Configuration Assistant in progress.
    ..................................................   95% Done.
    
    Oracle Database Configuration Assistant successful.
    
    Execute Root Scripts in progress.
    
    As a root user, execute the following script(s):
        1. /u01/app/oracle/oraInventory/orainstRoot.sh
        2. /u01/app/oracle/product/11.2.0.1/db_1/root.sh
    
    
    ..................................................   100% Done.
    
    Execute Root Scripts successful.
    Successfully Setup Software.
    复制代码

        最后,需root用户手动执行以下两个文件:

        1. /u01/app/oracle/oraInventory/orainstRoot.sh

        2. /u01/app/oracle/product/11.2.0.1/db_1/root.sh

        当然,也可查看/u01/app/oracle/oraInventory/logs/installActions2015-04-01_10-13-42PM.log了解具体的安装信息。

    命令行安装

    首先来看dbca命令行支持哪些参数。

    复制代码
    [oracle@node2 ~]$ dbca -help
    dbca  [-silent | -progressOnly | -customCreate] {<command> <options> }  | { [<command> [options] ] -responseFile  <response file > } [-continueOnNonFatalErrors <true | false>]
    Please refer to the manual for details.
    You can enter one of the following command:
    
    Create a database by specifying the following parameters:
        -createDatabase
            -templateName <name of an existing template in default location or the complete template path>
            [-cloneTemplate]
            -gdbName <global database name>
            [-sid <database system identifier>]
            [-sysPassword <SYS user password>]
            [-systemPassword <SYSTEM user password>]
            [-emConfiguration <CENTRAL|LOCAL|ALL|NONE>
                -dbsnmpPassword <DBSNMP user password>
                -sysmanPassword <SYSMAN user password>
                [-hostUserName <Host user name for EM backup job>
                 -hostUserPassword <Host user password for EM backup job>
                 -backupSchedule <Daily backup schedule in the form of hh:mm>]
                [-centralAgent <Enterprise Manager central agent home>]]
            [-disableSecurityConfiguration <ALL|AUDIT|PASSWORD_PROFILE|NONE>
            [-datafileDestination <destination directory for all database files> |  -datafileNames <a text file containing database objects such as controlfiles, tablespaces, redo log files and spfile to their corresponding raw device file names mappings in name=value format.>]
            [-redoLogFileSize <size of each redo log file in megabytes>]
            [-recoveryAreaDestination <destination directory for all recovery files>]
            [-datafileJarLocation  <location of the data file jar, used only for clone database creation>]
            [-storageType < FS | ASM > 
                [-asmsnmpPassword     <ASMSNMP password for ASM monitoring>]
                 -diskGroupName   <database area disk group name>
                 -recoveryGroupName       <recovery area disk group name>
            [-characterSet <character set for the database>]
            [-nationalCharacterSet  <national character set for the database>]
            [-registerWithDirService <true | false> 
                -dirServiceUserName    <user name for directory service>
                -dirServicePassword    <password for directory service >
                -walletPassword    <password for database wallet >]
            [-listeners  <list of listeners to configure the database with>]
            [-variablesFile   <file name for the variable-value pair for variables in the template>]]
            [-variables  <comma separated list of name=value pairs>]
            [-initParams <comma separated list of name=value pairs>]
            [-sampleSchema  <true | false> ]
            [-memoryPercentage <percentage of physical memory for Oracle>]
            [-automaticMemoryManagement ]
            [-totalMemory <memory allocated for Oracle in MB>]
            [-databaseType <MULTIPURPOSE|DATA_WAREHOUSING|OLTP>]]
    
    Configure a database by specifying the following parameters:
        -configureDatabase
            -sourceDB    <source database sid>
            [-sysDBAUserName     <user name  with SYSDBA privileges>
             -sysDBAPassword     <password for sysDBAUserName user name>]
            [-registerWithDirService|-unregisterWithDirService|-regenerateDBPassword <true | false> 
                -dirServiceUserName    <user name for directory service>
                -dirServicePassword    <password for directory service >
                -walletPassword    <password for database wallet >]
            [-disableSecurityConfiguration <ALL|AUDIT|PASSWORD_PROFILE|NONE>
            [-enableSecurityConfiguration <true|false>
            [-emConfiguration <CENTRAL|LOCAL|ALL|NONE>
                -dbsnmpPassword <DBSNMP user password>
                -sysmanPassword <SYSMAN user password>
                [-hostUserName <Host user name for EM backup job>
                 -hostUserPassword <Host user password for EM backup job>
                 -backupSchedule <Daily backup schedule in the form of hh:mm>]
                [-centralAgent <Enterprise Manager central agent home>]]
    
    
    Create a template from an existing database by specifying the following parameters:
        -createTemplateFromDB
            -sourceDB    <service in the form of <host>:<port>:<sid>>
            -templateName      <new template name>
            -sysDBAUserName     <user name  with SYSDBA privileges>
            -sysDBAPassword     <password for sysDBAUserName user name>
            [-maintainFileLocations <true | false>]
    
    
    Create a clone template from an existing database by specifying the following parameters:
        -createCloneTemplate
            -sourceSID    <source database sid>
            -templateName      <new template name>
            [-sysDBAUserName     <user name  with SYSDBA privileges>
             -sysDBAPassword     <password for sysDBAUserName user name>]
            [-maintainFileLocations <true | false>]
            [-datafileJarLocation       <directory to place the datafiles in a compressed format>]
    
    Generate scripts to create database by specifying the following parameters:
        -generateScripts
            -templateName <name of an existing template in default location or the complete template path>
            -gdbName <global database name>
            [-scriptDest       <destination for all the scriptfiles>]
    
    Delete a database by specifying the following parameters:
        -deleteDatabase
            -sourceDB    <source database sid>
            [-sysDBAUserName     <user name  with SYSDBA privileges>
             -sysDBAPassword     <password for sysDBAUserName user name>]
    Query for help by specifying the following options: -h | -help
    复制代码

    由此来看,dbca命令行参数还是及其丰富的,完全可DIY建库。

    下面,用最少参数建了一个库。

    [oracle@node2 trace]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName test -sysPassword oracle -systemPassword oracle

    注意,密码需指定,不然会有以下提示

    A value for the command line argument "systemPassword" is not provided. We cannot proceed without a value for this argument.                      

    最后输出结果如下:

    复制代码
    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/test/test.log" for further details.
    复制代码

    注意:建库时的日志信息可在$ORACLE_BASE/cfgtoollogs/dbca/<dbname>下查看。

  • 相关阅读:
    4.9cf自训9..
    数位dp-入门模板题 hdu2089
    熟能生巧 汽车停车入位技巧解析-倒车入库--侧边停车
    MyBatis参数传入集合之foreach动态sql
    jquery如何判断checkbox(复选框)是否被选中
    Mybatis关联查询(嵌套查询)
    Mysql 分页语句Limit用法
    $.ajax返回的JSON格式的数据后无法执行success的解决方法
    JavaWeb学习总结(十二)——Session
    Spring MVC中Session的正确用法之我见
  • 原文地址:https://www.cnblogs.com/yaoyangding/p/14694798.html
Copyright © 2011-2022 走看看