Install Oracle Revenue Management and Billing ( ORMB ) 2.5.0.3.0 Database

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:

capture

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

  1. Unzip the RMB-V2.5.0.3.0-FW-PREREQ-MultiPlatform file.
  2. 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 )

  1. 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.

  1. Function FN_GET_TIMESTAMP  is INVALID.  It is back to valid by applying patch 25187694
  2. Trigger  CIFKVALID is INVALID. It is no longer required for 2.5.0.3.0. So it can be dropped according to Oracle support.
Advertisement