It also starts multiple processes and assigns new scripts to them as they finish running scripts previously assigned to them.
Example of the Statement
perl /u02/app/oracle/product/12.1.0/dbhome_1/rdbms/admin/catcon.pl -n 1 -l /u02/app/oracle/admin/CDB1/scripts -b catalog /u02/app/oracle/product/12.1.0/dbhome_1/rdbms/admin/catalog.sql
CatCon.pl = Perl Module for creating - upgrading CATalogs for CONtainer databases
The catcon.pl script has the following syntax and parameters:
perl catcon.pl [-u username[/password]] [-U username[/password]] [-d directory] [-l directory] [{-c|-C} container] [-p parallelism] [-e] [-s] [-E { ON | errorlogging-table-other-than-SPERRORLOG } ] [-g] -b log_file_name_base { SQL_script [arguments] | --xSQL_statement }
Usage: catcon.pl
[-u username[/password]] [-U username[/password]] [-d directory] [-l directory] [{-c|-C} container] [-p degree-of-parallelism] [-e] [-s] [-E { ON | errorlogging-table-other-than-SPERRORLOG } ] [-g] -b log-file-name-base -- { sqlplus-script [arguments] | --xCause and Resolution} ... Optional: -u 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" -U username (optional /password; otherwise prompts for password) used to connect to the database to perform internal tasks defaults to "/ as sysdba" -d directory containing the file to be run -l directory to use for spool log files -c container(s) in which to run sqlplus scripts, i.e. skip all Containers not named here; for example, -c 'PDB1 PDB2', -C container(s) in which NOT to run sqlplus scripts, i.e. skip all Containers named here; for example, -C 'CDB$ROOT PDB3' NOTE: -c and -C are mutually exclusive -p expected number of concurrent invocations of this script on a given host NOTE: this parameter rarely needs to be specified -e sets echo on while running sqlplus scripts -s output of running every script will be spooled into a file whose name will be _ _[ ]. -E 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 -g turns on production of debugging info while running this script Mandatory: -b 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 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 For example, perl catcon.pl ... x.sql '--pJohn' '--PEnter Password for John:' ...
If CATALOG.SQL, CATPROC.SQL and PUPBLD.SQL scripts were not executed using the catcon.pl script provided by Oracle, but manually as you did before. This means views for the data dictonary were only created in your root database (the CDB) but not in the seed database. This will lead to errors :
SQL> CREATE PLUGGABLE DATABASE joords_pdb ADMIN USER jos IDENTIFIED BY tiger; CREATE PLUGGABLE DATABASE joords_pdb ADMIN USER jos IDENTIFIED BY tiger * ERROR at line 1: ORA-00604: error occurred at recursive SQL level 1 ORA-00942: table or view does not exist
SQL> select * from cdb_pdbs; select * from cdb_pdbs * ERROR at line 1: ORA-12801: error signaled in parallel query server P001 ORA-00942: table or view does not existNote:
- Unless you exclude the seed when you run catcon.pl, the SQL script or SQL statement is run on the seed.
- You can use the catcon.pl script to run scripts on both CDBs and non-CDBs.
No comments:
Post a Comment