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;