Here are the practical steps of installing Oracle Revenue Management and Billing ( ORMB ) 2.5.0.3.0 Database in RAC environment.
Mandatory Software Binaries List
Oracle Database Enterprise Edition 12.1.0.2 Oracle Database Client 32bit - 12.1.0.2 JDK 1.7 or JDK 1.8 7-zip file manager or any other zip tools Oracle Revenue Management and Billing 2.5.0.3.0 ( p24445559_25030_Generic.zip )
STEP 1: Install Java jdk-8u112-windows-x64
Download and install ( jdk-8u112-windows-x64.zip ). Do not install in default C:\Program Files. It will cause issues later when installing ORMB due to space in path “Program Files”
Otherwise, we can copy “C:\Program Files\Java\jdk1.8.0_112” to “D:\RMB\jdk1.8.0_112” as JAVA_HOME.
STEP 2: Install Oracle 32bit client
Download “winx64_12102_client.zip” and install it on to Windows. You might get errors as per “INS-20802 Oracle Net Configuration Assistant Failed When Install 12c 32bit Oracle Client on Windows Server 2012 R2”
STEP 3: Install 7-zip onto to Windows
It is for unzip “p24445559_25030_Generic.zip”. Otherwise we will get “path too long” errors for some files.
STEP 4: Create Oracle Database 12.1.0.2
Create a database with AL32UTF8 charactor set. Here is the details of how to “Manually Create a Container Database (CDB) With Selected Options”
Make sure the mandatory options installed:
- Oracle Spatial OR Oracle Locator
- Oracle Text
Run below sql query to verify the above mandatory software options are enable.
SQL>SELECT COMP_NAME, STATUS FROM DBA_REGISTRY WHERE COMP_NAME IN ('Spatial','Oracle Text'); COMP_NAME STATUS ---------------- -------------------------------------------- Oracle Text VALID Spatial VALID
Step 5: Create tablesapce
SQL>CREATE BIGFILE TABLESPACE CISTS_01 DATAFILE '+DG1' SIZE 10G AUTOEXTEND ON NEXT 1G MAXSIZE 1024G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO DEFAULT COMPRESS FOR ADVANCED;
Step 6: Create Users and Roles
SQL> CREATE ROLE CIS_USER; Role created. SQL> CREATE ROLE CIS_READ; Role created. SQL> CREATE USER CISADM IDENTIFIED BY CISADM DEFAULT TABLESPACE CISTS_01 TEMPORARY TABLESPACE TEMP PROFILE DEFAULT; User created. SQL> GRANT UNLIMITED TABLESPACE TO CISADM WITH ADMIN OPTION; Grant succeeded. SQL> GRANT SELECT ANY TABLE TO CISADM; Grant succeeded. SQL> GRANT CREATE DATABASE LINK TO CISADM; Grant succeeded. SQL> GRANT CONNECT TO CISADM; Grant succeeded. SQL> GRANT RESOURCE TO CISADM; Grant succeeded. SQL> GRANT DBA TO CISADM WITH ADMIN OPTION; Grant succeeded. SQL> GRANT CREATE ANY SYNONYM TO CISADM; Grant succeeded. SQL> GRANT SELECT ANY DICTIONARY TO CISADM; Grant succeeded. SQL> CREATE USER CISUSER PROFILE DEFAULT IDENTIFIED BY CISUSER DEFAULT TABLESPACE CISTS_01 TEMPORARY TABLESPACE TEMP; User created. SQL> GRANT SELECT ANY TABLE TO CISUSER; Grant succeeded. SQL> GRANT CIS_USER TO CISUSER; Grant succeeded. SQL> GRANT CIS_READ TO CISUSER; Grant succeeded. SQL> GRANT CONNECT TO CISUSER; Grant succeeded. SQL> CREATE USER CISOPR PROFILE DEFAULT IDENTIFIED BY OPRPLUS DEFAULT TABLESPACE CISTS_01 TEMPORARY TABLESPACE TEMP; User created. SQL> GRANT CONNECT,RESOURCE,EXP_FULL_DATABASE TO CISOPR; Grant succeeded. SQL> CREATE USER CISREAD IDENTIFIED BY CISREAD DEFAULT TABLESPACE CISTS_01 TEMPORARY TABLESPACE TEMP; User created. SQL> GRANT SELECT ANY TABLE TO CISREAD; Grant succeeded. SQL> GRANT CIS_READ TO CISREAD; Grant succeeded. SQL> GRANT CONNECT TO CISREAD; Grant succeeded.
Step 7: Create a Dedicated Service
$ srvctl add service -db RACTEST -service ORMB -preferred "RACTEST1,RACTEST2" -available "RACTEST3,RACTEST4" -tafpolicy BASIC -role primary -failovertype SELECT -failovermethod BASIC -pdb RACTESTPDB -clbgoal LONG -rlbgoal THROUGHPUT $ srvctl status service -db RACTEST -service ORMB Service ORMB is not running. $ srvctl start service -db RACTEST -service ORMB $ srvctl status service -db RACTEST -service ORMB Service ORMB is running on instance(s) RACTEST1,RACTEST2
Step 8: Copy and Unzip ORMB 2.5.0.3.0 package.
Copy ORMB 2.5.0.3.0 patch files ( p24445559_25030_Generic.zip ) onto Windows, and unzip it with 7-zip or other tools, the whole the unzipped files will be under “D:\RMB\” as below:
Step 9: Install Oracle Utilities Application Framework Version 4.3.0.1.0
1) Edit Storage.xml file under “D:\RMB\RMB-V2.5.0.3.0-Oracle-Database-MultiPlatform\FW\FW43010\Install-Upgrade” by giving right tablespace name and compression option.
.. .. . <CI_ACC_GRP> <TABLESPACE>CISTS_01</TABLESPACE> </CI_ACC_GRP> ... .. ... .. . <CI_MPL_EXC> <TABLESPACE>CISTS_01</TABLESPACE> <LOB> <RECOVERY_DATA> <TABLESPACE>CISTS_01</TABLESPACE> <COMPRESS>Y</COMPRESS> <CHUNK>8192</CHUNK> <CACHE>Y</CACHE> <LOGGING>Y</LOGGING> <INROW>Y</INROW> <COMPRESS>Y</COMPRESS> </RECOVERY_DATA> </LOB> </CI_MPL_EXC> ... .. .
2) Create a TNS name ORMB in tnsnames.ora .
ORMB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ractest-scan.ractest.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORMB) ) )
3)Execute the OraDBI.exe utility from the “d:\RMB\RMB-V2.5.0.3.0-Oracle-Database-MultiPlatform\FW\FW43010\Install-Upgrade”.
d:\RMB_PDEV\RMB-V2.5.0.3.0-Oracle-Database-MultiPlatform\FW\FW43010\Install-Upgrade>OraDBI Enter the name of the target database: ORMB Enter your database username: CISADM Enter your password username: Enter the location for Java Home(e.g. C:\Java\jdk1.6.0_18): D:\java Enter the TUGBU jarfiles location (e.g.C:\Database-Install\Jarfiles): d:\RMB_PDEV\RMB-V2.5.0.3.0-Oracle-Database-MultiPlatform\FW\FW43010\jarfiles Enter the Oracle user with read-write privileges to Database Schema: CISUSER Enter the Oracle user with read-only privileges to Database Schema: CISREAD Enter the database role with read-write privileges to Database Schema: CIS_USER Enter the database role with read-only privileges to Database Schema: CIS_READ Enter the name of the target Schema where you want to install or upgrade: CISADM Enter the password for CISADM_PDEV schema (or hit ENTER to quit): Re-enter the value: Connecting to the Target Database as user CISADM User Name : CISADM Database Name : ORMB WARNING: 2 sessions are connected to the target database, Please make sure you close them before pressing a key continue !!! Ready to perform initial install of Database Rel.V4.3.0.1.0, do you want to continue (Y/N)? Y Executing Database Setup Scripts... Processing file FW_CDX_BP_CRTLOG.sql ... Connecting to the Target Database as user CISADM User Name : CISADM Database Name : ORMB Executing Initialization Scripts... Processing file FW400_bpschema3.sql ... Processing file FW400_bpschema4.sql ... Processing file FW400_bpschema5.sql ... Processing file FW410_bpschema7.sql ... Processing file FW410_bpschema8.sql ... Processing file FW410_bpschema9.sql ... Processing file FW410_bpschema10.sql ... Processing file FW410_bpschema11.sql ... Processing file FW410_bpschema12.sql ... Processing file FW410_bpschema13.sql ... Processing file FW420_bpschema1.sql ... Processing file FW420_bpschema2.sql ... Processing file FW420_bpschema3.sql ... Processing file FW420_bpschema4.sql ... Processing file FW42020_bpschema1.sql ... Performing Schema Upgrade... Running the Schema Upgrade process in the Modification Mode Connecting to the Target Database User Name : CISADM Database Name : ORMB Schema Name : CISADM Setting Current Schema to CISADM Loading Blueprint Loading the schema information from the target database Creating the missing tables Upgrading the columns .. . Setting Environment ID... ****************************************** Executing the Environment ID Setup Process ****************************************** Connecting to the Target Database ... User Name : CISADM Database Name : ORMB Schema Name : CISADM Setting Current Schema to CISADM Environment ID set to 405852 Environment ID Setup Process completed successfully, Now Exiting ... Auto Delete Upgrade... Running Auto System Data Deletion process in Modification Mode Connecting to the Target Database User Name : CISADM Database Name : ORMB Schema Name : CISADM Setting Current Schema to CISADM Ready to upgrade the target database, Do you want to continue? (Y/N) Y Reading Blueprint Loading CI_ALG_TYPE from the blueprint Loading CI_ALG_TYPE from the target database ...... ..... .... ... .. . Processing file FW43010_postData1.sql ... Processing file FW43010_postData2.sql ... Processing file FW_cleanup.sql ... Populating Log for Single-fixes... ****************************************** Executing the Single-Fix logging process ****************************************** Connecting to the ORMB as a CISADM user ... Setting Current Schema to CISADM Single-fix logging process completed successfully, Now Exiting ... Configuring Security... Connecting to the Target Database ... User Name : CISADM Database Name : ORMB Generating security ... Security privileges and Synonyms generated successfully, Now Exiting ... Storing Database Credential with ecncrypted password... Install/Upgrade of Database Rel.V4.3.0.1.0 Completed Sucessfully, Now Exiting ... Press Enter to Continue ...
4) Check the objects and their status, which matches the installation guide
OBJECT_TYPE STATUS COUNT(*) ----------------------- ------- ---------- INDEX VALID 700 LOB VALID 47 SEQUENCE VALID 4 TABLE VALID 502 TRIGGER VALID 1 VIEW VALID 8 6 rows selected.
Step 10: Install Rollup Pack for Oracle Utilities Application Framework Version 4.3.0.1.0
- Unzip the RMB-V2.5.0.3.0-FW-PREREQ-MultiPlatform file.
- Decompress the JAR file using the following command:
D:\RMB_PDEV\RMB-V2.5.0.3.0-FW-PREREQ-MultiPlatform>d:\java\bin\jar -xvf ORMB-V25030-FW-PREREQ-MultiPlatform.jar Directory of D:\RMB_PDEV\RMB-V2.5.0.3.0-FW-PREREQ-MultiPlatform 31/12/2015 04:43 PM <DIR> FW-V4.3.0.1.0-Rollup 06/04/2016 06:06 PM <DIR> META-INF 18/08/2016 10:32 AM 63,518,354 ORMB-V25030-FW-PREREQ-MultiPlatform.jar D:\RMB_PDEV\RMB-V2.5.0.3.0-FW-PREREQ-MultiPlatform\FW-V4.3.0.1.0-Rollup>dir Directory of D:\RMB_PDEV\RMB-V2.5.0.3.0-FW-PREREQ-MultiPlatform\FW-V4.3.0.1.0-Rollup 11/03/2016 02:44 PM <DIR> Application 11/03/2016 02:36 PM <DIR> Database
3. Create a directory named dbpatch_tools in the TEMPDIR directory.
D:\RMB\RMB-V2.5.0.3.0-FW-PREREQ-MultiPlatform>dir
07/11/2016 09:30 AM <DIR> dbpatch_tools
04/01/2016 06:04 PM <DIR> FW-V4.3.0.1.0-Rollup
04/01/2016 06:05 PM <DIR> META-INF
04/01/2016 11:36 PM 51,918,837 ORMB-V25010-FW-PREREQ-MultiPlatform.jar
4. Copy the db_patch_standalone.jar file to the dbpatch_tools directory using the following command:
D:\RMB_PDEV\RMB-V2.5.0.3.0-FW-PREREQ-MultiPlatform\FW-V4.3.0.1.0-Rollup\Database>copy db_patch_standalone.jar d:\dbpatch_tools\ 1 file(s) copied.
5. Decompress the JAR file using the following command:
d:\dbpatch_tools>d:\java\bin\jar -xvf db_patch_standalone.jar created: config/ inflated: config/log4j.properties created: bin/ inflated: bin/ouafDatabasePatch.sh inflated: bin/ouafDatabasePatch.cmd created: lib/ inflated: lib/spl-dbpatch-4.3.0.1.0.jar inflated: lib/commons-cli-1.1.jar inflated: lib/commons-codec-1.6.jar inflated: lib/spl-shared-4.3.0.1.0.jar inflated: lib/log4j-1.2.17.jar inflated: lib/commons-collections-3.2.1.jar inflated: lib/commons-io-1.3.2.jar inflated: lib/ojdbc7-12.1.0.2.jar d:\dbpatch_tools>dir Directory of d:\dbpatch_tools 17/09/2015 11:19 PM <DIR> bin 17/09/2015 11:19 PM <DIR> config 31/12/2015 04:43 PM 5,089,749 db_patch_standalone.jar 17/09/2015 11:39 PM <DIR> lib
6. Set the TOOLSBIN environment variable using the following command:
d:\dbpatch_tools>SET TOOLSBIN=D:\dbpatch_tools\bin d:\dbpatch_tools>set .... .. TNS_ADMIN=D:\oracle TOOLSBIN=D:\RMB\RMB-V2.5.0.3.0-FW-PREREQ-MultiPlatform\dbpatch_tools\bin
7. Change to the Database directory using the following command:
d:\dbpatch_tools\bin>tnsping ormb TNS Ping Utility for 32-bit Windows: Version 12.1.0.2.0 - Production on 07-NOV-2016 09:40:47 Used parameter files: D:\oracle\sqlnet.ora Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ractest-scan.ractest.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVIC E_NAME = ORMB))) OK (20 msec) d:\dbpatch_tools\bin>cd D:\RMB_PDEV\RMB-V2.5.0.3.0-FW-PREREQ-MultiPlatform\FW-V4.3.0.1.0-Rollup\databas
8. Execute the ouafDatabasePatch utility.
Below step is no longer required for 2.5.0.3, because patch 22505470 has been included in 2.5.0.3. For all the details about this issue, please refer to “ORA-12505, TNS:listener does not currently know of SID given in connect descriptor” from ORMB ouafDatabasePatch
Before executing ouafDatabasePatch utility, we need add “USE_SID_AS_SERVICE_listener=on” into GI listener.ora and reload listener to make it effective. Because ouafDatabasePatch utility requires ORACLE_SID as input parameter. For PDB, “USE_SID_AS_SERVICE_listener=on” parameter will take ORACLE_SID as a service.
D:\RMB_PDEV\RMB-V2.5.0.3.0-FW-PREREQ-MultiPlatform\FW-V4.3.0.1.0-Rollup\Database>ouafDatabasePatch.cmd
"CMDLINE::: D:\java\bin\java.exe -cp D:\dbpatch_tools\lib\*;D:\dbpatch_tools\config com.oracle.ouaf.database.patch.OUAFPatch "
Enter the target database type (O/M/D) [O]: O
Enter the username that owns the schema: CISADM
Enter the password for the CISADM user:
Enter the name of the Oracle Database Connection String: //RACTEST-SCAN.ractest.local:1521/ORMB
Target Schema is a Production Schema
Ready to process patches, Do you want to continue? (Y/N): Y
Working Directory: ORMB001
***********************************
Setting up language file: ORMB001\CDXPatch.lang
exit value: 0
Applying 21908287 ...
Writing to log file: ORMB001\log21908287.log
-----------------------------------------------------------
--Applying patch 21908287 at 11-25-2016 09:20:26using $LastChangedRevision: 42479 $
---------------------------------------------------------------
--Copying language information
-----------------------------------------------------------
--Patch 21908287 applied successfully at 11-25-2016 09:20:27
---------------------------------------------------------------
...
..
.
Applying 22619484 ...
Writing to log file: ORMB001\log22619484.log
-----------------------------------------------------------
--Applying patch 22619484 at 11-25-2016 09:20:47using $LastChangedRevision: 42479 $
---------------------------------------------------------------
--Copying language information
-----------------------------------------------------------
--Patch 22619484 applied successfully at 11-25-2016 09:20:54
---------------------------------------------------------------
Patch applied successfully..
D:\RMB_PDEV\RMB-V2.5.0.3.0-FW-PREREQ-MultiPlatform\FW-V4.3.0.1.0-Rollup\Database>
Check the objects and their status, which matches the installation guide.
SQL> select owner,object_type, status,count(*) from dba_objects where owner like 'CIS%' group by owner,object_type, status order by 1,2; OWNER OBJECT_TYPE STATUS COUNT(*) ----------------------------------- CISADM INDEX VALID 700 CISADM LOB VALID 47 CISADM SEQUENCE VALID 4 CISADM TABLE VALID 502 CISADM TRIGGER VALID 1 CISADM VIEW VALID 8 CISREAD SYNONYM VALID 514 CISUSER SYNONYM VALID 514 8 rows selected.
Step 11: install Oracle Revenue Management and Billing Version 2.5.0.3.0
1. Execute the CdxDBI utility from “D:\RMB\RMB-V2.5.0.3.0-Oracle-Database-MultiPlatform\RMB\Upgrade\Oracle\Install-Upgrade” directory.
Note: The TEMPDIR folder is the location where you have extracted the contents of the RMB-V2.5.0.3.0-Oracle-Database-MultiPlatform.zip file.
Ensure that you execute the CdxDBI utility from the Window 32-bit or 64-bit desktop that has Oracle Database Client 12.1.0.2 (32-bit) and Java Development Kit Version 7.0 installed. The database must be listed in the tnsnames.ora file on your local machine.
D:\RMB_PDEV\RMB-V2.5.0.3.0-Oracle-Database-MultiPlatform\RMB\Upgrade\Oracle\Install-Upgrade>oradbi Enter the name of the target database: ORMB Enter the name of the owner of Database Schema: CISADM Enter the location for Java Home(e.g. C:\Java\jdk1.6.0_18): D:\RMB\jdk1.8.0_112 Enter the TUGBU jarfiles location (e.g.C:\Database-Install\Jarfiles): D:\RMB\RMB-V2.5.0.3.0-Oracle-Database-MultiPlatform\RMB\jarfiles Enter the password for CISADM schema (or hit ENTER to quit): Re-enter the password: Enter the Oracle user with read-write privileges to Database Schema: CISUSER Enter the Oracle user with read-only privileges to Database Schema: CISREAD Enter the database role with read-write privileges to Database Schema: CIS_USER Enter the database role with read-only privileges to Database Schema: CIS_READ Connecting to the Target Database as user CISADM User Name : CISADM Database Name : ORMB WARNING: A session is connected to the target database, Please make sure you close it before pressing a key continue !!! Ready to perform initial install of Database Rel.V2.5.0.3.0, do you want to continue (Y/N)? Y Processing file FN_GET_UNPAID_BILL_PRD_AMT.sql ... Processing file DROP_COLUMN_PRICELIST_ELIG_ID.sql ... Processing file alter_primary_key_CI_BILL_ACH.sql ... Processing file C1_AlgorithmSoftParameter.sql ... Configuring Security... Connecting to the Target Database ... User Name : CISADM Database Name : ORMB Generating security ... Security privileges and Synonyms generated successfully, Now Exiting ... Storing Database Credential with ecncrypted password... Install/Upgrade of Database Rel.V2.5.0.3.0 Completed Sucessfully, Now Exiting ... Press Enter to Continue ... D:\RMB_PDEV\RMB-V2.5.0.3.0-Oracle-Database-MultiPlatform\RMB\Upgrade\Oracle\Install-Upgrade>
Check the objects and their status. There is a trigger and a function are INVALID.
SQL> select owner, object_type, status,count(*) from dba_objects where owner like 'CIS%' group by owner, object_type, status order by 1,2,3; OWNER OBJECT_TYPE STATUS COUNT(*) ------------------ ----------------------- ------- ---------- CISADM FUNCTION INVALID 1 CISADM FUNCTION VALID 22 CISADM INDEX VALID 2755 CISADM LOB VALID 161 CISADM PACKAGE VALID 4 CISADM PACKAGE BODY VALID 4 CISADM PROCEDURE VALID 1 CISADM SEQUENCE VALID 27 CISADM TABLE VALID 1831 CISADM TRIGGER INVALID 1 CISADM TYPE VALID 8 CISADM TYPE BODY VALID 1 CISADM VIEW VALID 155
STEP 12: Move Four Indexes onto Right Tablespace
If none default tablespace name “CISADM” is used instead of default “CIST_01” tablespace name, there are four indexes are created onto “CIST_01” for some reason.
SQL> select distinct owner, tablespace_name from dba_segments where owner='CISADM'; OWNER TABLESPACE_NAME ------------------ ------------------------------ CISADM CISTS_01 CISADM CISADM
SQL> select segment_type, segment_Name from dba_segments where owner='CISADM_PDEV' and TABLESPACE_NAME='CISTS_01'; SEGMENT_TYPE SEGMENT_NAME ------------------ -------------------------------------------------------------------------------------------------------------------------------- INDEX XM172S2 INDEX XF028S1 INDEX XF013S1 INDEX XF165S1 SQL> alter index CISADM.XM172S2 rebuild tablespace CISADM; Index altered. SQL> alter index CISADM.XF028S1 rebuild tablespace CISADM; Index altered. SQL> alter index CISADM.XF013S1 rebuild tablespace CISADM; Index altered. SQL> alter index CISADM.XF165S1 rebuild tablespace CISADM; Index altered. SQL> select distinct owner, tablespace_name from dba_segments where owner='CISADM'; OWNER TABLESPACE_NAME ------------------ ------------------------------ CISADM CISADM
STEP 13: Post Installation Tasks ( Transaction Feed Management Feature Not Used )
- Apply the 24516656 patch.
d:\PATCHES\p24516656_25030\MultiPlatform\V2.5.0.3.0-24516656_MultiPlatform\database\ORACLE\CDXPatch>ouafDatabasePatch.cmd
"CMDLINE::: D:\java\bin\java.exe -cp D:\dbpatch_tools\lib\*;D:\dbpatch_tools\config com.oracle.ouaf.database.patch.OUAFPatch "
Enter the target database type (O/M/D) [O]: O
Enter the username that owns the schema: CISADM
Enter the password for the CISADM user:
Enter the name of the Oracle Database Connection String://RACTEST-SCAN.ractest.local:1521/ORMB
Target Schema is a Production Schema
Ready to process patches, Do you want to continue? (Y/N): Y
Working Directory: ORMB001
***********************************
Setting up language file: ORMB001\CDXPatch.lang
exit value: 0
Applying 24516656 ...
Enter a comma-separated list of Oracle users in which synonyms need to be created (e.g. CISUSER,CISREAD): CISUSER,CISREAD
Writing to log file: ORMB001\log24516656.log
-----------------------------------------------------------
--Applying patch 24516656 at 11-25-2016 13:38:40using $LastChangedRevision: 42479 $
---------------------------------------------------------------
--Copying language information
-----------------------------------------------------------
--Patch 24516656 applied successfully at 11-25-2016 13:39:47
---------------------------------------------------------------
Patch applied successfully..
Enter a database role which has a read-write privilege (e.g. CIS_USER): CIS_USER
Enter a database role which has a read only privilege (e.g. CIS_READ): CIS_READ
Generating Security ...
-----------------------------------------------------------
--Security is successfully applied at 11-25-2016 13:44:18
--------------------------------------------------------------
d:\PATCHES\p24516656_25030_PDEV\MultiPlatform\V2.5.0.3.0-24516656_MultiPlatform\database\ORACLE\CDXPatch>
2. Enable USER_LOCK Package
SQL> show con_name CON_NAME ------------------------------ RACTESTPDB SQL> show user USER is "SYS" SQL> @?/rdbms/admin/userlock.sql drop package user_lock * ERROR at line 1: ORA-04043: object USER_LOCK does not exist Package created. Package body created. Synonym created. Grant succeeded. SQL> grant execute on USER_LOCK to public; Grant succeeded.
3. Grant Permissions to the DBMS_LOCK Package and Recompile Database Objects
SQL> grant EXECUTE, DEBUG on DBMS_LOCK to cisadm; Grant succeeded. SQL> @?/rdbms/admin/utlrp.sql; TIMESTAMP ----------------------------------------------------------------- COMP_TIMESTAMP UTLRP_BGN 2016-11-07 12:30:23 DOC> The following PL/SQL block invokes UTL_RECOMP to recompile invalid DOC> objects in the database. Recompilation time is proportional to the DOC> number of invalid objects in the database, so this command may take DOC> a long time to execute on a database with a large number of invalid DOC> objects. DOC> DOC> Use the following queries to track recompilation progress: DOC> DOC> 1. Query returning the number of invalid objects remaining. This DOC> number should decrease with time. DOC> SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6); DOC> DOC> 2. Query returning the number of objects compiled so far. This number DOC> should increase with time. DOC> SELECT COUNT(*) FROM UTL_RECOMP_COMPILED; DOC> DOC> This script automatically chooses serial or parallel recompilation DOC> based on the number of CPUs available (parameter cpu_count) multiplied DOC> by the number of threads per CPU (parameter parallel_threads_per_cpu). DOC> On RAC, this number is added across all RAC nodes. DOC> DOC> UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel DOC> recompilation. Jobs are created without instance affinity so that they DOC> can migrate across RAC nodes. Use the following queries to verify DOC> whether UTL_RECOMP jobs are being created and run correctly: DOC> DOC> 1. Query showing jobs created by UTL_RECOMP DOC> SELECT job_name FROM dba_scheduler_jobs DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%'; DOC> DOC> 2. Query showing UTL_RECOMP jobs that are running DOC> SELECT job_name FROM dba_scheduler_running_jobs DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%'; DOC># PL/SQL procedure successfully completed. TIMESTAMP ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ COMP_TIMESTAMP UTLRP_END 2016-11-07 12:30:28 DOC> The following query reports the number of objects that have compiled DOC> with errors. DOC> DOC> If the number is higher than expected, please examine the error DOC> messages reported with each object (using SHOW ERRORS) to see if they DOC> point to system misconfiguration or resource constraints that must be DOC> fixed before attempting to recompile these objects. DOC># OBJECTS WITH ERRORS ------------------- 0 DOC> The following query reports the number of errors caught during DOC> recompilation. If this number is non-zero, please query the error DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors DOC> are due to misconfiguration or resource constraints that must be DOC> fixed before objects can compile successfully. DOC># ERRORS DURING RECOMPILATION --------------------------- 0 Function created. PL/SQL procedure successfully completed. Function dropped. PL/SQL procedure successfully completed.
4. Generate Database Statistics
SQL> exec DBMS_STATS.GATHER_SCHEMA_STATS(OWNNAME=>'CISADM', METHOD_OPT=>'FOR ALL COLUMNS SIZE AUTO', GRANULARITY=>'ALL', CASCADE=>TRUE); PL/SQL procedure successfully completed.
Conclusion:
After the installation, there are two objects invalid.
- Function FN_GET_TIMESTAMP is INVALID. It is back to valid by applying patch 25187694
- Trigger CIFKVALID is INVALID. It is no longer required for 2.5.0.3.0. So it can be dropped according to Oracle support.