Monday, November 28, 2022

PMP Success Journey of Melanie Project Manager

Melanie Lorenzo, PMP® achieved PMP with all above target in all Domain. She attended 1-1 training with me few months back. I'm confident, she will excel in her project management career. #PMP #project management career #Excel PMP# . Please connect with me on my whatsapp: +919611128317 to get more details about PMI PMP ATP training.

In this short video I have described How Melanie achieved PMP and she can enhance this knowledge and skills to build Career as Project Manager. She has shared trips and tricks to pass PMP. If your are interested to achieve PMP and enhance your project management. Please connect with me on Whatsapp no: +919611128317 My Online Learning Portal: https://www.gain2excel.com/ My Personal Website: https://rafiuddinalvi.com/ Every 2 months we have PMI PMP ATP associated bootcamp.

https://youtube.com/watch?v=rU1GqoBnESE&feature=share

https://youtu.be/rU1GqoBnESE


Thanks,


Rafi


Friday, July 3, 2020

adcfgclone failing with Error: AFTER PASTEBINARY COMMENV.SH FILE IS POPULATED WITH INCORRECT JAVA_HOME PATH in EBS 12.2

Hi DBAs,

I'm happy to share my knowledge and experience based out of one cloning experience in EBS 12.2 Environment. I faced this issue while doing cloning. Sharing my experience .
I'm making this post short and sweet.


Adcfgclone failing with Error: AFTER PASTEBINARY COMMENV.SH FILE IS POPULATED WITH INCORRECT JAVA_HOME PATH in EBS 12.2

Oracle Support notes:
=====================
12.2 E-Business Suite Applications Manager Rapidclone Fails With Error 'Oracle.as.t2p.exceptions.FMWT2PPasteConfigException: Paste Config In Offline Mode Failed', 'CLONE-20454 Execution of wlst script' And 'CLONE-20365 Error in executing WebLogic script' (Doc ID 2545694.1)

Resolution: Apply patch 27212806 to MIDDLE_WARE/oracle_common Home

Zero downtime patch can be applied directly .


[applmgr@erpap02 WLS_ERROR_patch]$ echo $TWO_TASK
ERP_BALANCE
[applmgr@erpap02 WLS_ERROR_patch]$ echo $RUN_BASE
/u01/oracle/ERP/fs1
[applmgr@erpap02 WLS_ERROR_patch]$ export ORACLE_HOME=/u01/oracle/ERP/fs1/FMW_Home/oracle_common
[applmgr@erpap02 WLS_ERROR_patch]$ cd 28708563/

[applmgr@erpap02 28708563]$ export ORACLE_HOME=/u01/oracle/ERP/fs1/FMW_Home/oracle_common
[applmgr@erpap02 28708563]$ /u01/oracle/ERP/fs1/FMW_Home/oracle_common/OPatch/opatch version
OPatch Version: 11.1.0.12.9

OPatch succeeded.
[applmgr@erpap02 28708563]$ /u01/oracle/ERP/fs1/FMW_Home/oracle_common/OPatch/opatch lsinventory|grep 28708563
Patch  28708563     : applied on Sun Jun 02 02:03:34 AST 2019
[applmgr@erpap02 28708563]$ cd ..
[applmgr@erpap02 WLS_ERROR_patch]$ cd 27212806/
[applmgr@erpap02 27212806]$ ls -ltr
total 8
drwxr-xr-x. 4 applmgr oinstall   31 Jul  3 14:12 etc
drwxr-xr-x. 3 applmgr oinstall   18 Jul  3 14:12 files
-rw-r--r--. 1 applmgr oinstall 7248 Jul  3 14:12 README.txt
[applmgr@erpap02 27212806]$ /u01/oracle/ERP/fs1/FMW_Home/oracle_common/OPatch/opatch apply
Oracle Interim Patch Installer version 11.1.0.12.9
Copyright (c) 2020, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/oracle/ERP/fs1/FMW_Home/oracle_common
Central Inventory : /u01/oracle/oraInventory
   from           : /u01/oracle/ERP/fs1/FMW_Home/oracle_common/oraInst.loc
OPatch version    : 11.1.0.12.9
OUI version       : 11.1.0.11.0
Log file location : /u01/oracle/ERP/fs1/FMW_Home/oracle_common/cfgtoollogs/opatch/27212806_Jul_03_2020_14_14_39/apply2020-07-03_14-14-39PM_1.log


OPatch detects the Middleware Home as "/u01/oracle/ERP/fs1/FMW_Home"

Applying interim patch '27212806' to OH '/u01/oracle/ERP/fs1/FMW_Home/oracle_common'
Verifying environment and performing prerequisite checks...
All checks passed.
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name:

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  y



Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/oracle/ERP/fs1/FMW_Home/oracle_common')


Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...

Patching component oracle.as.common.clone, 11.1.1.9.0...

Verifying the update...
Patch 27212806 successfully applied
Log file location: /u01/oracle/ERP/fs1/FMW_Home/oracle_common/cfgtoollogs/opatch/27212806_Jul_03_2020_14_14_39/apply2020-07-03_14-14-39PM_1.log

OPatch succeeded.
[applmgr@erpap02 27212806]$ /u01/oracle/ERP/fs1/FMW_Home/oracle_common/OPatch/opatch lsinventory|grep 27212806
Patch  27212806     : applied on Fri Jul 03 14:14:52 AST 2020
     27212806
[applmgr@erpap02 27212806]$


Happy Apps DBA learning

Thanks,

Rafi

Sunday, April 5, 2020

Implement Transparent Data Encryption(TDE) using fast offline conversion for Oracle Databases

Hi DBAs,

It is important we share what we do in DBAs life to help ourself and others. I've done many implementation projects recently related with Database Security. One of the them was TDE which was pending in my blog posts . I've decided to share the steps involve in implementing Transparent Data Encrption(TDE) using fast offline conversion method for entire Oracle Database. We can follow the similar steps in Oracle RAC or Standalone Database Except few additional things need to done for Oracle RAC Database.


Prerequisite:

Make sure you have applied the patch 23315889(fast offline conversion patch) if you are on Oracle 11g Database or latest CPU patches are applied which already include all the mandatory patches before proceeding with below steps.

Below steps can be used for Oracle 11g,12c , 18c, 19c Databases

Step 1: Take a Backup of  Database using RMAN.

Make sure you have full Database backup using RMAN and Validated.

Step 2: Take Backup of  $TNS_ADMIN ( $ORACLE_HOME/network/admin) Directory

Please take backup of network configuration files which includes backup of  $TNS_ADMIN Directory of $ORACLE_HOME in all the DB nodes.

Step 3: Make Sure You Inform Application owners or End User for Downtime

Please make sure you take sufficient downtime based on the size of your Database if it is Production Environment . If you have identical test environment as Production , we have very good opportunity to make a note of timings at each step of implementation phase. It will surely be useful.

Step 4:Shut down applications

If you are using Oracle ERP Applications make sure all the applications are stopped with adstpall.sh script or other applications it needs to be completed stoped.

Step 5:Create a specific wallet by specifying the wallet location in the  sqlnet.ora file(sqlnet_ifile.ora in Oracle ERP Environment).

$ORACLE_HOME/network/admin is the location where you find network configuration files( sqlnet.ora or sqlnet_ifile.ora(In Oracle ERP) needs to be modified).

sqlnet.or or sqlnet_ifile.ora contents :

ENCRYPTION_WALLET_LOCATION =
(SOURCE = (METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = /home/oracle/wallet/$ORACLE_SID)
)
)

Note: DIRECTORY location like above makes it easier to copy wallet files across multiple databases. However we are free to have any location of our choice.

Step 6: Restart Database instance and Listener for Oracle RAC Environment running on node1 and node2  or Listener and DB in Standalone DB using SQLPLUS

After completing step 1 to step5 perform step 6 mandatory. This is important to detect the wallet location by Database.

Make sure you bring down all the instances and databases services from all the other nodes if you are working in RAC Database Environment. All the steps need to be performed from DB node1 or Primary Database Instance and all the other instances and Database services are down in other servers.


DB node1:
=====================
[root@dbhost01 bin]# su - oracle
[oracle@dbhost01 ~]$ srvctl status database -d testdb
Instance testdb1 is running on node dbhost01
Instance testdb2 is not running on node dbhost02
[oracle@dbhost01 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): dbhost01,dbhost02
[oracle@dbhost01 ~]$ srvctl stop instance -i testdb1 -d testdb
[oracle@dbhost01 ~]$ srvctl status database -d testdb
Instance testdb1 is not running on node dbhost01
Instance testdb2 is not running on node dbhost02
[oracle@dbhost01 ~]$ srvctl stop listener -n dbhost01
[oracle@dbhost01 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): dbhost02
[oracle@dbhost01 ~]$ srvctl start listener -n dbhost01
[oracle@dbhost01 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): dbhost01,dbhost02
[oracle@dbhost01 ~]$ srvctl start instance -i testdb1 -d testdb
[oracle@dbhost01 ~]$ srvctl status database -d testdb
Instance testdb1 is running on node dbhost01
Instance testdb2 is not running on node dbhost02
[oracle@dbhost01 ~]$


Step 7:Create the wallet and Set the Master Encryption Key.

Initiate a new SQL*Plus session.
This causes the changes to sqlnet.ora and the environment variable to be picked
up by the new session.

SQL> select name from v$database;

NAME
---------
testdb

SQL> select status from v$instance;

STATUS
------------
OPEN

Set the Master Encryption Key.

Check below:
==========

SQL> select instance_name,status,database_status from gv$instance;

INSTANCE_NAME    STATUS       DATABASE_STATUS
---------------- ------------ -----------------
testdb1        OPEN         ACTIVE


SQL> select * from gv$encryption_wallet order by inst_id;

   INST_ID WRL_TYPE
---------- --------------------
WRL_PARAMETER
--------------------------------------------------------------------------------
STATUS
------------------
         1 file
/home/oracle/wallet/$ORACLE_SID
CLOSED

(or)

select * from v$encryption_wallet;


SQL> ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY "Mywork8t5_mydbacomp";

System altered.

NOTE: Ensure that the password string is contained in double quotation marks (" ").


Step 8: Shutdown & Startup  the database normally, ensuring that the wallet is open: 


[oracle@dbhost01 ~]$ sqlplus "/as sysdba"

SQL> select name from v$database;

NAME
---------
testdb

SQL>shut immediate

SQL*Plus: Release 11.2.0.4.0 Production on Fri Apr 19 20:31:26 2019

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

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area 1.2527E+10 bytes
Fixed Size                  2264856 bytes
Variable Size            7012876520 bytes
Database Buffers         5502926848 bytes
Redo Buffers                8658944 bytes
Database mounted.

SQL> alter system set encryption wallet open identified by "Mywork8t5_mydbacomp";

System altered.

SQL> alter database open;

Database altered.

SQL> select instance_name,status,database_status from gv$instance;

INSTANCE_NAME    STATUS       DATABASE_STATUS
---------------- ------------ -----------------
testdb1        OPEN         ACTIVE


SQL>

Step 9:To configure auto login for wallet (optional), do the following

Command: orapki wallet create -wallet "/home/oracle/wallet/$ORACLE_SID" -auto_login

[oracle@dbhost01 admin]$ orapki wallet create -wallet "/home/oracle/wallet/$ORACLE_SID" -auto_login
Oracle PKI Tool : Version 11.2.0.4.0 - Production
Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.

Enter wallet password:     Mywork8t5_mydbacomp
                    
[oracle@dbhost01 admin]$

Verify autostart of Database is working as expected:
=======================================
[oracle@dbhost01 admin]$ srvctl status database -d testdb
Instance testdb1 is running on node dbhost01
Instance testdb2 is not running on node dbhost02
[oracle@dbhost01 admin]$ srvctl stop instance -i testdb1 -d testdb
[oracle@dbhost01 admin]$ srvctl status database -d testdb
Instance testdb1 is not running on node dbhost01
Instance testdb2 is not running on node dbhost02
[oracle@dbhost01 admin]$ srvctl start instance -i testdb1 -d testdb
[oracle@dbhost01 admin]$ srvctl status database -d testdb
Instance testdb1 is running on node dbhost01
Instance testdb2 is not running on node dbhost02

Step 10:Backup the wallet

Using 'cp' command copy the wallet files in separate directory and verify it.

[oracle@dbhost01 testdb1]$ pwd
/home/oracle/DBA/backup/wallet/testdb1
[oracle@dbhost01 testdb1]$ ls -ltr
total 8
-rw-------. 1 oracle oinstall 2917 Apr 19 21:00 cwallet.sso
-rw-r--r--. 1 oracle oinstall 2840 Apr 19 21:00 ewallet.p12
[oracle@dbhost01 testdb1]$


Step 11: Copy the wallet to DB node2 in the same location as DB node1.

Copy the wallet to DB node2 in the same location as DB node1 and make sure in the sqlnet.ora and sqlnet_ifile.ora file has the same location defined.

$ORACLE_HOME/network/admin is the location where you find network configuration files( sqlnet.ora or sqlnet_ifile.ora(In Oracle ERP) needs to be modified).

sqlnet.or or sqlnet_ifile.ora contents :

ENCRYPTION_WALLET_LOCATION =
(SOURCE = (METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = /home/oracle/wallet/$ORACLE_SID)
)
)

oracle@dbhost01 testdb1]$ pwd
/home/oracle/wallet/testdb1
[oracle@dbhost01 testdb1]$ ls -ltr
total 8
-rw-r--r--. 1 oracle asmadmin 2840 Apr 19 20:17 ewallet.p12
-rw-------. 1 oracle oinstall 2917 Apr 19 20:47 cwallet.sso
[oracle@dbhost01 testdb1]$ scp ewallet.p12 cwallet.sso oracle@dbhost02:/home/oracle/wallet/testdb2
ewallet.p12                                                                           100% 2840     2.8KB/s   00:00
cwallet.sso                                                                           100% 2917     2.9KB/s   00:00
[oracle@dbhost01 testdb1]$


Step 12:Verify DB Instances and Services on DB node1 & DB node2.

Now you can start the instance on Database Instance and Database services on DB node2 and verify it is running.

[oracle@dbhost01 admin]$ srvctl status database -d testdb
Instance testdb1 is running on node dbhost01
Instance testdb2 is running on node dbhost02


[oracle@dbhost01 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): dbhost01,dbhost02

(OR)

For Testing purpose only

We can also verify DB node2 is started after copying ewallet.p12 and cwallet.sso:
===========================================================
[oracle@dbhost02 testdb2]$ ls -ltr
total 8
-rw-r--r--. 1 oracle oinstall 2840 Apr 19 21:08 ewallet.p12
-rw-------. 1 oracle oinstall 2917 Apr 19 21:08 cwallet.sso

[oracle@dbhost02 testdb2]$ srvctl stop instance -i testdb1 -d testdb
[oracle@dbhost02 testdb2]$ srvctl status database -d testdb
Instance testdb1 is not running on node dbhost01
Instance testdb2 is not running on node dbhost02
[oracle@dbhost02 testdb2]$ srvctl start instance -i testdb2 -d testdb
[oracle@dbhost02 testdb2]$ srvctl status database -d testdb
Instance testdb1 is not running on node dbhost01
Instance testdb2 is running on node dbhost02
[oracle@dbhost02 testdb2]$


Make sure all the Database Instances and Services are Up before proceeding next step.

Verify as below:
[oracle@dbhost01 admin]$ srvctl status database -d testdb
Instance testdb1 is running on node dbhost01
Instance testdb2 is running on node dbhost02


[oracle@dbhost01 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): dbhost01,dbhost02



Step 13: Find out all the Temporary and Undo Tablespaces in the Database


SQL> select name from v$database;

NAME
---------
TESTDB

SQL> select tablespace_name from dba_tablespaces where contents='TEMPORARY' and STATUS='ONLINE';

TABLESPACE_NAME
------------------------------
TEMP
PG_TEMP
MG_TEMP
TG_TEMP
TMP

SQL> select tablespace_name from dba_tablespaces where contents='UNDO' and STATUS='ONLINE';

TABLESPACE_NAME
------------------------------
UNDOTBS1
UNDOTBS2


Step 14: Create a script called tbsp_offline.sql script to bring tablespaces 
other than system, sysaux, temp and undo offline: 

cd /home/oracle/DBA/scripts/tde_scripts

$ sqlplus / as sysdba
SQL>set heading off
 SQL>set linesize 150
 SQL>spool tbsp_offline.sql
SQL>select 'alter tablespace '||tablespace_name|| ' offline;' from dba_tablespaces where tablespace_name not in ('SYSTEM','SYSAUX','TEMP','PG_TEMP','MG_TEMP','TG_TEMP','TMP','UNDOTBS1','UNDOTBS2','MY_TEMP');
SQL>exit
Now edit the tbsp_offline.sql script to remove all lines other than alter tablespace commands.

(testdb):
-------------------
Don't delete line just comment extra lines as done below:

[oracle@dbhost01 tde_scripts]$ ls -ltr
total 36
-rw-r--r--. 1 oracle oinstall  2181 Apr 17 15:00 tbsp_offline_orig_17Apr2019.sql
-rw-r--r--. 1 oracle oinstall 12025 Apr 17 15:07 datafiles_encrypt_orig_17Apr2019.sql
-rw-r--r--. 1 oracle oinstall  2175 Apr 17 15:21 tbsp_offline.sql
-rw-r--r--. 1 oracle oinstall  2150 Apr 17 15:21 tbsp_online.sql
-rw-r--r--. 1 oracle oinstall 12031 Apr 17 15:23 datafiles_encrypt.sql
[oracle@dbhost01 tde_scripts]$ cat tbsp_offline.sql
--SQL> select 'alter tablespace '||tablespace_name|| ' offline;' from dba_tablespaces where tablespace_name not in ('SYSTEM','SYSAUX','TEMP','PG_TEMP','MG_TEMP','TG_TEMP','TMP','UNDOTBS1','UNDOTBS2','MY_TEMP');

alter tablespace USERS offline;
alter tablespace TEST1_TS offline;
alter tablespace TEST2_TS offline;
alter tablespace TEST3_TS offline;
alter tablespace TEST4_TS offline;
alter tablespace TEST5_TS offline;
alter tablespace TEST6_TS offline;


--7 rows selected.

Step 15: Create script for to Encrypt datafiles of Tablespaces

Create a script called datafiles_encrypt.sql containing the commands to encrypt your datafiles,
except system, sysaux, temp and undo.Include all TEMP and UNDO tablespace names from the database in your TESTDB instance, in the exclusion list.

$ sqlplus / as sysdba
SQL>set heading off
 SQL>set linesize 150
 SQL>spool datafiles_encrypt.sql
 SQL>select 'alter database datafile ''' || file_name ||''' encrypt;' from dba_data_files where tablespace_name not in (('SYSTEM','SYSAUX','TEMP','PG_TEMP','MG_TEMP','TG_TEMP','TMP','UNDOTBS1','UNDOTBS2','MY_TEMP');

SQL>exit

Verify the Script.

[oracle@dbhost01 tde_scripts]$ cat datafiles_encrypt.sql
--SQL> select 'alter database datafile ''' || file_name ||''' encrypt;' from dba_data_files where tablespace_name not in --('SYSTEM','SYSAUX','TEMP','PG_TEMP','MG_TEMP','TG_TEMP','TMP','UNDOTBS1','UNDOTBS2','MY_TEMP');
alter database datafile '+DATA/testdb/datafile/user_ts_ts01.dbf' encrypt;                                     
alter database datafile '+DATA/testdb/datafile/test_01_ts.dbf' encrypt;                                           
alter database datafile '+DATA/testdb/datafile/test_02_ts.dbf' encrypt;                                         
alter database datafile '+DATA/testdb/datafile/test_03_ts.dbf' encrypt;                                           
alter database datafile '+DATA/testdb/datafile/test_04_ts.dbf' encrypt;                                           
alter database datafile '+DATA/testdb/datafile/test_05_ts.dbf' encrypt;                                         
alter database datafile '+DATA/testdb/datafile/test_06_ts.dbf' encrypt;   

--7 rows selected.                                   
                                     
                                             
Step 16: Create a script called tbsp_online.sql script to bring Encrypted tablespaces online now 

$ sqlplus / as sysdba
SQL>set heading off
 SQL>set linesize 150
 SQL>spool  tbsp_online.sql 
SQL> select 'alter tablespace '||tablespace_name|| ' online;' from dba_tablespaces where tablespace_name not in ('SYSTEM','SYSAUX','TEMP','PG_TEMP','MG_TEMP','TG_TEMP','TMP','UNDOTBS1','UNDOTBS2','MY_TEMP');
--SQL> spool off


alter tablespace USERS online;
alter tablespace TEST1_TS online;
alter tablespace TEST2_TS online;
alter tablespace TEST3_TS online;
alter tablespace TEST4_TS online;
alter tablespace TEST5_TS online;
alter tablespace TEST6_TS online;


--7 rows selected.

[oracle@dbhost01 tde_scripts]$


Step 17: Execute the script for bringing the tablespaces offline

cd /home/oracle/DBA/scripts/tde_scripts

sqlplus "/as sysdba"

SQL> select name from v$database;

NAME
---------
testdb

SQL> @tbsp_offline.sql

Tablespace altered.

Step 18: Execute the script for Encrypting the Datafiles of the tablespaces.

cd /home/oracle/DBA/scripts/tde_scripts

sqlplus "/as sysdba"

SQL> select name from v$database;

NAME
---------
testdb

SQL> @datafiles_encrypt.sql

Database altered.

Note: If we have a large number of datafiles , we can parallelize their encryption by creating sub-scripts  and running the sub-scripts from parallel SQL*Plus sessions.

Step 19: Execute the script for bringing the tablespaces online

cd /home/oracle/DBA/scripts/tde_scripts

sqlplus "/as sysdba"

SQL> select name from v$database;

NAME
---------
testdb

SQL> @tbsp_online.sql

Tablespace altered.


Note: Some tablespaces may take time to show as online. These are probably tablespaces that are encrypted.

*Check the status of tablespace encryption by connecting to SQL*Plus / as sysdba
and running the query shown:

$ sqlplus / as sysdba

SQL>select tablespace_name, encrypted from dba_tablespaces;

Note: Be aware that unless an auto login keystore is created, every time the database is started up the wallet will need to be opened.


Note: In Oracle 12c we can use below command to create auto login

$ sqlplus / as sysdba
$ administer key management create AUTO_LOGIN keystore from keystore "<Wallet Path>" identified by "<Wallet Password>";

Please refer below link for more details on it:

https://oracle-base.com/articles/12c/multitenant-transparent-data-encryption-tde-12cr1


Step 20: Bounce database and listener , verify auto login is working .

Verify the Database , Listener and Do Complete Health check of the Database.
Start the Applications.
Validate Database connectivity with TOAD, SQL Developer and every component is working as expected.
Make sure all the instances and Database services are up & running. If you have DR Database copy the wallet to same location as Primary Database and Sync it and Verify the DR DB is in sync with Primary.

sqlplus "/as sysdba"

SQL*Plus: Release 12.1.0.2.0 Production on Tue Mar 5 17:12:22 2019

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 5167382528 bytes
Fixed Size                  3056376 bytes
Variable Size            1056967944 bytes
Database Buffers         4093640704 bytes
Redo Buffers               13717504 bytes
Database mounted.
Database opened.
SQL> select tablespace_name, encrypted from dba_tablespaces;

TABLESPACE_NAME                ENC
------------------------------ ---
SYSTEM                         NO
SYSAUX                         NO
UNDOTBS1                       NO
TEMP                           NO
USERS                          YES

SQL> SET LINESIZE 200
SQL> COLUMN wrl_parameter FORMAT A50
SQL> SELECT * FROM gv$encryption_wallet;

WRL_TYPE             WRL_PARAMETER                                      STATUS                         WALLET_TYPE          WALLET_OR FULLY_BAC     CON_ID
-------------------- -------------------------------------------------- ------------------------------ -------------------- --------- --------- ----------
FILE                 /home/oracle/wallet/testdb1 OPEN                                    SINGLE    NO                 0
FILE                 /home/oracle/wallet/testdb2 OPEN 
                   
SQL> select active_state,instance_Name,status from gv$instance;

ACTIVE_ST INSTANCE_NAME    STATUS
--------- ---------------- ------------
NORMAL    testdb1          OPEN
NORMAL    testdb2          OPEN

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
READ WRITE


Enjoy DBA learning and doing tasks....


Thanks,

Rafi





Monday, August 5, 2019

Completed Oracle 12c Database OCP Certification

Dear All,

Alhumdulilah Completed Oracle 12c OCP Certification after working hard in Oracle 12c Databases.
Worked & Studied Rigorously on Oracle 12c Database..

https://www.youracclaim.com/badges/d7740e40-df91-4f87-af9e-efd66d5533f0/linked_in









Please Study Oracle Workshop Admin guide and practices DBA tasks to get compatable with Exam.
Below link also can be helpful. All the best. Enjoy DBA tasks.


https://docs.oracle.com/database/121/ADMIN/E41484-15.pdf

Friday, June 14, 2019

Configure Database option is greyed out in DBCA

Hi DBAs,

Recently we faced a strange issue which became a show stopper for us.

Database Configuration Assistant was not showing the database and  Configure Database Options and it was greyed out(disabled).

 We tried setting up ORACLE_SID and ORACLE_HOME and ran dbca but it was not showing the database and the above option was  greyed out.

We checked and verified the oratab file for correct entry for the database we were trying to access from dbca but still it was greyed out.

To resolve this issue I utilized all my experience and knowledge at last was able to resolve it. The issue was simple and silly but sometimes small things matter.

Below are steps used to resolve this issue:

Step 1:

Make sure the ORACLE_HOME is some thing like below : /u01/app/oracle/12.1/dbhome in /etc/oratab file

(Note we should not have '/' after dbhome)

Step 2:

Check the value of the configuration of  RAC Database:

srvctl config database -d testdb1

Where: testdb1=> DB Name.

Now change the ORACLE_HOME value as below:

srvctl modify database -o /u01/app/oracle/12.1/dbhome

Where:  /u01/app/oracle/12.1/dbhome=> ORACLE HOME location.

Make sure you don't use '/' after dbhome.

Step 3:

Now launch 'dbca' bye setting correct Environment.

Now you should see the option enabled for Configure Database Options after launching dbca.


Enjoy troubleshooting Database....

Happy DBA Learning...


Thanks,

Rafi




Friday, January 18, 2019

Migrating Oracle ERP Applications from one server to another in Windows Environment

Hi DBAs,

Below are the steps required to be done in order to migrate Oracle ERP Applications from one server to another. These steps are successfully tested in my Test Oracle ERP Servers.

Note 1: My source and Target Environment is EBS 12.1.3
Note 2: This is applicable for Windows 2008 R2 server but somewhat similar steps can be applicable to Windows 2012 R2 or Windows 2016 server)
Note 3:All the steps are done on the Target Application Server
Note 4:Make sure you change the source server name and assign the same name to target Windows server in order to have backup of source Application server and not much changes is required in CONTEXT FILE if you have same Drives on Source and Target Application server.
Note 5: Please change server names,Directory structure and Environment files based on your servers.
as one need to spend some time in order to do this activity successfully.

Preparatory Steps:

1. Install MKS Toolkit on Target Server( we can also install CYGWIN ) . It is recommended to install MKS from Oracle Support.
2.Install VISUAL Studio of same Windows OS version(2008 R2).

Planning and Execution Steps:

1.Shutdown Oracle ERP Applications(adstpall.sh) Source(ERP APPLICATIONS)
Command prompt Run As Administrator: Source Env file APPSERP.env
cd $ADMIN_SCRIPTS_HOME
./adstpall.sh

2.Check firewall and connectivity from DB to Apps Tier and verify the port is open using telnet on Target(ERP APPLICATIONS)

telnet hostname port
telnet testhost 1521
connected means it is working fine, if it says trying add the firewall rules and allow port and try again.

3.Copy Apps Files from Source to target Target Server (Initiate copy From Target Server)

4.Modify PATH Environment variable to execute perl K:\oracle\apps\tech_st\10.1.3\perl\5.8.3\bin\MSWin32-x86-multi-thread; => In First line and remove rest of the variables if exists.
5.Change compatibility to Windows Server 2003 SP1 in K:\oracle\apps\tech_st\10.1.2\oui\bin for setup.exe 

6.Change compatibility to Windows Server 2003 SP1 in K:\oracle\apps\tech_st\10.1.3\oui\bin for setup.exe
7.Make sure INST_TOP is renamed on new Target(ERP APPLICATIONS)

(Run as Administrator on new command prompt).
cd K:\oracle\apps\apps_st\comn\clone\bin
 Execute  perl adcfgclone.pl appsTier
8.Verify logs of adcfgclone and confirm no errors exists.
adcfgclone logs Applications tier:

$COMMON_TOP/clone/bin/CloneContext_<timestamp>.log
This log shows the entries selected during execution of adcfgclone command
9.Execute autoconfig on Apps Tier and copy env file APPSERP_testhost.cmd from backup to APPL_TOP

cd $ADMIN_SCRIPTS_HOME
./adautocfg.sh

10.Replace ADMIN Directory(K:\oracle\inst\apps\ERP APPLICATIONS_testhost\ora\10.1.2\network) with admin_bkp and Reboot the Target(ERP APPLICATIONS)
11.Compare Services properties in old and new server and set accordingly. Restart the new Target (ERP APPLICATIONS) Application server

12.Compare Firewall rules in old and New  PROD Apps servers and copy accordingly and Validate with telnet

13.Execute cmclean(K:\oracle)
14.Start the Applications (adstral.sh) Target (ERP APPLICATIONS)

cd $ADMIN_SCRIPTS_HOME
./adstral.sh

Post Execution and Sanity Checks:
1.Configure Oracle Workflow inbound and outbound server settings and validate workflow mailer is up and running and test mailer
2.Complete Sanity checks for Database ,Applications, Concurrent Programs ,SSO and Workflow Mailer

Enjoy Apps DBA Tasks...


Thanks,


Rafi

Sunday, September 2, 2018

Completed Oracle Access Manager Implementation Specialist Certification.

Dear All,

By the grace of Allah I have completed Oracle Access Manager Implementation Specialist Certification.




It feels great to do certification on one of the Product which you work more and practice lot . After doing lot of hard work and with lot of enthusiasm I'm happy to achieve it.

Efforts required to do this certification:

1) Read the concepts and implementation docs from Oracle Documentation, Blogs, Youtube , linkedin and from all places on the internet about Oracle Access Manager

2) The challenging part about this certification is we need to study about lot of products like ( Oracle Access Manager,Oracle Adaptive Access Manager, Oracle Entitlements Server, Oracle Identity Federation, Mobile and Social ) to name few if you are planning to prepare for this certification and pass it.

Thanks,

Rafi