Monday, February 7, 2011

Database up gradation from 10g ( 10.2.0.4 ) to 11g ( 11.1.0.7) in Oracle Application 11i

Metalink Note : 452783.1

Step 1 : Down Load the Database Software from (edelivery.oracle.com/ or. http://www.oracle.com/tehnology/software/products/database/index.html
1. 11g Database ( Base versions 11.1.0.6) --- V14215-01_1of2.zip
2. Oracle Database 11g Examples ( formerly Companion ) ---- aix.ppc64_11gR1_examples.zip
3. 11g Database (11.1.0.7) Patch set ---- p6890831_111070_AIX5L_1of2.zip

Step 2: Stop the Oracle Application services , and Shutdown the Database and Db Listener.
Take Full Cold Backup.
Step 3: Create a New 11g Database Home :
/B01/oracle $ mkdir test11gdb
Step 4 : Install the 11g Database only Software only.
$ export Oracle_Base = /B01/oracle/test11gdb …. Export Oracle_SID = TESTNW
cd /t01/clone/others/patches/upgrd_db11g/database_11g/database$
$ ./runInstaller -invPtrLoc /B01/oracle/test11gdb /oraInst.loc

Note: For oracle Inventory Location
Create OraInst.loc file in the ( at New oracle Base /B01/oracle/test11gdb location)
Create directory .. mkdir oraInventory
$ Vi oraInst.loc
Inventory_loc = /B01/oracle/test11gdb/oraInventory
Inst_group = dba
**** next… next… next. ------------------------------------------------------------------------------------------------
Oracle Base Location : /B01/oracle/test11gdb
Oracle Home : /B01/oracle/test11gd/product/11.1.0/db_1 ----------- system will create.
Install ** Software Only **** …… Finish … The Oracle 11g base verion 11.1.0.6 will installed


Step 5: Install the Oracle Database 11g Examples ( formerly Companion )
In the Default New Oracle_home ( /B01/oracle/test11gdb/product/11.1.0/db_1 ).
Source Oracle_home / Oracle Sid
$ cd /t01/clone/others/patches/upgrd_db11g/11g_Example_cd_companion/examples
$ ./runInstaller
**** next … next … some of the products like /ctx/sample directory will create. ---- finsh


------------------------------------------------------------------------------------------------------------------------------


Step 6: Install the 11g Database (11.1.0.7) Patch set
$ cd /t01/clone/others/patches/upgrd_db11g/11gPatchset/Disk1
$ ./runInstaller -invPtrLoc /B01/oracle/test11gdb /oraInst.loc

--------- next … next …. Next… the patchset will installed i.e 11.1.0.7

Step 7 : Create nls/data/9idata diretory.
$ORACLE_HOME/nl/data/old/cr9idata.pl -----created
$Oracle_home/nls/data/9idata directory.

Step 8 . Apply additional 11.1.0.7 RDBMS Patches. As per the 452783.1 Metalink ID
6530141 , 6815733 , 6972189 , 7111245 , 7253531 , 7295298 , 7486407 , 8940108
9743057.
Opatch utility for apply Database patches.
Create one environment file :
bash-3.00$ cat s.env
export ORACLE_HOME=/B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1
export ORACLE_SID=TESTNW
export TNS_ADMIN=/B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1/network/admin/
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/bin/OPatch:$PATH
export ORACLE_BASE=/B01/oracle/test11gdb/11.1.0

bash-3.00$

-bash-3.00$./opatch version --- find the opatch version
bash-3.00$./opatch apply <>
$ opatch apply /B01/patches/DB_patches/6530141 ------ for apply the patch
opatch rollback -id -- roll back the applied patch
$ORACLE_HOME/OPatch/opatch lsinventory -invPtrLoc /slot/ems2029/oracle/db/tech_st/11.1.0/oraInst.loc
$./opatch lsinventory ------ for find out Patch applied or not.

****** any inventory corruption error
opatch lsinventory –detail
Note:
For Oracle Universal Installer version 10.2.0.2.0 and above, you will have the following scripts in Oracle home to recover from Oracle home inventory corruption:
detachHome.bat / detachHome.sh: Use this script if the Oracle home is corrupted or needs to be updated.
· attachHome.bat / attachHome.sh: Use this script if the Oracle home needs to be added to the inventory.



If Problem Not solved
** Move the /etc/Orainventory Directory …for backup.
Create New /etc/oraInventory directory …

bash-3.00$ pwd at 11g New home. We can find *.sh files.
$find . –name detachHome.sh -print
/B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1/oui/bin
-rwxrwxr-x 1 oradev dba 213 Jan 29 12:08 detachHome.sh
-rwxrwxr-x 1 oradev dba 306 Jan 29 12:08 attachHome.sh

And run $sh attachHome.sh -------- for new Oracle_home add in New inventory
===================================================================================
Step 9 : For Database Upgradation – Run Pre –Upgrade tool Process. Run utlu111i.sql from Old _ Oracle Home (10g)
a). Copy the utlu111i.sql (/B01/oracle/test11gdb/product/11.1.0/db_1/rdbms/admin) to
/tmp Directory.
b). Stop all the services/ Tns listener / any other in the Instance.
c). Source the enviro nment at Old_Oracle _Home ( /B01/oracle/test10gdb/10.2.0).
$ sqlplus ‘/as sysdba’
Sql> startup ---------- startup the OLD DB from Old_oracle HOME
Sql> spool upgrade_info.log
Sql> @/tmp/utilu11i.sql
Sql> spool off
Sql> shut immediate;

*** open upgrade_info.log file and take correct action plan.

Step 10. Create new Database Listener
$ source the 11g New Database Home
$./netca
Note : ** Give As per the OLD Listener … Same Lisener name : TESTNW … Same Port : 1571

Step 11: Check the Time zone version .. compatibilities

Step 12: Start the Upgradation.
Source the New Database Home . and SID ,Path …
New Listener should be up.
$ cd ORACLE_HOME/bin
$./dbua
· chose … Database Don’t Move.
· Next… next… password : DBSNMP..SYSMAN -> pitti ……………….. FINISH.
------------- OR ----------------
For manual upgrade without use ./dbua
Shut down the database:

SQL> SHUTDOWN

Enter the following SQL*Plus commands:

SQL> STARTUP UPGRADE

SQL> SPOOL patch.log

SQL> @?/rdbms/admin/catupgrd.sql
SQL> SPOOL OFF
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
************* Upgraded from source 10.2.0.4 to Target 11.1.0.7 **************
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
------------------------------------------------------------------------------------------------------------------
Modify initialization Parameters Metalink Note : 216205.1 for Oracle 11i ( 11.1.0.7 )
See the Page No: 10
------------------------------------------------------------------------------------------------------------------------------------
After the Database Upgrade
i). Fix Korean lexers
$sqlplus ‘/as sysdba’
@ORACLE_HOME/ctx/sample/script drkorean.sql

ii). Run adgrants.sql
copy $APPL_TOP/admin/agrants.sql to New_Oracle_home/rdbms/admin
$sqlplus ‘/as sysdba’ @ adgrants.sql APPLSYS
III). Grant create procedure privilege on CTXSYS
Copy $AD_TOP/patch115/adctxprv.sql to New_Oracle_home/rdbms/admin
$ sqlplus apps/apps @adctxprv.sql MANAGER CTXSYS
================================================================================
IV). Implement and run AUTOCONFIG.
a).
a. Log in to server with applmgr userb. source /oracle/tst10appl/[context_name].envc. perl $AD_TOP/bin/admkappsutil.pld. cp $APPL_TOP/admin/out/appsutil.zip /B01/oracle/test11gdb/product/11.1.0/db_1/e. Login to server with oracle userf. cd /B01/oracle/test11gdb/product/11.1.0/db_1 -- NEW 11g HOMEg. unzip –o appsutil.zip
b). source the environment
bash-3.00$ cat s.env
export ORACLE_HOME=/B01/oracle/test11gdb/product/11.1.0/db_1
export ORACLE_SID=TESTNW
export TNS_ADMIN=/B01/oracle/test11gdb/product/11.1.0/db_1/network/admin/
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/bin/OPatch:$PATH
export ORACLE_BASE=/B01/oracle/test11gdb/11.1.0

$ s.env ------------- source the environment.

c). ** create .xml file create.

$cd /B01/oracle/test11gdb/product/11.1.0/db_1/bin
$perl adbldxml.pl tier=db appsuser=apps appspass=apps
Host name : erpprod
SID : TESTNW
Xdisplay : erpprod:0.0

d). *** Run Auto Config from db_tier.
$cd /B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1/bin
$ ./adconfig.sh
Enter the context file path =/B01/oracle/test11gdb/product/11.1.0/db_1/appsutil/TESTNW_erpprod.xml




*** After complete the autoconfig the Environment file will automatically created in 11g oracle_home
Cd /B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1
ash-3.00$ ls *.env
TESTNW_erpprod.env






e). * Note : autoconfing core dump error ,

Solution : take ,xml backup , and modified with perl verision 5.8.3 , and re-run autoconfig.
$ cp TESTNW_erpprod.xml TESTNW_erpprod.xml_bak07_feb_2011
$ vi TESTNW_erpprod.xml
/B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1/perl/bin/perl
/B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1/perl/lib/5.8.3/aix-thread-multi:/B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1/perl/lib/5.8.3:/B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1/perl/lib/site_perl/5.8.3/aix-thread-multi:/B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1/perl/lib/site_perl/5.8.3:/B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1/perl/lib/site_perl:.:/B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1/appsutil/perl:/B01/oracle/test11gdb/11.1.0/product/11.1.0/db_1/appsutil/perl

· - re – run autoconfig at db_tier.
==============================================================================
f). Note : any temp datafile error while run autoconfing.

HELP : RE- CREATE / Add the temp data file for NEW TEMPORARY TABLESPACE
--------------------------------------------------------------------------------------------------

select property_name, property_value from database_properties where property_name='DEFAULT_TEMP_TABLESPACE'

CREATE TEMPORARY TABLESPACE temp1
TEMPFILE '/B01/oracle/testdata/temp01.dbf' SIZE 5000M REUSE
AUTOEXTEND ON NEXT 1M MAXSIZE unlimited

DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES; --- drop old one.

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp1

ALTER TABLESPACE temp1 ADD TEMPFILE '/B01/oracle/testdata/temp02.dbf' SIZE 5000M REUSE
AUTOEXTEND ON NEXT 1m MAXSIZE UNLIMITED





v). Gather statistics for Sys schema.
Copy $APPL_TOP/admin/adstats.sql to New_oracle_home/rdbms/admin
Sql> shutdown normal
Sql> startup restrict;
Sql> @adstats.sql
Sql> shutdown normal ;
Sql> startup.

VI. Re-Create custom database links
Sql> select db_link from dba_db_links;
Sql> drop database link ( custom database link )
Sql> create database link < testnw=" (DESCRIPTION="" address="(PROTOCOL="tcp)(HOST="erpprod.pittilam.com)(PORT="1571))" connect_data=" (SID="TESTNW)">user / pwd /port number / sid . net lisener ) )


VII . Re- create grants and synonyms.
At Application side : source the environment
$ adadmin
Select “Application file system “ menu à Recreate grants and synonyms for APPS Schema.

VII. Restart the Application Server Processes.
Modify initialization Parameters Metalink Note : 216205.1 for Oracle 11i ( 11.1.0.7 )
Through dbua create new initTESTNW.ora file.
***** bash-3.00$ cat initTESTNW.ora

TESTNW.__db_cache_size=230686720
TESTNW.__java_pool_size=67108864
TESTNW.__large_pool_size=117440512
TESTNW.__oracle_base='/B01/oracle/test11gdb/11.1.0'#ORACLE_BASE set from environment
TESTNW.__pga_aggregate_target=1073741824
TESTNW.__sga_target=1073741824
TESTNW.__shared_io_pool_size=0
TESTNW.__shared_pool_size=629145600
TESTNW.__streams_pool_size=4194304
*._b_tree_bitmap_plans=FALSE# adding as per metalink docu
*._optimizer_autostats_job=false# adding as per metalink docu
*.aq_tm_processes=1
*.audit_file_dest='/B01/oracle/test11gdb/11.1.0/TESTNW/admin/adump'
*.compatible='11.1.0'
*.control_files='/B01/oracle/testdata/cntrl01.dbf','/B01/oracle/testdb/cntrl02.dbf','/B01/oracle/testdata/cntrl03.dbf'
*.cursor_sharing='EXACT'
*.db_block_checking='FALSE'
*.db_block_checksum='TRUE'
*.db_block_size=8192
*.db_files=512
*.db_name='TESTNW'
*.diagnostic_dest='/B01/oracle/test11gdb/11.1.0'
*.dml_locks=10000
*.java_pool_size=67108864
*.job_queue_processes=2
*.large_pool_size=117440512
*.local_listener='LISTENER_TESTNW'
*.log_buffer=14238720
*.log_checkpoint_interval=100000
*.log_checkpoint_timeout=1200
*.log_checkpoints_to_alert=TRUE
*.max_dump_file_size='20480'
*.nls_comp='binary'
*.nls_date_format='DD-MON-RR'
*.nls_language='american'
*.nls_length_semantics='BYTE'
*.nls_numeric_characters='.,'
*.nls_sort='binary'
*.nls_territory='america'
*.olap_page_pool_size=4194304
*.open_cursors=600
*.optimizer_secure_view_merging=FALSE
*.parallel_max_servers=8
*.parallel_min_servers=0
*.pga_aggregate_target=1073741824
*.plsql_code_type='INTERPRETED'
*.plsql_optimize_level=2
*.processes=400
*.query_rewrite_enabled='true'
*.sec_case_sensitive_logon=FALSE# adding as per metalink docu
*.session_cached_cursors=500
*.sessions=445
*.sga_target=1073741824
*.shared_pool_reserved_size=157286400
*.shared_pool_size=314572800
*.undo_management='AUTO'
*.undo_tablespace='APPS_UNDOTS1'
*.utl_file_dir='/usr/tmp','/usr/tmp','/usr/tmp','/p01/oracle/proddb/9.2.0/appsutil/outbound/PROD_prod','/B01/oracle/test10gdb/10.2.0/appsutil/outbound/TESTNW_erpprod','/usr/tmp'
*.workarea_size_policy='AUTO'
bash-3.00$

CREATE A PHYSCIAL STANDBY DATABASE - ORACLE 10G DATAGUARD CONCEPT.

1. Os versions / Database Versions / Patchset Level should be same.
2. SID should be same , if not use convert parameter in pfile.
· Here SID = CLONE is the same between two servers.

Primary side

Hostname : devr12.pittioffice.com
Sid : CLONE
Ip : 192.168.0.209

a).Install the Linux Operating system , and #setup -à Disable Firewall at OS Level Mandatory
b).Install the Oracle 10g Software
System pwd : sadha ; Sys pwd : pitti ---à these two password should same into two nodes.

Rman configuration -- if require.
Database in the Archive log mode.


c). configure ssh between two servers.

**
Ssh configuration between to nodes ( servers )
1 st Node side side : 192.168.0.209 Primary side.

a). Login – oracle user
b). mkdir ~/.ssh
chmod 755 ~/.ssh
$/usr/bin/ssh-keygen –t rsa
$ /usr/bin/ssh-keygen –t -dsa
$ cd .ssh
$ cat id_rsa.pub > devr12
Cat id_dsa.pub >> devr12

2nd Node side: 192.168.0.99 Standby side.

a). Login – oracle user
b). mkdir ~/.ssh
chmod 755 ~/.ssh
$/usr/bin/ssh-keygen –t rsa
$ /usr/bin/ssh-keygen –t -dsa
$ cd .ssh
$ cat id_rsa.pub > test
Cat id_dsa.pub >> test
$ scp test devr12:/p01/oratest/.ssh






1 st Node side

$ cd .ssh
$ cat devr12 > authorized_keys
$ cat test > > authorized_keys

$ scp authorized_keys test:/p01/oratest/.ssh
**** Establish user equableness
$/usr/bin/ssh-agent $SHELL
$/usr/bin/ssh-add

2 nd Node side
**** Establish user equableness
$/usr/bin/ssh-agent $SHELL
$/usr/bin/ssh-add


**** check the without password we can connect through ssh between 2 servers ( both nodes side )

$ ssh test
$ ssh devr12
$ ssh test.pittioffice.com
$ ssh devr12.pittiofficec.om
$ ssh 192.168.0.99
$ ssh 192.168.0.209










*** Create environment file.

[test@devr12 db_1]$ cat clone.env

export ORACLE_HOME=/p01/oratest/oracle/product/10.2.0/db_1
export ORACLE_SID=CLONE
export PATH=$ORACLE_HOME/bin:$PATH
export TNS_ADMIN=/p01/oratest/oracle/product/10.2.0/db_1/network/admin

[test@devr12 db_1]$






d). Configure the Listener.ora at primiary side.

[test@devr12 admin]$ pwd
/p01/oratest/oracle/product/10.2.0/db_1/network/admin

[test@devr12 admin]$ cat listener.ora
# listener.ora Network Configuration File: /p01/oratest/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

CLONE =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = devr12.pittioffice.com)(PORT = 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)

SID_LIST_CLONE =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLONE)
(ORACLE_HOME = /p01/oratest/oracle/product/10.2.0/db_1)
)
)






















e).Configure Tnsnames.ora at primary side.


CLONE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = devr12.pittioffice.com)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = CLONE)
)
)

CLONE_STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = test.pittioffice.com)(PORT = 1522))
)
(CONNECT_DATA =
(SID=CLONE)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = CLONE)
(PRESENTATION = RO)
)
)






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

** startup the listener at primary side.

$ lsnrctl start CLONE.

f).* Create password file at Primary side. And copy to standby side

$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle entries=5 force=y

Copy to orapwd file to Standby database side.



g). Ad the Standby redolog at Primary side. With same size.


ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/p01/oratest/product/10.2.0/oradata/CLONE/redo004.log') SIZE 50M;ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/p01/oratest/product/10.2.0/oradata/CLONE/redo004.log') SIZE 50M;ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/p01/oratest/product/10.2.0/oradata/CLONE/redo004.log') SIZE 50M;
SQL> select group# from v$standby_log;






















H).Configure Listener.ora at Standby side.
** STANDBY SIDE : listener.ora



CLONE_STANDBY =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = test.pittioffice.com)(PORT = 1522 ))
)
)

SID_LIST_CLONE_STANDBY =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = /p01/oratest/oracle/product/10.2.0/db_1)
(SID_NAME=CLONE)
)
)
























i).Configure Tnsnames.ora at Stand by side.

** STANDBY SIDE : tnsnames.ora


CLONE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = devr12.pittioffice.com)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CLONE)
)
)

CLONE_STANDBY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = test.pittioffice.com)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID=clone)
)
)


EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)








J. *** check the listener/ tnsnames ping between servers


1. *** from Primary side to ping standby server.

[test@devr12 dbs]$ tnsping clone_standby

TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 03-JAN-2011 17:03:44

Copyright (c) 1997, 2005, Oracle. All rights reserved.

Used parameter files:
/p01/oratest/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = test.pittioffice.com)(PORT = 1522))) (CONNECT_DATA = (SERVICE_NAME = CLONE_STANDBY)))
OK (0 msec)
[test@devr12 dbs]$

=========================================================================
2. *** From Standby side to ping primary server


[test@test dbs]$ hostname
test.pittioffice.com
[test@test dbs]$ tnsping CLONE

TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 03-JAN-2011 05:23:12

Copyright (c) 1997, 2005, Oracle. All rights reserved.

Used parameter files:
/p01/oratest/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = devr12.pittioffice.com)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = CLONE)))
OK (10 msec)
[test@test dbs]$
--------------------------------------------------------------------------------------------------------------------------------
*** $tnsping 192.168.0.99 , tnsping test.pittioffice.com , tnsping TNSNAME.

* Some time : TNS:12560 Tns Protocol adapter error ------ solution At OS level disable firewall




3. * Database connectivity checking from two servers.

** from Primary side.


$ sqlplus sys/pitti@CLONE_STANDBY as sysdba

$sqlplus system/sadha@CLONE_STANDBY as sysdba
Enter user name : system
Pwd : sadha



*** From Standby side

$ [test@test ~]$ sqlplus sys/pitti@CLONE as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Feb 6 22:42:58 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>

$ $sqlplus system/sadha@CLONE as sysdba



















PRIMARY SIDE
** Modify initCLONE.ora file from Primary Side ( Pfile ).

CLONE.__db_cache_size=905969664
CLONE.__java_pool_size=16777216
CLONE.__large_pool_size=16777216
CLONE.__shared_pool_size=285212672
CLONE.__streams_pool_size=0
*.audit_file_dest='/p01/oratest/oracle/product/10.2.0/db_1/admin/CLONE/adump'
*.background_dump_dest='/p01/oratest/oracle/product/10.2.0/db_1/admin/CLONE/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/p01/oratest/oracle/product/10.2.0/oradata/CLONE/control01.ctl','/p01/oratest/oracle/product/10.2.0/oradata/CLONE/control02.ctl','/p01/oratest/oracle/product/10.2.0/oradata/CLONE/control03.ctl'
*.core_dump_dest='/p01/oratest/oracle/product/10.2.0/db_1/admin/CLONE/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_recovery_file_dest_size=39728447488
*.db_recovery_file_dest='/p01/oratest/oracle/product/10.2.0/rman_bkp/flash_recovery_area'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=CLONEXDB)'
*.open_cursors=300
*.pga_aggregate_target=412090368
*.processes=150
*.sga_target=1237319680
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/p01/oratest/oracle/product/10.2.0/db_1/admin/CLONE/udump'
*.db_name='CLONE'

# Datagurad – Physcial standby database – parameters

*.db_unique_name='CLONE'
*.fal_client='CLONE'
*.fal_server='CLONE_STANDBY'
*.job_queue_processes=10
*.log_archive_dest_1='LOCATION=/p01/oratest/oracle/product/10.2.0/arch_bkp VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=CLONE'

*.log_archive_dest_2='SERVICE=CLONE_STANDBY LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=CLONE_STANDBY'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='CLONE_%t%s%r.arc'
*.log_archive_max_processes=30
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_archive_dest='/p01/oratest/oracle/product/10.2.0/arch_bkp'
*.standby_file_management='AUTO'

--------------------------------------------------------------------------------------------------------------------



Note : copy the initClone.ora file to Standby Database Location
Note: Dataguard is using spfile file.

Create spfile from primary side.

$sqlplus ‘/as sysdba’
$startup nomount;
$create spfile from pfile;
$ shut immediate;
$exit

** Next login default database is using spfile.




----------------------------------------------------------------------------------------------------------------------------------
STAND BY SIDE.

** Create the all directory structures as per the primary spfile into to the Standby server

** Modify initCLONE.ora file from Standby Side ( Pfile ).

CLONE.__db_cache_size=905969664
CLONE.__java_pool_size=16777216
CLONE.__large_pool_size=16777216
CLONE.__shared_pool_size=285212672
CLONE.__streams_pool_size=0
*.audit_file_dest='/p01/oratest/oracle/product/10.2.0/db_1/admin/CLONE/adump'
*.background_dump_dest='/p01/oratest/oracle/product/10.2.0/db_1/admin/CLONE/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/p01/oratest/sadhanew/clone.ctl'
*.core_dump_dest='/p01/oratest/oracle/product/10.2.0/db_1/admin/CLONE/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.open_cursors=300
*.pga_aggregate_target=412090368
*.processes=150
*.sga_target=1237319680
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/p01/oratest/oracle/product/10.2.0/db_1/admin/CLONE/udump'
*.db_recovery_file_dest_size=39728447488
*.db_recovery_file_dest='/p01/oratest/oracle/product/10.2.0/rman_bkp/flash_recovery_area'


*.dispatchers='(PROTOCOL=TCP) (SERVICE=CLONEXDB)'
*.job_queue_processes=10

**** Dataguard / standby database parameters at standby side.

*.db_name='CLONE'
*.db_unique_name='CLONE_STANDBY'

*.fal_client='CLONE_STANDBY'
*.fal_server='CLONE'

*.log_archive_dest_1='LOCATION=/p01/oratest/oracle/product/10.2.0/arch_bkp VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=CLONE_STANDBY'

*.log_archive_dest_2='SERVICE=CLONE_STANDBY LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=CLONE'

*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='%t%s%r.arc'
*.log_archive_max_processes=30
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_archive_dest='/p01/oratest/oracle/product/10.2.0/arch_bkp'
*.standby_file_management='AUTO'







Create spfile from standby side.

$sqlplus ‘/as sysdba’
$startup nomount;
$create spfile from pfile;
$ shut immediate;
$exit

** Next login default database is using spfile.










* PRIMARY SIDE :

* CREATE STANDBY CONTROL FILE AND TAKE COLD BACKUP / copy data to stand by side

Creae standby controlfile

$sqlplus ‘/as sysdba’
Sql>startup
Sql> alter database create standby controlfile as ‘/p01/oratest/sdhanew/standby.ctl’;


Cold backup

Sql> shut immediate;
$ cd /p01/oratest/oracle/product/10.2.0/oradata/CLONE
$ copy *.* /backup.

And copy all the files to Standby Database.

$ scp *.log *.dbf *.ctl test@192.168.0.99:/p01/oratest/oracle/product/10.2.0/oradata/CLONE/.



Copy Standby ctl to Standby side.

$ cd /p01/oratest/sadhanew/
$scp standby.ctl test@192.168.0.99:/p01/oratest/sadhanew/.



















*** Standby Side


a). change the controlfile location in the initClone.ora ( spfile ).

*.control_files='/p01/oratest/sadhanew/clone.ctl'

Save and exit :wq --- enter

$sqlplus ‘/as sysdba’
Sql>startup nomount;
Sql>create spfile from pfile;
Sql>shut immediate;
Sql>exit

b). At standby side database put into MRM mode.

$sqlplus ‘/as sysdba’
Sql>startup nomount;
Sql> alter databse mount standby database;
Sql> alter database recover managed standby database disconnect from session;




==================================================================
· Startup the database at PRIMARY SIDE.

Sql> startup.
Sql> archive log list; -------------- check the current log sequence.

Sql> alter system switch log file ---à manual log switch.


Sql> check the Log apply .. at Standby side. ( check into Alert log file ).


Other Help commands

**
1. Stop Redo apply to Standby
At Standby side:
Sql> alter database recover managed standby database cancel;

2. check that primary and standby are synchronized.
Primary side:
Sql> archive log list;
SQL> select database_role,open_mode from v$database;
DATABASE_ROLE OPEN_MODE
---------------- ----------
PRIMARY READ WRITE

Standby side
SQL> select database_role,open_mode from v$database;
DATABASE_ROLE OPEN_MODE
PHYSICAL STANDBY MOUNTED


3. ACTIVATE the Physical standby database.
Sql> ALTER DATABASE ACTIVATE STANDBY DATABASE;
FOR reverse.
Sql> Alter database covert to physical standby;


4. Register the missed redo.

At standby side ;

sql> alter database register logfile '/............................/......xx.arc'



Help urls:

http://download.oracle.com/docs/cd/B19306_01/server.102/b14239.pdf