Syed Saad Ali

Oracle ACE Pro

Oracle Solution Architect

Oracle E-Business Suite

Oracle Cloud Infrastructure

Oracle Fusion Middleware

Oracle Database Administration

Oracle Weblogic Administration

Syed Saad Ali

Oracle ACE Pro

Oracle Solution Architect

Oracle E-Business Suite

Oracle Cloud Infrastructure

Oracle Fusion Middleware

Oracle Database Administration

Oracle Weblogic Administration

Author: Syed Saad Ali

May 16, 2023 Rename Datafile In Oracle Standby on New Location
Errors/Workarounds19c

Rename Datafile In Oracle Standby on New Location

Recently, I encountered a situation while working for a customer where there was a space constraint on the DR server. Unfortunately, we were unable to allocate additional space. However, some directories had approximately 90GB of available free space. To resolve this issue, I came up with a solution to rename the data file and move it to a new mount that had sufficient space. The process of renaming a data file on a standby database is relatively straightforward.

 
Step 1: Terminate the managed recovery process and transition the physical standby database to the mount state.
 
SQL> Alter database recover managed standby database cancel;
SQL> shutdown immediate
SQL> startup mount
 
Step 2: Now, Modify the value of the standby_file_management parameter to MANUAL. By default, this parameter is set to AUTO, which results in the automatic addition of standby datafiles whenever a datafile is added in the primary database.
 
SQL> alter system set standby_file_management=MANUAL;
 
Step 3: Relocate the datafile to a new location using the appropriate OS command. Since I am operating in the 19c environment, I have the capability to perform the move online, ensuring uninterrupted accessibility.
 
ALTER DATABASE MOVE DATAFILE '/u01/oracle/db/UATDB/APEX002.dbf' TO '/u20/oracle/db/UATDB/APEX002.dbf';
 
Step 4: Restore the standby_file_management parameter back to its default setting of AUTO.
 
SQL> alter system set standby_file_management=AUTO;
 

Step 5: Resume the managed recovery process that was halted in Step 1.

 
SQL> Alter database recover managed standby database using current logfile disconnect;
 
 
 
 
May 14, 2023 Steps to change password for APPS in EBS R12.2
APPS DBA

Steps to change password for APPS in EBS R12.2

Today, we will delve into the process of changing the EBS APPS password in Oracle E-Business Suite R12.2. While this is a routine and fundamental task for every appsdba, it is essential to perform the steps cautiously to avoid any potential risks or unforeseen complications.

Lets see the Defination of The Administrative Schema APPS, APPLSYS, APPLSYSPUB in Oracle E-Business Suite 

What is the Apps Schema?

The Apps schema refers to a schema that does not contain any tables of its own. It serves as the shared runtime schema for all E-Business Suite products. It includes synonyms for all tables in Oracle apps and also consists of packages, functions, and procedures. The default password for this schema is “apps.”

What is the Applsys Schema?

The Applsys schema comprises all the necessary tables for administrative purposes. The default password for this schema is also “apps.” It consolidates the database objects of various technical products into a single schema called Applsys.

What is the Applsyspub Schema?

The Applsyspub schema primarily handles password checking. Its default password is “pub.” Applsyspub is utilized for authentication through read-only views.

Why should the Apps and Applsys passwords always be the same?

The requirement for having the same password for both the Apps and Applsys schemas is due to the authentication process. When signing on to Apps, it initially connects to a public schema named APPLSYSPUB. This schema validates the AOL username and password entered, typically using the guest user account (operations/welcome). Once this authentication is confirmed, selecting a responsibility triggers validation by the APPLSYS schema, followed by the connection to the APPS schema.

[edsanimate_start entry_animation_type= “fadeIn” entry_delay= “0” entry_duration= “2.5” entry_timing= “linear” exit_animation_type= “” exit_delay= “” exit_duration= “” exit_timing= “” animation_repeat= “infinite” keep= “yes” animate_on= “load” scroll_offset= “” custom_css_class= “”]

NOTE: It is crucial to take backups of the following tables before proceeding with the password change for the APPS, APPLSYS, and APPS_NE users:

  1. FND_USER
  2. FND_ORACLE_USERID

 

[edsanimate_end]

Step 1. Taking backup to FND Tables

SQL> create table FND_USER_140523 as select * from FND_USER ;

Table created.

SQL> create table FND_ORACLE_USERID_140523 as select * from FND_ORACLE_USERID ;

Table created.

Step 2. Shutdown the EBS Application

Invoke application environment from the Run File System which in our case is of fs2

[applmgr@ebslive PROD]$ cd /u01/app/PROD/fs2/EBSapps/appl

[applmgr@ebslive PROD]$ . APPSPROD_uat.env

[applmgr@ebslive sql]$ cd $ADMIN_SCRIPTS_HOME

[applmgr@ebslive scripts]$ adstpall.sh

Step 3. To modify the password for the APPLSYS user, there are two available approaches to choose from.

A. FNDCPASS:

Use the below syntax:

FNDCPASS <logon> 0 Y <SYSTEM username>/<SYSTEM password> SYSTEM APPLSYS <new_password>

For example, the following command changes the APPLSYS password to ‘WELCOME’:

FNDCPASS apps/<appspwd> 0 Y system/manager SYSTEM APPLSYS WELCOME
 

B. AFPASSWD

In this case, we will utilize the AFPASSWD utility to update the password.

syntax:- AFPASSWD [-c <APPSUSER>[@<TWO_TASK>]] -s <APPLSYS>

[applmgr@ebslive appl]$ AFPASSWD -c apps@PROD -s APPLSYS

Enter the ORACLE password of Application Object Library 'APPSUSER':

Connected successfully to APPS.

Enter the password for your 'SYSTEM' ORACLE schema:

Connected successfully to SYSTEM.

Log file: AFPWD_PROD_433423.log

Enter new password for user:

Verify new password for user:

AFPASSWD completed successfully.

Step 4. Execute the autoconfig command on the AppsTier, ensuring that the recently updated password for the app’s user is taken into account.

[applmgr@ebslive PROD]$ cd /u01/app/PROD/fs2/EBSapps/appl

[applmgr@ebslive PROD]$ . APPSPROD_uat.env

[applmgr@ebslive scripts]$ cd $ADMIN_SCRIPTS_HOME

[applmgr@ebslive scripts]$ adautocfg.sh

AutoConfig completed successfully.

Step 5. Proceed to start the WebLogic admin server by utilizing the following script.

[applmgr@ebslive scripts]$ cd $ADMIN_SCRIPTS_HOME
[applmgr@ebslive scripts]$ pwd
/u01/app/PROD/fs2/inst/apps/PROD_uat/admin/scripts
[applmgr@ebslive scripts]$ sh adadminsrvctl.sh start

You are running adadminsrvctl.sh version 120.10.12020000.2

Enter the WebLogic Admin password:

Enter the APPS Schema password:

Step 6. Confirm the Status of Admin server

[applmgr@ebslive scripts]$ sh adadminsrvctl.sh status

 

Step 7: Modifying the Password in WebLogic

A) If your EBS R12.2 AD TXK Delta is 7 or higher, you should follow the subsequent steps.

[applmgr@ebslive scripts] $perl $FND_TOP/patch/115/bin/txkManageDBConnectionPool.pl
Please select from list of valid options
        updateDSPassword - Update WebLogic Datasource Password
        updateDSJdbcUrl  - Update WebLogic Datasource Connection String
Enter Your Choice : updateDSPassword
Enter the full path of Applications Context File [DEFAULT -]:
Enter weblogic admin server password: <enter Weblogic Password>
Enter the APPS user password: <enter New APPS Password>

B) If your EBS R12.2 AD TXK Delta is lower than 7, you should utilize the following steps.

  1. Access the WebLogic console through a web browser.
  2. Click on the “Lock and Edit” button.
  3. Navigate to the “Domain structure” section and select “Services” -> “Data Sources.”
  4. Locate and select the “EBSDataSource” entry.
  5. In the “Settings of EBSDataSource” page, go to the connection pool section.
  6. Enter the updated password for the apps user and save the changes.
  7. Finally, click on “Activate changes” to apply the modifications.

 

Step 8 . Start the application services.

[applmgr@ebslive appl]$ pwd

  /u01/app/PROD/fs2/EBSapps/appl

[applmgr@ebslive appl]$ adstrtal.sh

 You are running adstrtal.sh version 120.24.12020000.6

 Enter the APPS username: apps 

 Enter the APPS password:

 Enter the WebLogic Server password:

 All enabled services for this node are started.

 adstrtal.sh: Exiting with status 0

 

Step 9: Validate WLS Datastore Modifications by Following These Steps

  1. Access the WLS Administration Console and log in.
  2. In the Domain Structure tree, expand the “Services” section, then choose “Data Sources.”
  3. Locate and select “EBSDataSource” on the “Summary of JDBC Data Sources” page.
  4. Navigate to the “Settings for EBSDataSource” page and select “Monitoring” followed by “Testing.”
  5. Select “oacore_server1” from the available options.
  6. Click on “Test DataSource.”
  7. Look for the confirmation message stating “Test of EBSDataSource on server oacore_server1 was successful.”
  8. If Integrated SOA Gateway (ISG) is implemented, repeat the steps for “OAEADataSource”. Verify “oafm_cluster*” managed servers are started successfully.

 

 

May 5, 2023 Special Characters in APPS Password using FNDCPASS
APPS DBA

Special Characters in APPS Password using FNDCPASS

Today, we will discuss the use of special characters in Oracle E-Business Suite (EBS) APPS passwords and the implications of using the FNDCPASS utility for password changes.

Using special characters in passwords, particularly for database users like APPS, APPLSYS, and GL, is not supported when utilizing the FNDCPASS utility.

If you attempt to include a special character in a database user’s password using FNDCPASS, you are likely to encounter one of the following errors:

  1. Cause: change password failed due to ORA-01403: no data found.
  2. Syntax error: unexpected end of file.
  3. Syntax error near unexpected token `newline’.
  4. APP-FND-02704: Unable to alter user APPS to change password.
  5. APP-FND-01564: ORACLE error 1017 in AFPCOA.
  6. FNDCPASS was unable to decrypt the password for user ‘APPS’ during applsys password change.
  7. Passwords must be at least 5 characters long. (This error may occur even when the password is longer than 5 characters.)
  8. It may not be possible to access the schema or change the password if the stored value is unknown.
  9. The specific error encountered depends on factors such as the database user being modified, the special character being used, and the position of the special character in the password (e.g., first or second character).

However, it is possible to use FNDCPASS to change the password of certain EBS users, such as SYSADMIN, and include special characters from a provided list. It is important to note that there may be specific considerations or restrictions for certain characters, which can be found in a table given below. In some cases, enclosing the new password in quotation marks may be necessary.

In summary, while the use of special characters in EBS passwords with FNDCPASS is generally unsupported, there are exceptions for certain users. It is essential to follow Oracle’s guidelines and restrictions for password management in EBS.

 

CHARACTER DESCRIPTION NOTES
! Exclamation Mark  
 “ Quotation Mark Password must be enclosed by quotation marks.
# Hash/Number Password must be enclosed by quotation marks.
$ Dollar Password must be enclosed by quotation marks.
% Percent  
& Ampersand Password must be enclosed by quotation marks. May get problem recognising the character if fnd_user_pkg.validatelogin() is used.
Apostrophe Not possible to use with FNDCPASS.
( Open Parenthesis Password must be enclosed by quotation marks.
) Close Parenthesis Password must be enclosed by quotation marks.

* Asterisk  
, Comma  
Hyphen – Minus  
. Full Stop  
/ Slash  
: Colon  
; Semicolon  
< Less than sign Password must be enclosed by quotation marks.
= Equals sign  
> Greater than sign Password must be enclosed by quotation marks.
? Question mark  
@ At sign  
[ Open square bracket  
  Backslash Password must be enclosed by quotation marks.
] Close square bracket  
^ Caret  
_ Underscore Cannot be used for APPS password or start any transaction managers.
` Grave accent Password must be enclosed by quotation marks.
{ Left curly bracket  
| Vertical bar Password must be enclosed by quotation marks.
} Right square bracket  
~ Tilde  
  Blank Space Cannot be used for passwords.

Note:

Please take note of the following details:

  • An important deviation from the standardization of mixed case passwords is observed with the APPLSYSPUB account. Its password continues to remain in uppercase.
  • Currently, Oracle E-Business Suite does not support passwords containing special characters or multibyte characters.

 

Reference Document : R12: How to change passwords to include special characters using FNDCPASS? (Doc ID 1336479.1)

 

 

 

 

April 30, 2023 How to Plug and Unplug a PDB in TDE Environment
Installation/Configurations19c

Unplug and Plug of PDB in a Transparent Data Encryption (TDE) Environment

 

Within an Oracle environment utilizing Transparent Data Encryption (TDE), the process of transferring a pluggable database (PDB) may necessitate additional procedures. In this blog post, we will explore the potential steps involved when performing an Unplug and Plug operation for a pluggable database.

 

Our intention is to perform an unplugging operation on the pluggable database EBSPDB from the PROD environment, followed by plugging it into the TEST environment. It’s important to note that both containers have Transparent Data Encryption (TDE) configured.

 

Source Environment: PROD Database with TDE

SQL> show EBSPDBs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 EBSPDB$SEED                       READ ONLY  NO
         3 EBSPDB                            READ WRITE NO

 

Target Environment: TEST Database with TDE

SQL> show EBSPDBs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

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

         2 EBSPDB$SEED                       READ ONLY  NO

         3 TEST2                             READ WRITE NO

 

1. Export the encryption key on the source EBSPDB

We have to export the encryption key on the source container PROD while connecting to EBSPDB.

The option force is needed if AUTO LOGIN is used

SQL> alter session set container=EBSPDB;

SQL> ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "<passpharase>" TO '/u01/oracle/tde/export.p12' FORCE keystore IDENTIFIED BY <passpharase>;

keystore altered.

Verify that the key was exported successfully on the host directory.

ls -l /u01/oracle/tde/export.p12

-rw-r--r--. 1 oracle oinstall 3411 Feb 12 13:34 /u01/oracle/tde/export.p12

 

2. Unplugging EBSPDB from Source Database PROD 

Once the key has been exported, we are now able to proceed with the unplugging of EBSPDB.

SQL> show con_name

CON_NAME

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

CDB$ROOT

SQL> alter pluggable database EBSPDB close;

Pluggable database altered.

SQL> show EBSPDBs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

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

         2 EBSPDB$SEED                       READ ONLY  NO

         3 EBSPDB                           MOUNTED

         5 EBSPDBCLONE                      MOUNTED

SQL> ALTER PLUGGABLE DATABASE EBSPDB UNPLUG INTO '/u01/oracle/EBSPDB.xml';

Pluggable database altered.

 

3. Plugging the database into the Target TEST Environment 

SQL> show parameter db_name

NAME                                 TYPE        VALUE

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

db_name                              string      TEST

SQL> show con_name

CON_NAME

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

CDB$ROOT

SQL> CREATE PLUGGABLE DATABASE EBSPDB USING '/u01/oracle/EBSPDB.xml';

Pluggable database created.

At this stage, it is expected to encounter errors when attempting to open EBSPDB in TEST. This is a normal occurrence since the encryption key needs to be imported.

SQL> alter pluggable database EBSPDB open;

Warning: EBSPDB altered with errors.      

 

4. Import the key into EBSPDB on TEST

Next, we will proceed with importing the exported key into EBSPDB on the TEST environment.

If EBSPDB is not already open in read/write (R/W) mode, please ensure to open it in such mode before proceeding with the import.

SQL> alter pluggable database EBSPDB open;

Warning: EBSPDB altered with errors.

SQL> show EBSPDBs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

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

         2 EBSPDB$SEED                       READ ONLY  NO

         3 TEST2                           READ WRITE NO

         4 EBSPDB                           READ WRITE YES

 

If the keystore on the pluggable database (PDB) is not already open, please ensure to open it.

SQL> alter session set container=EBSPDB;

SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY ********;

keystore altered.

 

Subsequently, proceed with importing the key

SQL> ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS WITH SECRET ******** FROM '/u01/oracle/tde/export.p12' IDENTIFIED BY ******** WITH BACKUP;

keystore altered.

 

Now, Please restart the pluggable database EBSPDB on the TEST environment.

SQL> show con_name

CON_NAME

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

EBSPDB

SQL> shutdown

Pluggable Database closed.

SQL> startup

Pluggable Database opened.

 

Now, when starting EBSPDB in open mode, there should be no further errors encountered.

SQL> conn / as sysdba

Connected.

SQL> alter pluggable database EBSPDB close;

Pluggable database altered.

SQL> alter pluggable database EBSPDB open;

Pluggable database altered.

SQL> alter pluggable database all save state;

Pluggable database altered.

Subsequently, we can proceed to verify on EBSPDB whether the encrypted objects are accessible.