Tuesday, October 30, 2012

Oracle BI 11g Repository Creation Utility [Rcu]

OBI 11g Repository Creation Utility[BI RCU]

After installing the database we need to create the RCU for the BI here are the steps to Create the RCU

Step 1

Start the Rcu from the location where the rcu.zip is unziped



Step2

Select the create for creating the New RCU



Step 3

provide the necessary Database details


Hostname        : server name
Port                 :database port
Service name   :database service name
Username         :SYS or the other user who has the sysdba privilege



Once the pre-requisites check are completed then give OK and proceed with next

Step 4



Select the Business Intelligence component and then it will automatically select the metadata services


Once the RCU prerequisites  are completed successfully then click ok to proceed

Step 5 

we need specify the password for all the schema's



Step 6

Map the table space to the schema's if the table space's are not available it will be created





Step 7

click create the RCU



Step 8


Monday, October 29, 2012

ORA-19566: exceeded limit of 0 corrupt blocks for file


ORA-19566: exceeded limit of 0 corrupt blocks for file

When we try to the backup a data file or database in RMAN if any  block's is corrupted then rman will throw this error
RMAN will not take the backup the corrupted data file . rman will take the backup of the non corrupted blocks only .. the difference between the user managed backup and rman backup is rman will take only used block's ..but if Any  blocks are corrupted then it will Not backup that file ..

If you are backup up the full database you can exclude the particular corrupted data file from the backup script and then  format the block's and then take the backup.. if the corrupted file is the important file like system data file then try to format first

Here In this scenario we don't have backup of the data file which the block had been corrupted ..as per the below example the system data file 9 has the block corruption.. and we need to recover the blocks which are corrupted with out backup of the  data file    
Step 1

when we try to backup the particular  data file we are getting the error mentioned below

RMAN> backup datafile 352;

Starting backup at 29-OCT-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=373 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00352 name=/p01/app/PROD/db/apps_st/data/system09.dbf
channel ORA_DISK_1: starting piece 1 at 29-OCT-12
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 10/29/2012 12:25:04
ORA-19566: exceeded limit of 0 corrupt blocks for file /p01/app/PROD/db/apps_st/data/system09.dbf


Step 2

To verify the blocks corrupted we  need to run the dbv command line utility 

Syntax dbv file='location of the file' 

oraprod@proddb ~]$ dbv  file=/p01/app/PROD/db/apps_st/data/system09.dbf

DBVERIFY: Release 11.1.0.7.0 - Production on Mon Oct 29 15:58:05 2012

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

DBVERIFY - Verification starting : FILE = /p01/app/PROD/db/apps_st/data/system09.dbf
Page 165665 is marked corrupt
Corrupt block relative dba: 0x58028721 (file 352, block 165665)
Completely zero block found during dbv:
......................................
......................................
Page 191995 is marked corrupt
Corrupt block relative dba: 0x5802edfb (file 352, block 191995)
Completely zero block found during dbv:

Page 191996 is marked corrupt
Corrupt block relative dba: 0x5802edfc (file 352, block 191996)
Completely zero block found during dbv:

Page 191997 is marked corrupt
Corrupt block relative dba: 0x5802edfd (file 352, block 191997)
Completely zero block found during dbv:

Page 191998 is marked corrupt
Corrupt block relative dba: 0x5802edfe (file 352, block 191998)
Completely zero block found during dbv:

Page 191999 is marked corrupt
Corrupt block relative dba: 0x5802edff (file 352, block 191999)
Completely zero block found during dbv:

Page 192000 is marked corrupt
Corrupt block relative dba: 0x5802ee00 (file 352, block 192000)
Completely zero block found during dbv:

..................
..................

DBVERIFY - Verification complete

Total Pages Examined         : 192000
Total Pages Processed (Data) : 131617
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 30473
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 1908
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 1666
Total Pages Marked Corrupt   : 26336
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 3721895981 (1388.3721895981)

Once you conform through dbv the blocks are corrupted then you need to run the Rman validating script 

Rman script to  validate

run {
allocate channel d1 type disk;
allocate channel d2 type disk;
allocate channel d3 type disk;
backup check logical validate database;
release channel d1;
release channel d2;
release channel d3;
}

it  will produce the error in the alert log for all the corrupted blocks it will validate all the blocks corrupted and populate into the v$database_block_corruption Once the Rman command completes then you can proceed to the next step ..it is mandatory to complete this step

Step 3

Check the no of blocks corrupted

SQL> Select * from v$database_block_corruption ;

     FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTI
---------- ---------- ---------- ------------------ ---------
       352     165660      26341                  0 ALL ZERO

note the  it is the data file number which is effected  and the block number

Step 4

Check the corrupted block belongs to any object


 SYNTEX :select segment_name, segment_type, owner
       from dba_extents
      where file_id = <data_file_name>
        and  < corrupted block number >between block_id
            and block_id + blocks -1;



SQL> select segment_name, segment_type, owner
       from dba_extents
      where file_id = 352
        and  165660 between block_id
            and block_id + blocks -1;

It will return now rows selected and then proceed with the steps if it returns now row selected then the particular block  does not belongs to any object and it is empty
To conform the empty block run the below query

SYNTAX


Select * from dba_free_space where file_id= < corrupted data file number>
     and < corrupted block number>between block_id and block_id + blocks -1;



SQL>Select * from dba_free_space where file_id= 352
     and 165660 between block_id and block_id + blocks -1;


Step 5

Run the below sql command to find the details of the Corrupted  block here we save the below command as the block_curropt.sql


set lines 200 pages 10000
col segment_name format a30

SELECT e.owner, e.segment_type, e.segment_name, e.partition_name, c.file#
, greatest(e.block_id, c.block#) corr_start_block#
, least(e.block_id+e.blocks-1, c.block#+c.blocks-1) corr_end_block#
, least(e.block_id+e.blocks-1, c.block#+c.blocks-1)
- greatest(e.block_id, c.block#) + 1 blocks_corrupted
, null description
FROM dba_extents e, v$database_block_corruption c
WHERE e.file_id = c.file#
AND e.block_id <= c.block# + c.blocks - 1
AND e.block_id + e.blocks - 1 >= c.block#
UNION
SELECT s.owner, s.segment_type, s.segment_name, s.partition_name, c.file#
, header_block corr_start_block#
, header_block corr_end_block#
, 1 blocks_corrupted
, 'Segment Header' description
FROM dba_segments s, v$database_block_corruption c
WHERE s.header_file = c.file#
AND s.header_block between c.block# and c.block# + c.blocks - 1
UNION
SELECT null owner, null segment_type, null segment_name, null partition_name, c.file#
, greatest(f.block_id, c.block#) corr_start_block#
, least(f.block_id+f.blocks-1, c.block#+c.blocks-1) corr_end_block#
, least(f.block_id+f.blocks-1, c.block#+c.blocks-1)
- greatest(f.block_id, c.block#) + 1 blocks_corrupted
, 'Free Block' description
FROM dba_free_space f, v$database_block_corruption c
WHERE f.file_id = c.file#
AND f.block_id <= c.block# + c.blocks - 1
AND f.block_id + f.blocks - 1 >= c.block#
ORDER BY file#, corr_start_block#;

Once you conform the blocks are not belonging to any Object then proceed with the next step

Step 6

Create a table from the normal user [here we use the scott ]

SQL> create table om (
       n number,
       c varchar2(4000)
     ) nologging tablespace system    ;

Table created.


Table should be created on the Corrupted  data file's table space [here system data file's blocks are Corrupted so we use the data file as system ]


SQL> select segment_name,tablespace_name from user_segments
      where segment_name='S' ;  2

SEGMENT_NAME                   TABLESPACE_NAME
------------------------------ ------------------------------
OM                          SYSTEM

Step 7

Create the trigger for the table which we have created on the corrupted data file


SQL> CREATE OR REPLACE TRIGGER scott.corrupt_trigger
  2    AFTER INSERT ON scott.om
  3    REFERENCING OLD AS p_old NEW AS new_p
  4    FOR EACH ROW
  5  DECLARE
  6    corrupt EXCEPTION;
  7  BEGIN
  IF (dbms_rowid.rowid_block_number(:new_p.rowid)=&blocknumber)
 and (dbms_rowid.rowid_relative_fno(:new_p.rowid)=&filenumber) THEN
  8    9   10       RAISE corrupt;
  END IF;
 11   12  EXCEPTION
 13    WHEN corrupt THEN
 14       RAISE_APPLICATION_ERROR(-20000, 'Corrupt block has been formatted');
 15  END;
 16  /
Enter value for blocknumber: 165660
old   8:   IF (dbms_rowid.rowid_block_number(:new_p.rowid)=&blocknumber)
new   8:   IF (dbms_rowid.rowid_block_number(:new_p.rowid)=165660)
Enter value for filenumber: 352
old   9:  and (dbms_rowid.rowid_relative_fno(:new_p.rowid)=&filenumber) THEN
new   9:  and (dbms_rowid.rowid_relative_fno(:new_p.rowid)=352) THEN

Trigger created.


Step 8

Allocate the space to the newly create table

SYNTAX Select BYTES from dba_free_space where file_id=<file_number> and < corrupted block_number >between block_id and block_id + blocks -1;


SQL> Select BYTES from dba_free_space where file_id=352 and 192000 between block_id and block_id + blocks -1;

     BYTES
----------
 771612672


Make sure the data file is not in auto extend on if it is on then disable it allocate the above query's answer[free_space] to the newly created object


SQL> alter table scott.om
     allocate extent (DATAFILE '/p01/app/PROD/db/apps_st/data/system09.dbf' SIZE 735M);  2

Table altered.

once the table is assigned to the particular data file check the detail's


SQL> select segment_name,tablespace_name from user_segments
      where segment_name='OM' ;

SEGMENT_NAME                   TABLESPACE_NAME
------------------------------ ------------------------------
OM                             SYSTEM



Step 9

Inset values in  to the table  by using the below loop
The data is inserted in to the table for formatting the block


SQL> BEGIN
FOR i IN 1..100000000 LOOP
INSERT /*+ APPEND */ INTO scott.om select i, lpad('REFORMAT',3092, 'R') from dual;
commit ;
END LOOP;
END;
   /

ERROR at line 1:
ORA-20000: Corrupt block has been formatted
ORA-06512: at "SCOTT.CORRUPT_TRIGGER", line 10
ORA-04088: error during execution of trigger 'SCOTT.CORRUPT_TRIGGER'
ORA-06512: at line 4

SQL> commit;

we need to commit the data which is inserted into the table

After committing the data switch log file's

SQL> alter system switch logfile;

System altered.

SQL> alter system switch logfile;

System altered.

SQL> alter system checkpoint;

System altered.


Once the data is inserted in to table then check the block corruption

 Step 10


[oraprod@proddb]$ dbv   file = /p01/app/PROD/db/apps_st/data/system09.dbf

DBVERIFY: Release 11.1.0.7.0 - Production on Mon Oct 29 16:29:06 2012

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

DBVERIFY - Verification starting : FILE = /p01/app/PROD/db/apps_st/data/system09.dbf


DBVERIFY - Verification complete

Total Pages Examined         : 97920
Total Pages Processed (Data) : 63873
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 30473
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 1908
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 1666
Total Pages Marked Corrupt   : 0
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 3721899454 (1388.3721899454)


[oraprod@proddb trace]$ rman

Recovery Manager: Release 11.1.0.7.0 - Production on Mon Oct 29 16:30:13 2012

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

RMAN> connect target /

connected to target database: PROD (DBID=209199817)

RMAN> backup datafile 352;

Starting backup at 29-OCT-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=265 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00352 name=/p01/app/PROD/db/apps_st/data/system09.dbf
channel ORA_DISK_1: starting piece 1 at 29-OCT-12
channel ORA_DISK_1: finished piece 1 at 29-OCT-12
piece handle=/p01/app/PROD/db/tech_st/11.1.0/dbs/ndnovt7p_1_1 tag=TAG20121029T163153 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07
Finished backup at 29-OCT-12

Starting Control File Autobackup at 29-OCT-12
piece handle=/p01/app/PROD/db/tech_st/11.1.0/dbs/c-209199817-20121029-00 comment=NONE
Finished Control File Autobackup at 29-OCT-12

RMAN> exit

Recovery Manager complete.

[oraprod@proddb ]$ sqlplus / as sysdba
SQL*Plus: Release 11.1.0.7.0 - Production on Mon Oct 29 16:33:17 2012
Copyright (c) 1982, 2008, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from v$database_block_corruption;

no rows selected

Step 10

Drop the table and the trigger which we have created

NOTE

There are some other options which you can try

we can shrink the data file according to the free block's


SQL> Select BYTES from dba_free_space where file_id=352 and 192000 between block_id and block_id + blocks -1;

     BYTES
----------
 771612672

here we around 735 MB of free space and the original data file size is 1500 here we need to  minus the original  size for the of the file from the free space

so it will be 1500-735 =765

Resize the data file to the 765 and check

if you have the backup and the archive log then from the Rman you can issue the below command to recover the blog

blockrecover corruption list;

it will automatically recover the corrupted blocks



Sunday, October 28, 2012

Renewing default-keystore.jks certificate in fusion applications

Renewing the default-keystore.jks certificate 

In fusion applications under each and every domain a  key store is located  and know as default-key store .jks
which hold the two certificates in it for that particular domain
[1] orakey
[2] webcenter_spaces_ws

Check whether this certificats are expaired and if expaired then we need to renew with the new certificate
To Check the status of the certificates we can use key tool a command line utility which helps us to

Syntax : Key tool -list -v -key store < key store_name>
when it is prompting the password enter the key store password to display the certificates in the key store

Step 1

Check the status of the certificates from the keystore 

[oracle@fah fmwconfig]$ keytool -list -v -keystore default-keystore.jks

Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 2 entries
Alias name: orakey
Creation date: Mar 5, 2012
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=service, DC=domain_name, DC=com
Issuer: CN=service, DC=domain_name, DC=com
Serial number: 4f5430e3
Valid from: Mon Mar 05 07:20:03 GST 2012 until: Sat Sep 01 07:20:03 GST 2012
Certificate fingerprints:
         MD5:  A5:96:92:BA:16:03:B1:6D:60:F0:35:2F:CB:BC:65:B5
         SHA1: 3F:10:5F:A1:17:2A:69:23:2F:E3:9E:A7:C6:B6:99:AB:92:9E:8D:EA
         Signature algorithm name: SHA1withRSA
         Version: 3
*******************************************
*******************************************
Alias name: webcenter_spaces_ws
Creation date: Mar 5, 2012
Entry type: trustedCertEntry

Owner: CN=service, DC=domain_name, DC=com
Issuer: CN=service, DC=domain_name, DC=com
Serial number: 4f5430e3
Valid from: Mon Mar 05 07:20:03 GST 2012 until: Sat Sep 01 07:20:03 GST 2012
Certificate fingerprints:
         MD5:  A5:96:92:BA:16:03:B1:6D:60:F0:35:2F:CB:BC:65:B5
         SHA1: 3F:10:5F:A1:17:2A:69:23:2F:E3:9E:A7:C6:B6:99:AB:92:9E:8D:EA
         Signature algorithm name: SHA1withRSA
         Version: 3

check all the domains in the fusion applications to verify the default key store certificate is expired for all the domains the key-store  will be located under the fmwconfig  directory   in each domain
In the above  example the certificate  is expired on the sep01 so we need to renew the new certificate

Step 2

To create the new certificate we need to use the keytool command and before creating the new keystore backup the current keystore

check the key tool
[oracle@fah ~]$ which keytool
/u01/oracle/fa/products/fusionapps/jdk6/bin/keytool

Create a new certificate in the default-key store

SYNTAX  :keytool -genkey -keyakgRSA -alias <alias_name  -keystore <keystorename> -storepass <password > validity < nof of validity of certificate in days> keysize <size of the key> "cn=service,dc<domain_name>,dc<com"

genkey
        -used to generate the new key
keyalgRSA   we are using the rsa algorithm to generate the private key
keystore       we need to specify  the name for the key store
storepass      password for the keystoree
keysize        size of the key from 1024 to 4096
validity         No of days the certificate will be valid [you have to specify the value in days]
dname            your domain name


[oracle@fah]$ keytool -genkey -keyalg RSA -alias orakey -keystore default-keystore.jks -storepass <password>-validity 3560 -keysize 2048 -dname "cn=service,dc=<domain_name>,dc=com"

Enter key password for <orakey>
        (RETURN if same as keystore password):


if we need to keep the same password for the key store and the certificate then pres enter rather if we need to provide the new password for the cert we can give the new password 

Step 3

List the certificates inside the key-store when the key store was generated it will be generated with the single cert 

[oracle@fah]$ keytool -list -v -keystore <keystore_name>-storepass <password>

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: orakey
Creation date: Oct 25, 2012
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=service, DC=orasiserp, DC="com
"
Issuer: CN=service, DC=orasiserp, DC="com
"
Serial number: 50886309
Valid from: Thu Oct 25 01:52:09 GST 2012 until: Mon Jul 25 01:52:09 GST 2022
Certificate fingerprints:
         MD5:  61:36:FB:D6:8D:A8:54:4D:DD:B6:CF:AE:2A:D1:03:22
         SHA1: E8:78:CD:E3:21:91:9D:8B:9C:ED:B3:A6:55:E2:59:57:BA:60:86:05
         Signature algorithm name: SHA1withRSA
         Version: 3


*******************************************
*******************************************

Step 4

Once the new keystore with the certificate is created then we need to add the second certificate in the keystore

TO create a new certificate

SYNTAX: keytool -export  -alias orakey -file <file_name>-keystore <name of the keystore> -storepass<password>


file :where the new certificate will be created will be ending with the .cer
keystore :name of the keystore [default-keystore.jks]

[oracle@fah]$ keytool -export -alias orakey -file webcenter_spaces_ws.cer -keystore default-keystore.jks -storepass <password>
Certificate stored in file <webcenter_spaces_ws.cer>


Now a new certificate file is generated at the location where the keytool command had been executed
check for the new certificate file


[oracle@fah]$ ll webcenter*
-rw-r--r-- 1 oracle oinstall 774 Oct 28 13:19 webcenter_spaces_ws.cer


Step 5

Add the new certificate to the default keystore

SYNTAX: keytool -import -alais <certificate_name> -file <cert_file_name> -keystore<keystore name> -storepass<password>



[oracle@faht]$ keytool -import -alias webcenter_spaces_ws -file webcenter_spaces_ws.cer -keystore default-keystore.jks -storepass  <password>
Certificate already exists in keystore under alias <orakey>
Do you still want to add it? [no]:  yes
Certificate was added to keystore


Enter yes when it is prompting.. because we have already another certificate in the default key store


Step 6

Now check the keystore and you will find try entries

[oracle@fah] keytool -list -v -keystore default-keystore.jks -storepass <passowrd>

Follow this steps in all the default-keystore which is located under the fmwconfig  Directory ...









Wednesday, October 24, 2012

Launch workspace give the blank page in the fusion applications


Launching the Hyperion Work space from the financial reporting center gives the blank page 

Launching the work space in the fusion applications gives the Blank page .. when we try to go the bi catalog from the launch work space it gives the bank page because of the XUL manager is depreciated in the latest version of the Firefox [from version 7] to 16 as a one time workaround we need to install the Remote XUL manager add on in the Firefox For one time

Step 1

We need to add the Mozilla Firefox remote XUL Manager add on form the add on list


Step 2
Once you download and install restart the Firefox



Step 3
go to the web developer and Select the Remote XULmanager


Step 4

Add the bi external URL to the Remote XUL manager and then start the firebox


Step 5

Go to the financial reporting center and then select the launch the work space from then window



Step 6

Select the applications and the Bi catalog


Step 7

Select The folder and stat working with the reports


Friday, October 12, 2012

RCU-6130:Action failed – RCU-6135 Error while trying to execute java action

RCU-6130:Action failed – RCU-6135 Error while trying to execute java action

This error is caused because some of the expected components installed with the fusion applications database are not installed

Step1

while installing the database we need to check the mandatory options as below in the screen

[1]Oracle Partitioning [2] OLAP [3]Lable Security[4]Data Mining[5]Real Time Applications Testing 


Step2

Install the required patches in the database from the installers

find the patch list in the location /path_of_staged_rup3/rup3/installers/database/11202patch
This patches may change according to the oracle's advice please refer the latest release note's for the fusion applications before installing the patches
Oracle Fusion Applications Release Notes, 11g Release 1, Update 3 (11.1.4) [ID 1455116.1]
[oracle@fahdb 11202patch]$ ls

10077191  10220058  10238786  10269193  10419629  11742094  11883804  12544032  12686274  13004894  13365700  13476197  8223165  9700115  9885553 10142788  10232083  10259620  10325230  11689869  11786272  12329775  12579349  12737666  13356617  13420723  13576540  9401552  9729764

Step 3

Check the components


SQL> select * from v$option where parameter in (
2 'Data Mining','Java','OLAP','Oracle Label Security','Spatial');PARAMETER VALUE
-------------------------------------------------- ------------------------------
Spatial                                          TRUE
Java                                              TRUE
Oracle Label Security                     TRUE
OLAP                                            TRUE
Data Mining                                   TRUE 

SQL> SELECT comp_name, status, substr(version,1,10) as version FROM dba_registry WHERE comp_id = 'CONTEXT';

COMP_NAME                      STATUS                         VERSION
------------------------------ ------------------------------ ------------------------------
Oracle Text                    VALID                          11.2.0.3.0



SQL> select * from ctxsys.ctx_version;

VER_DICT                                 VER_CODE
---------------------------------------- ----------------------------------------
11.2.0.3.0                               11.2.0.3.0

Now rerun The RCU...

If you had missed up nay post patching steps of the CTX Package then you may get this error also to rectify this error we need to follow all the steps the post install patch for all the patches which has it


when you have completed all the patching and the post patching steps then proceed to install the rcu .. RCU has the automatic cleaning of the Previous session so when this kind of error occurs cancel the RCU and rectify the cause and then rerun the RCU


Check the post regarding the steps to create the RCU

Sunday, October 7, 2012

ERROR OGG-01028 Recovery record is missing from log with seqno when extract has reached log with seqno block size 512, and next_checkpoin t RBA


ERROR   OGG-01028  Recovery record is missing from log with seqno <no> when extract has reached log with seqno <no>, block size 512, and next_ checkpoint to RBA at <number>

when  we  manually stop the extract then   current/next checkpoint is set to a zero length record in redo nay cause this issue
The zero length record is skipped as the gg thinks that there is no data and the rbd moves to the next block skipping the current one but the recovery  code thinks that there is a data miss and then cause this error when we restart the extract

Step 1

Check the current status of the extract by using the
Syntax info extract <extract name> 

info extract setupe

EXTRACT    SETUPE    Last Started 2012-10-07 01:05   Status ABENDED
Checkpoint Lag       00:00:00 (updated 01:16:44 ago)
Log Read Checkpoint  Oracle Redo Logs
                     First Record         Thread 1, Seqno 61, RBA 710938008
Step 2

Backup the files in the dirchk  directory
dirchk directory lays under the root directory of the gg where all the checkpoint's for the replicates and the extracts are store 
[oracle@fah gg]$ cd dirchk
[oracle@fah dirchk]$ cp SETUPE.cpe SETUPE_backup.cpe
[oracle@fah dirchk]$ cp SETUPE.cpb SETUPE_backup.cpb

Step 3

To find the current extract seq-no and  read write and recovery rba issue the show ch command  in the extract

SYNTAX: info <extract_name>,showch

GGSCI (fahdb.oasiserp.com) 4> info SETUPE,showch

EXTRACT    SETUPE    Last Started 2012-10-07 01:05   Status ABENDED
Checkpoint Lag       00:00:00 (updated 01:17:16 ago)
Log Read Checkpoint  Oracle Redo Logs
                     First Record         Thread 1, Seqno 61, RBA 710938008

Oracle RAC Redo Log

  Start up Checkpoint (starting position in the data source):
    Thread #: 1
    Sequence #: 61
    RBA: 710938008
    Time stamp:
    SCN: Not available
    Redo File: +FLASH/fah/onlinelog/group_1.260.792016705

  Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
    Thread #: 1
    Sequence #: 61
    RBA: 710938008
    Timestamp:
    SCN: Not available
    Redo File: +FLASH/fah/onlinelog/group_1.260.792016705

  Current Checkpoint (position of last record read in the data source):
    Thread #: 1
    Sequence #: 61
    RBA: 710938008
    Timestamp:
    SCN: Not available
    Redo File: +FLASH/fah/onlinelog/group_1.260.792016705

Step4

we need to alter the current Checkpoint and the recovery Checkpoint to the next block number 
To find the next block number we have a calculation

Ceil(Current Rba /block_number)*(block_number)

In the above scenario we have the 

current RBA as  710938008
Block size     as  512

SQL> select ceil (710938008/512)*512  from dual;

CEIL(710938008/512)*512
-----------------------
              710938112
As the the above example the next RBA is 710938112  the block number and the seq number remains same

Step 5

SYNTAX: alter <extact_name  >, extseqno <seq#>, extrba <rba#>

The extract extract_name ,extseqno <the same seq number>,extrba <The new Rba which is calculated above >

GGSCI (fahdb.oasiserp.com) 8> alter extract SETUPE ,extseqno 61,extrba 710938112

ERROR: Only time stamps may be altered for checkpoints of all RAC instances. Use THREAD option to alter position per thread..

If we are using the Rac  instance or the single node HAS service then we need to specify the thread number while alerting the extract 

Step6

Check the size of the archive log and whether it is greater than the next rba which we have calculated if it is greater then proceed with the following steps

Alter the extract with the next rba

we need to alter the extract with the next rba to proceed

Synatx : alter extract <extract_name>,thread 1,extseqno <ext sequence number>,extrba <extrba number>


GGSCI (fah) 2> alter extract SETUPE ,thread 1, extseqno 61,extrba 710938112 [ next rba]
EXTRACT altered.


To Alter the extract with the io ext sequence 

we need to alter the extract io sequence with the current rba  we can proceed with yes when it Prompts you

Syntax   Alter extract <extract_name>,thread1 ,ioextseqno <current seq number > ,ioextrba <current rba>



GGSCI (fah) 3>  alter extract SETUPE ,thread 1, ioextseqno 61,ioextrba 710938008 [current rba]


2012-10-07 03:15:11  INFO    OGG-00988  WARNING: Unsupported operation. This mig EXTRACT: ioseq = 61 iorba = 710938008.
Are you sure you want to continue? yes
EXTRACT altered.



Step7

Check the changes in the extract by issuing the info extract_name ,showch
once you conform the changes had taken effect start the extract


GGSCI (fah) 4> start extract SETUPE

Sending START request to MANAGER ...
EXTRACT SETUPE starting

check the extract status


GGSCI (fahdb.oasiserp.com) 10>  info setupe

EXTRACT    SETUPE    Last Started 2012-10-07 03:15   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:05 ago)
Log Read Checkpoint  Oracle Redo Logs
                     2012-10-07 03:17:11  Thread 1, Seqno 62, RBA 896522768



   


Friday, October 5, 2012

keytool error: gnu.javax.crypto.keyring.MalformedKeyringException: incorrect magic

keytool error: gnu.javax.crypto.keyring.MalformedKeyringException: incorrect magic

This error occurs when there are may key tools available in the system .. we the environment variable is set in the system to use the particular keytool then this error will not occur. normally in fusion applications we can set the environmental  variables by using adsetenv.sh which is located in the $APPL_TOP/lcm/ad/bin ..

Step1


[root@fah ~]# keytool -list -v -keystore default-keystore.jks -storepass <password>

keytool error: gnu.javax.crypto.keyring.MalformedKeyringException: incorrect magic

Step2


[root@fah ~]# locate keytool

It will display The list of key tools which is running in the system



/u01/oracle/fa/products/dbclient/jdk/bin/keytool
/u01/oracle/fa/products/dbclient/jdk/jre/bin/keytool
/u01/oracle/fa/products/fusionapps/bi/jdk/bin/keytool
/u01/oracle/fa/products/fusionapps/bi/jdk/jre/bin/keytool
/u01/oracle/fa/products/fusionapps/bi/jdk_bak_0/bin/keytool
/u01/oracle/fa/products/fusionapps/bi/jdk_bak_0/jre/bin/keytool
/u01/oracle/fa/products/fusionapps/jdk6/bin/keytool
/u01/oracle/fa/products/fusionapps/jdk6/jre/bin/keytool
/u01/oracle/fa/products/fusionapps/wlserver_10.3/server/native/linux/i686/wlkeytool
/u01/oracle/fa/products/fusionapps/wlserver_10.3/server/native/linux/x86_64/wlkeytool
/u01/oracle/fa/products/webgate/access/_jvmWebGate/bin/keytool
/u01/oracle/fa/products/webgate/access/_jvmWebGate/man/ja/man1/keytool.1
/u01/oracle/fa/products/webgate/access/_jvmWebGate/man/ja_JP.eucJP/man1/keytool.1
/u01/oracle/fa/products/webgate/access/_jvmWebGate/man/man1/keytool.1
/u01/oracle/fa/products/webtier_mwhome/oracle_common/jdk/bin/keytool
/u01/oracle/fa/products/webtier_mwhome/oracle_common/jdk/jre/bin/keytool
/u01/oracle/fa/products/webtier_mwhome/webtier/jdk/bin/keytool
/u01/oracle/fa/products/webtier_mwhome/webtier/jdk/jre/bin/keytool
/u01/oracle/fa/products/webtier_mwhome/webtier/jdk.orig/bin/keytool
/u01/oracle/fa/products/webtier_mwhome/webtier/jdk.orig/jre/bin/keyto


Once you set the fusion applications environmental variables it will display the keytool under the fusionapps/jdk  or you need to give the absolute path for the keytool and then process with the parameters

After the sourcing the env file APPSENV.ora the path to the key tool will be set


[oracle@fahtestdb ~]$ which keytool
/u01/oracle/fa/products/fusionapps/jdk6/bin/keytool

Or 

[oracle@fah ]# /u01/oracle/fa/products/dbclient/jdk/bin/keytool  -list -v -keystore default-keystore.jks -storepass <passoord>

Keystore type: jks
Keystore provider: SUN
Your keystore contains 2 entries
orakey, Mar 5, 2012, keyEntry,
Certificate fingerprint (MD5): 
webcenter_spaces_ws, Mar 5, 2012, trustedCertEntry,
Certificate fingerprint (MD5): 







Wednesday, October 3, 2012

Essbase Error(1060001): NULL argument (%s) passed to ESSOTL function %s


Exception::Cannot verify cube outline. Essbase Error(1060001): NULL argument (%s) passed to ESSOTL function %s

If you are accessing the Esssbase from the fusion applications and when you are trying to modify the essbase  [insert ] then it gives the error
the otl is the database outline which resides in the fusion applications path
/u01/oracle/fa/config/BIShared/Essbase/essbaseserver1/app/<application_name>/db/db.otl  and it is the binary file

Error Message

Known Warning with otl close :: Cannot verify cube outline. Essbase Error(1060001): NULL argument (%s) passed to ESSOTL function %s
addTreeVersionToOutline(): known otl save exception ::  : Exception::Cannot verify cube outline. Essbase Error(1060001): NULL argument (%s) passed to ESSOTL function %s publishTreeVersions() : cube outline is opened :: otl2

publishTreeVersions() : cube outline is opened :: otl5
sortCOAMembers(): EssException: Cannot get member information. Essbase Error(1290001): Network Error [10061]: Unable To Connect To [<hostname>:10302].  The client timed out waiting to connect to the Essbase Server using TCP/IP.  Check the network connections. Also make sure that Server and Port values are correct.
sortCOAMembers(): EssException: Cannot get member information. Essbase Error(1290001): Network Error [10061]: Unable To Connect To [<hostname>:10302].  The client timed out waiting to connect to the Essbase Server using TCP/IP.  Check the network connections. Also make sure that Server and Port values are correct.
sortCOAMembers(): EssException: Cannot get member information. Essbase Error(1290001): Network Error [10061]: Unable To Connect To [<hostname>:10302].  The client timed out waiting to connect to the Essbase Server using TCP/IP.  Check the network connections. Also make sure that Server and Port values are correct.
publishTreeVersions(): Known Warning with otl close :: Cannot verify cube outline. Essbase Error(1290001): Network Error [10061]: Unable To Connect To [fahapp.oasiserp.com:10302].  The client timed out waiting to connect to the Essbase Server using TCP/IP.  

Cause of the error 

Check the network connections. Also make sure that Server and Port values are correct this error is due to the port value which is specified in the o/s check the port range 

Check the local_port_range
net.ipv4.ip_local_port_range = 9000 65500

and change the local port range to the min and max number of ports specified 
1024 to 65535

net.ipv4.ip_local_port_range = 1024  65535

bounce the BIDomain and the bi 'C' stuff and retest the issue

fastartstop script is used to start and stop  the admin server and the managed server's of the particular domain or the whole fusion applications .. 

Stopping the BI Domain 

$APPL_TOP/lcm/ad/bin/fastartstop.sh -Stop -domains <domain_name>... -username <username> -appbase $APPL_TOP 

-domains we can specify multiple domains or single domain
-username the user who owns the domain
-appbase  $APPL_TOP

starting the BI domain 

$APPL_TOP/lcm/ad/bin/fastartstop.sh -Start -domains <domain_name>... -username <username> -appbase $APPL_TOP -startAdminServer -true

The default mode is the admin server will be shutdown when we are running the fastartstop with start or stop options  so if we need to start the admin server by using the parameter -startAdminServer -true

To Bounce the 'C' stuff go to the BIInstance path and bin/opmnctl 

./opmnctl stopall
./opmntl startall
./opmnctl status -l

you can stop the individual ias component also but in this scenario we need to bounce the full opmnctl  
 



adadmin Maintain Applications Database Entities in fusion applications

Adadmin Maintain Applications Database Entities[Fusion applications]

Through the adadmin maintain applications  Database entities  we are able to manage the  objects or data related to Oracle Fusion Applications.we can check the status of the objects or entities which is related to the fusion applications in the database   as a regular maintenance procedure, and we can compile and provide the health check and regnant the fusion application schema roles and responsibilities

            AD Administration Main Menu
   --------------------------------------------------

   1.    Maintain snapshot information

   2.    Maintain Applications Database Entities menu

   3.    Exit AD Administration
  
select the menu 2 for database related maintenance activities

Compiling the invalid objects in the Fusion applications database

Enter your choice [3] : 2

         Maintain Applications Database Entities
   ---------------------------------------------------

   1.    Compile Invalid Objects

   2.    Health Check

   3.    Re-create grants for FUSION schema

   4.    Maintain multi-lingual tables

   5.    Return to Main Menu


After entering  you choice you will able to find the 5 menus regarding the applications database entities


Enter your choice [5] : 1

sqlplus -s /nolog @/u01/oracle/fa/products/fusionapps/applications/lcm/ad/db/sql/adutlrcmp.sql ***** ***** 0 ALL

Getting list of invalid objects in FUSION schema.

sqlplus -s /nolog @/u01/oracle/fa/products/fusionapps/applications/lcm/ad/db/sql/adallinvobj.sql ***** ***** /u01/oracle/fa/products/fusionapps/applications/admin/FUSION/log/adtest_prepatch_invalidobjects

Invalid object reports are recorded in
/u01/oracle/fa/products/fusionapps/applications/admin/FUSION/log/adtest_prepatch_invalidobjects.*

Review the messages above, then press [Return] to continue.

It will compile all the invalid objects and if some of the objects are not compiled you can find the name of the object in the report file 


Running the health check by using the adadmin

         Maintain Applications Database Entities
   ---------------------------------------------------

   1.    Compile Invalid Objects

   2.    Health Check

   3.    Re-create grants for FUSION schema

   4.    Maintain multi-lingual tables

   5.    Return to Main Menu

Enter your choice [5] : 2

sqlplus -s /nolog @/u01/oracle/fa/products/fusionapps/applications/lcm/ad/db/sql/adhlcheck.sql /u01/oracle/fa/products/fusionapps/applications/admin/FUSION/log ALL FUSION fusion_dynamic

The following file has been generated in /u01/oracle/fa/products/fusionapps/applications/admin/FUSION/log:
        - ad_health_check_report.html.

Successful completion of the SQL scripts above does not
guarantee that any or all of your FUSION schemas are correct.

You must review the output from this validation step and fix
all indicated problems.  You should then re-run this step to
ensure that all problems have been corrected.

Check the health check report and fix the issue in the fusion database 


Re-create grants for FUSION schema using Ad admin


   1.    Compile Invalid Objects

   2.    Health Check

   3.    Re-create grants for FUSION schema

   4.    Maintain multi-lingual tables

   5.    Return to Main Menu

Enter your choice [5] : 3

Processing FUSION objects and roles.

sqlplus -s /nolog @/u01/oracle/fa/products/fusionapps/applications/lcm/ad/db/sql/adsodgts.sql

Processed FUSION objects and roles.

It will re-grant all the privileges   to the fusion schema [same like apps schema in the EBS]



Monday, October 1, 2012

Creating OAM11g database RCU


Creating OAM 11g database RCU 


we need to create the  Rcu for OAM 11g with the fusion applications  for executing the rcu we need to create the separate database with all necessary init parameters
For the fusion applications there are two database rcu's want  be created  from the IDM side one is for the OID oracle internet directory and another one is for the OAM [oracle access manager]

Step1

GO the the installers/fmw_rcu/linux/bin and start the rcu by  ./rcu


Step2

click next to proceed to the next step


Step3

Select  Create to create the Rcu


Step4

provide the necessary values for the database connection


Host-name           :fully qualified host-name
Port                      :database prot number
Service Name       :database service name
User Name           :database username [sys]
password              :password of the sys user
Role                      :sysdba

Step5

Click Ok  after completing the success full test of prerequisites


Step6

Select the necessary components for installation of the OAM repository

Components to be selected for installing the OAM RCU with the fusion applications
1]AS common Schema
2]Metadata Services
3]Audit Services
4] In identity management cluster select all expect the ODS .. ODS is used for the oracle directory services will be installed in the separate database which will support the OID 
5]SOA and BPM infrastructure
6]SOA Infrastructure
7]User Messaging Services




Step7

It will check the prerequisites for installing the necessary components


Step8

Provide the necessary password for all the OAM schema's


Step9

Click ok to create the necessary Tablespace


Step10

Click Ok


Step11

Select create to create the rcu in the database


Step12

Click Close once the RCU is completed sucessfully


Creating Fusion applications database RCU

Creating the repository in fusion applications database [RCU]

The repository creation utility is used to create the  Fusion schema's in the bare Mattel database before Installing the fusion applications we need to install the separate database which holds the data's of the fusion applications and two other database's for IDM

The fusion applications database which holds the schema for all the modules of the fusion applications ...there are some special init Parameter's for the Fusion applications database we need to specify refer to the release notes or EDG for init parameters which suites your environment 

For starting the RCU screens we need go to the location where the binaries are unzipped  /fashared/rup3/installers/apps_rcu/linux
you will find a  zip file called  rcuHome_fusionapps_linux.zip
unzip the rcuHome_fusionapps_linux.zip in the /tmp directory
copy the bi component  from rcu/integration/biapps/schema and place it in the unzipped directory /tmp/rcu

Step1

Run the  RCU



Step 2
Select the create to create the RCU in the database


Step 3

We need to Specify the database connection  


Host name    :fully qualified host name
Port              :database port
service name :database service name
Username      :sys
Role               :sysdba

Step4

Rcu will check the prerequisites  to create the repository



Step5

We need to select the Fusion applications ,secure Enterprise search  to create the fusion applications repository


Step6

Click Ok when all the prerequisites are fulfilled


Step 7

Provide the necessary password for all the schema



Step8

Provide the values in the boxes


Directory on the database machine  :        /tmp/rcu  we have unzipped the rcu from the installers  in the /tmp/rcu
APPLCP_FILE_LOG                              =$ORACLE_HOME/log
APPLLOG_DIR                                      =$ORACLE_HOME/log
OBIEE backup dir                                     /tmp/rcu
KEYFLEXCOMPFIELTER                     /tmp/rcu
Advanced compression option                   N    [if you have advanced compression options in you db environment then you can give Y]
partitioning                                                 Y     [ oracle partitioning ]
Master repository                                      501
Work repository                                         D == provide the value D not provide the value R ...
Work repository ID                                   501
Work repository_Name                             Fusionapps_WREP
Oracle transactional   BI                             /tmp/rcu
Activity Graph and analysis                      Y

Step9

Create the necessary table spaces


Step10

click Ok to proceed to the next page



Step11

Check the summary of creation done by the Rcu




Step12

check the Rcu had completed successfully