Oracle Database(rdbms) 12.2 安装组件

时间:2023-03-08 16:42:12

1. 工具用法

 su - oracle
 $ $(orabasehome)/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl

   Usage: catcon  [-h, --help]
                  [-u, --usr username
                    [{/password | -w, --usr_pwd_env_var env-var-name}]]
                  [-U, --int_usr username
                    [{/password | -W, --int_usr_pwd_env_var env-var-name]]
                  [-d, --script_dir directory]
                  [-l, --log_dir directory]
                  [{-c, --incl_con | -C, --excl_con} container]
                  [-p, --catcon_instances degree-of-parallelism]
                  [-z, --ez_conn EZConnect-strings]
                  [-e, --echo]
                  [-s, --spool]
                  [-E, --error_logging
                    { ON | errorlogging-table-other-than-SPERRORLOG } ]
                  [-F, --app_con Application-Root]
                  [-V, --ignore_errors errors-to-ignore ]
                  [-I, --no_set_errlog_ident]
                  [-g, --diag]
                  [-v, --verbose]
                  [-f, --ignore_unavailable_pdbs]
                  [-r, --reverse]
                  [-R, --recover]
                  [-m, --pdb_seed_mode pdb-mode]
                  [--force_pdb_mode pdb-mode]
                  [--all_instances]
                  -b, --log_file_base log-file-name-base
                  --
                  { sqlplus-script [arguments] | --x<SQL-statement> } ...

    Optional:
      -h, --help
         print usage info and exit
      -u, --usr
         username (optional /password; otherwise prompts for password)
         used to connect to the database to run user-supplied scripts or
         SQL statements
         defaults to "/ as sysdba"
      -w, --usr_pwd_env_var
         name of environment variable which contains a password for a user
         whose name was specified with --usr;
         NOTE: should NOT be used if --usr specified a password
      -U, --int_usr
         username (optional /password; otherwise prompts for password)
         used to connect to the database to perform internal tasks
         defaults to "/ as sysdba"
      -W, --int_usr_pwd_env_var
         name of environment variable which contains a password for a user
         whose name was specified with --int_usr;
         NOTE: should NOT be used if --int_usr specified a password
      -d, --script_dir
         directory containing the file to be run
      -l, --log_dir
         directory to use for spool log files
      -c, --incl_con
         container(s) in which to run sqlplus scripts, i.e. skip all
         Containers not named here; for example,
           --incl_con 'PDB1 PDB2',
      -C, --excl_con
          container(s) in which NOT to run sqlplus scripts, i.e. skip all
         Containers named here; for example,
           --excl_con 'CDB PDB3'

        NOTE: --incl_con and --excl_con are mutually exclusive

      -p, --catcon_instances
         expected number of concurrent invocations of this script on a given
         host

        NOTE: this parameter rarely needs to be specified

      -z, --ez_conn
         blank-separated EZConnect strings corresponding to RAC instances
         which can be used to run scripts
      -e, --echo
         sets echo on while running sqlplus scripts
      -s, --spool
         output of running every script will be spooled into a file whose name
         will be
           <log-file-name-base>_<script_name_without_extension>_[<container_name_if_any>].<default_extension>
      -E, --error_logging
         sets errorlogging on; if ON is specified, default error logging table
         will be used, otherwise, specified error logging table (which must
         have been created in every Container) will be used
      -F, --app_con
         causes scripts to run in a Application Root and all Application PDBs
         belonging to it;
         ***CANNOT*** be specified concurrently with -{cC} flags
      -V, --ignore_errors
         causes catcon to ignore errors encountered during specified operations.
         The following options are supported:
           script_path == ignore errors while validating script path
      -S, --optUserScripts
         running user scripts, meaning that _oracle_script will not be set and
         all entities created by scripts will not be marked as Oracle-maintained
      -I, --no_set_errlog_ident
         do not issue set Errorlogging Identifier (ostensibly because the
         caller already did it and does not want us to override it)
      -g, --diag
         turns on production of diagnostic info while running this script
      -v, --verbose
         turns on verbose output which is less verbose than debugging output
      -f, --ignore_unavailable_pdbs
         instructs catcon to ignore PDBs which are closed or, if --incl_con or
         --excl_con was used, do not exist and process existing PDBs which
         were specified (explicitly or implicitly) and are open

         NOTE: if this flag is not specified and some specified PDBs do not
               exist or are not open, an error will be returned and none of
               the Containers will be processed.

      -r, --reverse
         causes scripts to be run in all PDBs and then in the Root (reverse
         of the default order); required for running catdwgrd.sql in a CDB
      -m, --pdb_seed_mode
         mode in which PDB should be opened; one of the following values
         may be specified:
         - UNCHANGED - leave PDB in whatever mode it is already open
         - READ WRITE (default)
         - READ ONLY
         - UPGRADE
         - DOWNGRADE

         NOTE: if the desired mode is different from the mode in which
               PDB is open, it is will be closed and reopened in the
               desired mode before running any scripts; after all scripts were
               run, it will be restored to the original mode

               --pdb_seed_mode should not be specified if --force_pdb_mode
               is specified because mode supplied with the latter will apply
               to PDB

      --force_pdb_mode
         mode in which ALL PDBs against which scripts will be run must be
         opened; one of the following values may be specified:
         - UNCHANGED - leave PDBs in whatever mode they are already
                       open (default)
         - READ WRITE
         - READ ONLY
         - UPGRADE
         - DOWNGRADE

         NOTE: if the desired mode is different from the mode in which
               some of the PDBs specified by the caller are open, they will be
               closed and reopened in the desired mode before running any
               scripts; after all scripts were run, they will be restored to
               the original mode

               --force_pdb_mode should not be specified if --pdb_seed_mode
               is specified because mode supplied with the latter will apply
               to PDB

      -R, --recover
         causes catcon to recover from unexpected death of a SQL*Plus process
         that it spawned; if not specified, such event will cause catcon to die

      -D, --disable_lockdown
        causes catcon to disable lockdown profile before running script(s) in
        a PDB and reenable them before existing

      --all_instances
        if used to run scripts against a CDB and if --force_pdb_mode was
        specified, catcon will attempt to run scripts on PDBs using all
        instances on which a CDB is open

    Mandatory:
      -b, --log_file_base
         base name (e.g. catcon_test) for log and spool file names

      sqlplus-script - sqlplus script to run OR
      SQL-statement  - a statement to execute

    NOTES:
      - if --x<SQL-statement> is the first non-option string, it needs to be
        preceeded with -- to avoid confusing module parsing options into
        assuming that '-' is an option which that module is not expecting and
        about which it will complain
      - command line parameters to SQL scripts can be introduced using --p
      - interactive (or secret) parameters to SQL scripts can be introduced
        using --P
      - occupying middle ground between --p and --P, parameters whose values
        are stored in environment variables can be specified using --e
        (as in --e"env_var_holding_password")

      For example,
        perl catcon.pl ... x.sql --p"John" --P"Enter Password for John:" ...
      or store John's password in environment variable JOHNS_PASSWORD and
      then issue
        perl catcon.pl ... x.sql --p"John" --e"JOHNS_PASSWORD" ...

 $

2. 安装JAVA相关组件

### ---- JServer.sql ---- ###
# 指定container安装组件,每个container用空格符分割;
LOG_DIR=/tmp/$(date +%Y%m%d)
[[ -d "${LOG_DIR}" ]] || mkdir -p ${LOG_DIR}
#-- JServer JAVA Virtual Machine      JAVAVM
$(orabasehome)/ -l ${LOG_DIR} -v -b initjvm -c 'PDB$SEED' $(orabasehome)/javavm/install/initjvm.sql
OR
$(orabasehome)/ -l ${LOG_DIR} -v -b initjvm -c 'PDB$SEED PDBORCL' $(orabasehome)/javavm/install/initjvm.sql
-- Oracle XDK                XML
$(orabasehome)/ -l ${LOG_DIR} -v -b initxml -c 'PDB$SEED' $(orabasehome)/xdk/admin/initxml.sql
$(orabasehome)/ -l ${LOG_DIR} -v -b xmlja -c PDB$SEED' $(orabasehome)/xdk/admin/xmlja.sql
-- Oracle Database Java Packages         CATJAVA
$(orabasehome)/ -l ${LOG_DIR} -v -b catjava -c 'PDB$SEED' $(orabasehome)/rdbms/admin/catjava.sql
$(orabasehome)/ -l ${LOG_DIR} -v -b catxdbj -c 'PDB$SEED' $(orabasehome)/rdbms/admin/catxdbj.sql

3. 其他组件类似

### ----ordinst.sql ---- ###
-- run in cdb and all open pdbs
$(orabasehome)/ -l ${LOG_DIR} -v -b ordinst -a   $(orabasehome)/ord/admin/ordinst.sql 1SYSAUX 1SYSAUX;

### ----  interMedia.sql ---- ###

-- Oracle Multimedia             ORDIM
$(orabasehome)/ -l ${LOG_DIR} -v -b iminst -c 'PDB$SEED'  $(orabasehome)/ord/im/admin/iminst.sql

### ---- cwmlite.sql ---- ###
-- OLAP Analytic Workspace       APS
-- Oracle OLAP API           XOQ
$(orabasehome)/ -l ${LOG_DIR} -v -b olap -c   $(orabasehome)/olap/admin/olap.sql 1SYSAUX 1TEMP;

### ---- spatial.sql ---- ###

-- Spatial               SDO
$(orabasehome)/ -l ${LOG_DIR} -v -b mdinst -c 'PDB$SEED'  $(orabasehome)/md/admin/mdinst.sql

### ---- catols.sql ---- ###

-- Oracle Label Security            OLS
 $(orabasehome)/ -l ${LOG_DIR} -v -b catols -c 'PDB$SEED CDB$ROOT'   -U "SYS"/"&&sysPassword" $(orabasehome)/rdbms/admin/catols.sql;

### ---- apex.sql ---- ###

-- Oracle Application Express        APEX
$(orabasehome)/ -l ${LOG_DIR} -v -b catapx -c   $(orabasehome)/apex/catapx.sql 1Xbkfsdcdf1ggh_123 1SYSAUX 1SYSAUX 1TEMP /i/ 1NONE;

### ---- catmac.sql ---- ###

-- Oracle Database Vault            DV
$(orabasehome)/ -l ${LOG_DIR} -v -b catmac -c  $(orabasehome)/rdbms/admin/catmac.sql 1SYSAUX 1TEMP;