Installing and Creating Oracle Database 12c on OEL 6.4
In this post I am going to share the steps for installation off Oracle Database 12c on Oracle Enterprise Linux 6.4.
Software and resources which will be used:
1. Virtual Box 6.0
2. Oracle Enterprise Linux 6.4
3. Oracle Database 12c(12.1.0.2)
Configuration of Virtual Machine:
OS: OEL 6.4
RAM: 5 GB
Hard Disk: 60GB
Oracle Virtual Box installation and Oracle Enterprise Linux steps I will not be sharing here as I have already shared those in my older posts.Please refer link below.
1. Oracle Virtual Box Installation Steps
2. Creating Virtual Machine Steps
3. Installing Oracle Linux Steps
4. Installing Oracle Linux Steps Continued Steps
5. Installing Guest Addition in Machine Steps(Only Guest addition steps needs to be performed from the post).
6. Once the Machine is Prepared Below is the configuration ScreenShot.
7. We will install pre-requisite RPM's required for Oracle installation as below command. This would be done from root user.
# yum install oracle-rdbms-server-12cR1-preinstall -y
9. Add vboxsf group to user oracle. This is optional step. I am doing this step as I will keep by Orace database base software in shared folder between host system.
[root@myprimarydb Desktop]# usermod -aG vboxsf oracle
[root@myprimarydb Desktop]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),492(vboxsf),54322(dba)
10. Disable firewall
11. Edit /etc/selinux/config, here change the parameter SELINUX=disabled
#vi /etc/selinux/config
13. Make sure below values are setup in configuration files.
Software and resources which will be used:
1. Virtual Box 6.0
2. Oracle Enterprise Linux 6.4
3. Oracle Database 12c(12.1.0.2)
Configuration of Virtual Machine:
OS: OEL 6.4
RAM: 5 GB
Hard Disk: 60GB
Oracle Virtual Box installation and Oracle Enterprise Linux steps I will not be sharing here as I have already shared those in my older posts.Please refer link below.
1. Oracle Virtual Box Installation Steps
2. Creating Virtual Machine Steps
3. Installing Oracle Linux Steps
4. Installing Oracle Linux Steps Continued Steps
5. Installing Guest Addition in Machine Steps(Only Guest addition steps needs to be performed from the post).
6. Once the Machine is Prepared Below is the configuration ScreenShot.
7. We will install pre-requisite RPM's required for Oracle installation as below command. This would be done from root user.
# yum install oracle-rdbms-server-12cR1-preinstall -y
8. Once the rpm installation is done, as OS user with name oracle will be created. Change the password for oracle user.
9. Add vboxsf group to user oracle. This is optional step. I am doing this step as I will keep by Orace database base software in shared folder between host system.
[root@myprimarydb Desktop]# usermod -aG vboxsf oracle
[root@myprimarydb Desktop]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),492(vboxsf),54322(dba)
10. Disable firewall
11. Edit /etc/selinux/config, here change the parameter SELINUX=disabled
#vi /etc/selinux/config
12. Now set the hostname, and edit /etc/hosts. I will assign IP on eth1 adapter i.e. my Host Only Adapter for hostname.
13. Make sure below values are setup in configuration files.
/etc/security/limits.conf:
---------------
* hard nofile 65536
* soft nofile 4096
* hard nproc 16384
* soft nproc 2047
* hard stack 16384
* soft stack 10240
14. Reboot the server.
15. Unzip the database software and execute runInstaller.
drwxr-xr-x. 7 oracle oinstall 4096 Jul 7 2014 database
-rwxr-x---. 1 oracle oinstall 1014530602 May 27 23:14 linuxamd64_12102_database_2of2.zip
-rwxr-x---. 1 oracle oinstall 1673544724 May 27 23:14 linuxamd64_12102_database_1of2.zip
[oracle@ebsoam u02]$ cd database/
[oracle@ebsoam database]$ ls
install response rpm runInstaller sshsetup stage welcome.html
[oracle@ebsoam database]$ ./runInstaller
16. I will not mention much about below screenshot as they are self explanatory.
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 500 MB. Actual 7328 MB Passed
Checking swap space: must be greater than 150 MB. Actual 19999 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-05-27_11-22-37PM. Please wait ...
Run the mentioned script as root user and then click OK to proceed with remaining installation.
drwxr-xr-x. 7 oracle oinstall 4096 Jul 7 2014 database
-rwxr-x---. 1 oracle oinstall 1014530602 May 27 23:14 linuxamd64_12102_database_2of2.zip
-rwxr-x---. 1 oracle oinstall 1673544724 May 27 23:14 linuxamd64_12102_database_1of2.zip
[oracle@ebsoam u02]$ cd database/
[oracle@ebsoam database]$ ls
install response rpm runInstaller sshsetup stage welcome.html
[oracle@ebsoam database]$ ./runInstaller
16. I will not mention much about below screenshot as they are self explanatory.
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 500 MB. Actual 7328 MB Passed
Checking swap space: must be greater than 150 MB. Actual 19999 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-05-27_11-22-37PM. Please wait ...
Run the mentioned script as root user and then click OK to proceed with remaining installation.
Installation is Done.
How to Cleanup failed EBS R12.2 installation
If we are trying to install R12.2 EBS, there may be cases that we end up in error during installation. We need to fix the error and then restart the Rapid wiz from beginning as there is no rapidwiz -restart option available with 12.2.
If the installation fails we need to perform the following steps to clean up a failed installation:
1. Restart the server or make sure to kill ALL oracle and applmgr processes.
2. Backup and then delete all contents(files/folders) from the /tmp directory.
3. Backup and then delete all contents(files/folders) from the oraInventory directory.
4. Backup and then delete BEA under installation user $HOME.
5. Backup and then delete all contents(files/folders) the install directory- Database / Application Base directory
6. Ensure the correct oraInventory is present and run rapidwiz again to start installation.
FND_DIAGNOSTICS Is Invalid In Oracle Apps R12.2
Error:
FND_DIAGNOSTICS is invalid in EBS 12.2 with 12C database.
When we Compile the object the following error is observed:
Alter package APPS.FND_DIAGNOSTICS compile body;
Warning: Package Body altered with compilation errors.
SQL> show errors;
Errors for PACKAGE BODY APPS.FND_DIAGNOSTICS:
LINE/COL ERROR
-------- -----------------------------------------------------------------
1839/17 PL/SQL: SQL Statement ignored
1839/31 PL/SQL: ORA-00942: table or view does not exist
1841/9 PL/SQL: Statement ignored
1841/14 PLS-00364: loop index variable 'X' use is invalid
Solution:
1. Add grant to DBA_DATAPUMP_JOBS view;
sqlplus / as sysdba
SQL> grant select on dba_datapump_jobs to apps;
SQL> alter package APPS.FND_DIAGNOSTICS compile body;
2. Verify that the FND_DIAGNOSTICS object is valid:
SQL> select object_name,status from dba_objects where object_name like 'FND_DIAGNOSTICS';
FND_DIAGNOSTICS is invalid in EBS 12.2 with 12C database.
When we Compile the object the following error is observed:
Alter package APPS.FND_DIAGNOSTICS compile body;
Warning: Package Body altered with compilation errors.
SQL> show errors;
Errors for PACKAGE BODY APPS.FND_DIAGNOSTICS:
LINE/COL ERROR
-------- -----------------------------------------------------------------
1839/17 PL/SQL: SQL Statement ignored
1839/31 PL/SQL: ORA-00942: table or view does not exist
1841/9 PL/SQL: Statement ignored
1841/14 PLS-00364: loop index variable 'X' use is invalid
Solution:
1. Add grant to DBA_DATAPUMP_JOBS view;
sqlplus / as sysdba
SQL> grant select on dba_datapump_jobs to apps;
SQL> alter package APPS.FND_DIAGNOSTICS compile body;
2. Verify that the FND_DIAGNOSTICS object is valid:
SQL> select object_name,status from dba_objects where object_name like 'FND_DIAGNOSTICS';
ORA-04063: Package Body "APPS.AD_ZD_ADOP" Has Errors when running adop
While running adop prepare, the error is encountered on APPS.AD_ZD_ADOP . When checking further the package body is in invalid state.
Error:
When we try to compile manually, we observe below error.
Error:
When we try to compile manually, we observe below error.
SQL> alter package APPS.AD_ZD_ADOP compile body;
Warning: Package Body altered with compilation errors.
Warning: Package Body altered with compilation errors.
SQL> show err
Errors for PACKAGE BODY APPS.AD_ZD_ADOP:
LINE/COL ERROR
-------- -----------------------------------------------------------------
2686/3 PL/SQL: Statement ignored
2686/7 PLS-00201: identifier 'SYS.DBMS_METADATA_UTIL' must be declared
Errors for PACKAGE BODY APPS.AD_ZD_ADOP:
LINE/COL ERROR
-------- -----------------------------------------------------------------
2686/3 PL/SQL: Statement ignored
2686/7 PLS-00201: identifier 'SYS.DBMS_METADATA_UTIL' must be declared
Solution:
1. Connect as sysdba and
grant execute on DBMS_METADATA_UTIL to apps;
2. alter package APPS.AD_ZD_ADOP compile body;
2. alter package APPS.AD_ZD_ADOP compile body;
The package should be compiled normally now.
Which note pad to use on LinuxMint(Installing Geany)
A free and open source product, Geany is available for all desktop platforms such as Windows, Linux, OS X etc.
To Install Geany on Linux Mint use below command
To Install Geany on Linux Mint use below command
sudo apt-get install geany
Query to find the Sessions which are generating High Archive Logs
To find sessions generating lots of redo, we can use below query,
Query:
SELECT s.sid, s.serial#, s.username, s.program,
si.block_changes
FROM gv$session s, gv$sess_io si
WHERE s.sid = si.sid
ORDER BY 5 desc;
BLOCK_CHANGES indicates how many blocks have been changed by the session. High values indicate a session generating lots of redo.
Query:
SELECT s.sid, s.serial#, s.username, s.program,
si.block_changes
FROM gv$session s, gv$sess_io si
WHERE s.sid = si.sid
ORDER BY 5 desc;
BLOCK_CHANGES indicates how many blocks have been changed by the session. High values indicate a session generating lots of redo.
Force apply patch in R12.2 using ADOP Utility
If we want to apply a patch again which was earlier applied in Oracle EBS R12.2 then we need to use force apply option.
Syntax:
adop phase=apply patches= options=forceapply
Syntax:
adop phase=apply patches=
OMS 13c agent installation failed with "The referenced database doesn't contain a valid management Repository."
OEM 13c installation failed with "The referenced database doesn't contain a valid management Repository."
This is occuring as my previous installation failed due to space issue, so there were database objects already created earlier which needs to be cleaned.
Error:
"The referenced database doesn't contain a valid management Repository."
Solution :
Properly clean the database before using it again as a OMS database :-
1. Drop sysman related schemas.
DROP USER SYSMAN CASCADE;
DROP USER SYSMAN_OPSS CASCADE;
DROP USER SYSMAN_MDS CASCADE;
DROP USER SYSMAN_APM CASCADE;
DROP USER SYSMAN_RO CASCADE;
2. Remove Synonyms related to sysman accounts :-
DECLARE
CURSOR l_syn_csr IS
SELECT 'DROP ' ||
CASE owner
WHEN 'PUBLIC'
THEN 'PUBLIC SYNONYM '
ELSE 'SYNONYM ' || owner || '.'
END ||
synonym_name AS cmd
FROM
dba_synonyms
WHERE
table_owner IN (
'SYSMAN',
'SYSMAN_MDS',
'MGMT_VIEW',
'SYSMAN_BIP',
'SYSMAN_APM',
'BIP',
'SYSMAN_OPSS',
'SYSMAN_RO'
);
BEGIN
FOR l_syn_rec IN l_syn_csr LOOP
BEGIN
EXECUTE IMMEDIATE l_syn_rec.cmd;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line( '===> ' || l_syn_rec.cmd );
dbms_output.put_line( sqlerrm );
END;
END LOOP;
END;
/
3. Removing remaining Objects and tablespaces :-
DROP USER mgmt_view CASCADE;
DROP TABLESPACE mgmt_ecm_depot_ts INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
DROP TABLESPACE mgmt_tablespace INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
DROP TABLESPACE mgmt_ad4j_ts INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
4. As proper database cleaning using RepManager dropall didn't happen, so we have to clean up the registry details :-
DELETE
FROM
schema_version_registry
WHERE
(comp_name,owner) IN (
('Authorization Policy Manager','SYSMAN_APM'),
('Metadata Services','SYSMAN_MDS'),
('Oracle Platform Security Services','SYSMAN_OPSS')
);
commit;
5. Retry with the installation, it should complete successfully.
This is occuring as my previous installation failed due to space issue, so there were database objects already created earlier which needs to be cleaned.
Error:
"The referenced database doesn't contain a valid management Repository."
Solution :
Properly clean the database before using it again as a OMS database :-
1. Drop sysman related schemas.
DROP USER SYSMAN CASCADE;
DROP USER SYSMAN_OPSS CASCADE;
DROP USER SYSMAN_MDS CASCADE;
DROP USER SYSMAN_APM CASCADE;
DROP USER SYSMAN_RO CASCADE;
DROP USER SYSMAN_BIPLATFORM CASCADE;
DROP USER SYSMAN_STB CASCADE;
2. Remove Synonyms related to sysman accounts :-
DECLARE
CURSOR l_syn_csr IS
SELECT 'DROP ' ||
CASE owner
WHEN 'PUBLIC'
THEN 'PUBLIC SYNONYM '
ELSE 'SYNONYM ' || owner || '.'
END ||
synonym_name AS cmd
FROM
dba_synonyms
WHERE
table_owner IN (
'SYSMAN',
'SYSMAN_MDS',
'MGMT_VIEW',
'SYSMAN_BIP',
'SYSMAN_APM',
'BIP',
'SYSMAN_OPSS',
'SYSMAN_RO'
);
BEGIN
FOR l_syn_rec IN l_syn_csr LOOP
BEGIN
EXECUTE IMMEDIATE l_syn_rec.cmd;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line( '===> ' || l_syn_rec.cmd );
dbms_output.put_line( sqlerrm );
END;
END LOOP;
END;
/
3. Removing remaining Objects and tablespaces :-
DROP USER mgmt_view CASCADE;
DROP TABLESPACE mgmt_ecm_depot_ts INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
DROP TABLESPACE mgmt_tablespace INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
DROP TABLESPACE mgmt_ad4j_ts INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
4. As proper database cleaning using RepManager dropall didn't happen, so we have to clean up the registry details :-
DELETE
FROM
schema_version_registry
WHERE
(comp_name,owner) IN (
('Authorization Policy Manager','SYSMAN_APM'),
('Metadata Services','SYSMAN_MDS'),
('Oracle Platform Security Services','SYSMAN_OPSS')
);
commit;
5. Retry with the installation, it should complete successfully.
Running FS_CLONE give error at ADOPValidationUtils.pm
When we are running fs_Clone below error is seen.
ERROR:
[UNEXPECTED]Error occurred running "perl /u01/app/applmgr/SAI/fs1/EBSapps/appl/ad/12.0.0/patch/115/bin/txkADOPValidations.pl -contextfile=/u01/app/applmgr/SAI/fs1/inst/apps/SAI_funoracleapps/appl/admin/SAI_funoracleapps.xml -patchctxfile=/u01/app/applmgr/SAI/fs2/inst/apps/SAI_funoracleapps/appl/admin/SAI_funoracleapps.xml -phase=fs_clone -logloc=/u01/app/applmgr/SAI/fs_ne/EBSapps/log/adop/51/20190502_132432/fs_clone/validate/funoracleapps -promptmsg=hide"
[UNEXPECTED]Error 1 occurred while Executing txkADOPValidation script on funoracleapps
Checking log further below error is noticed.
Use of uninitialized value $result in split at /u01/app/applmgr/SAI/fs1/EBSapps/appl/au/12.0.0/perl/TXK/ADOPValidationUtils.pm line 1294.
No such file or directory at /u01/app/applmgr/SAI/fs1/EBSapps/appl/au/12.0.0/perl/TXK/ADOPValidationUtils.pm line 230.
Solution:
1) Run below query to verify the patch context file entry is present or not.
select distinct(PATH) from FND_OAM_CONTEXT_FILES where NAME not in ('TEMPLATE','METADATA','config.txt') and CTX_TYPE='A' and (status is null or upper(status) in ('S','F')) and EXTRACTVALUE(XMLType(TEXT),'//file_edition_type') = 'patch';
no rows selected
2) To fix this issue we need to upload the patch context file
a) Source your PATCH file system
. EBSapps patch
[applmgr@funoracleapps ~]$ echo $FILE_EDITION
patch
Get the value of your patch context file.
[applmgr@funoracleapps ~]$ echo $CONTEXT_FILE
/u01/oracle/SAI/fs2/inst/apps/SAI_funoracleapps/appl/admin/SAI_funoracleapps.xml
b) Source the RUN filesystem
and Execute the following command on the run filesystem to upload the patch context file to the database.
$ADJVAPRG oracle.apps.ad.autoconfig.oam.CtxSynchronizer \
action=upload \
contextfile='Enter Your Full Patch Context XML File Location as per step 1' \
logfile=/tmp/patchctxupload.log
[applmgr@funoracleapps ~]$ echo $FILE_EDITION
run
[applmgr@funoracleapps ~]$ $ADJVAPRG oracle.apps.ad.autoconfig.oam.CtxSynchronizer \
> action=upload \
> contextfile=/u01/oracle/SAI/fs2/inst/apps/SAI_funoracleapps/appl/admin/SAI_funoracleapps.xml \
> logfile=/tmp/patchctxupload.log
Enter the APPS password:
Note: the context file parameter should point to the physical location of the patch context file in your system.
3) Run the following query and it should return one entry for the recently uploaded context file.
select distinct(PATH) from FND_OAM_CONTEXT_FILES where NAME not in ('TEMPLATE','METADATA','config.txt') and CTX_TYPE='A' and (status is null or upper(status) in ('S','F')) and EXTRACTVALUE(XMLType(TEXT),'//file_edition_type') = 'patch';
PATH
-----
/u01/oracle/SAI/fs2/inst/apps/SAI_funoracleapps/appl/admin/SAI_funoracleapps.xml
4) Run the fs_clone again and it should complete successfully.
ERROR:
[UNEXPECTED]Error occurred running "perl /u01/app/applmgr/SAI/fs1/EBSapps/appl/ad/12.0.0/patch/115/bin/txkADOPValidations.pl -contextfile=/u01/app/applmgr/SAI/fs1/inst/apps/SAI_funoracleapps/appl/admin/SAI_funoracleapps.xml -patchctxfile=/u01/app/applmgr/SAI/fs2/inst/apps/SAI_funoracleapps/appl/admin/SAI_funoracleapps.xml -phase=fs_clone -logloc=/u01/app/applmgr/SAI/fs_ne/EBSapps/log/adop/51/20190502_132432/fs_clone/validate/funoracleapps -promptmsg=hide"
[UNEXPECTED]Error 1 occurred while Executing txkADOPValidation script on funoracleapps
Checking log further below error is noticed.
Use of uninitialized value $result in split at /u01/app/applmgr/SAI/fs1/EBSapps/appl/au/12.0.0/perl/TXK/ADOPValidationUtils.pm line 1294.
No such file or directory at /u01/app/applmgr/SAI/fs1/EBSapps/appl/au/12.0.0/perl/TXK/ADOPValidationUtils.pm line 230.
Solution:
1) Run below query to verify the patch context file entry is present or not.
select distinct(PATH) from FND_OAM_CONTEXT_FILES where NAME not in ('TEMPLATE','METADATA','config.txt') and CTX_TYPE='A' and (status is null or upper(status) in ('S','F')) and EXTRACTVALUE(XMLType(TEXT),'//file_edition_type') = 'patch';
no rows selected
2) To fix this issue we need to upload the patch context file
a) Source your PATCH file system
. EBSapps patch
[applmgr@funoracleapps ~]$ echo $FILE_EDITION
patch
Get the value of your patch context file.
[applmgr@funoracleapps ~]$ echo $CONTEXT_FILE
/u01/oracle/SAI/fs2/inst/apps/SAI_funoracleapps/appl/admin/SAI_funoracleapps.xml
b) Source the RUN filesystem
and Execute the following command on the run filesystem to upload the patch context file to the database.
$ADJVAPRG oracle.apps.ad.autoconfig.oam.CtxSynchronizer \
action=upload \
contextfile='Enter Your Full Patch Context XML File Location as per step 1' \
logfile=/tmp/patchctxupload.log
[applmgr@funoracleapps ~]$ echo $FILE_EDITION
run
[applmgr@funoracleapps ~]$ $ADJVAPRG oracle.apps.ad.autoconfig.oam.CtxSynchronizer \
> action=upload \
> contextfile=/u01/oracle/SAI/fs2/inst/apps/SAI_funoracleapps/appl/admin/SAI_funoracleapps.xml \
> logfile=/tmp/patchctxupload.log
Enter the APPS password:
Note: the context file parameter should point to the physical location of the patch context file in your system.
3) Run the following query and it should return one entry for the recently uploaded context file.
select distinct(PATH) from FND_OAM_CONTEXT_FILES where NAME not in ('TEMPLATE','METADATA','config.txt') and CTX_TYPE='A' and (status is null or upper(status) in ('S','F')) and EXTRACTVALUE(XMLType(TEXT),'//file_edition_type') = 'patch';
PATH
-----
/u01/oracle/SAI/fs2/inst/apps/SAI_funoracleapps/appl/admin/SAI_funoracleapps.xml
4) Run the fs_clone again and it should complete successfully.
Subscribe to:
Posts
(
Atom
)
No comments :
Post a Comment