./ggsci: error while loading shared libraries: libnnz11.so

This issue is related environment variable. Please fix them using the following.

[ggate@dbadm01 oradb11]$ ./ggsci
./ggsci: error while loading shared libraries: libnnz11.so: cannot open shared object file: No such file or directory

export LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0.4a/dbhome_1/lib

[ggate@dm02dbadm01 oradb11]$ export LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0.4a/dbhome_1/lib
[ggate@dm02dbadm01 oradb11]$ ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version 12.2.0.1.1 OGGCORE_12.2.0.1.0_PLATFORMS_151211.1401_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Dec 12 2015 00:54:38
Operating system character set identified as UTF-8.

Copyright (C) 1995, 2015, Oracle and/or its affiliates. All rights reserved.

GGSCI (dm02dbadm01.abcfinancial.net) 1>

or

[ggate@dm02dbadm01 oradb11]$ ln -s /u01/app/oracle/product/11.2.0.4a/dbhome_1/lib/libnnz11.so libnnz11.so
[ggate@dm02dbadm01 oradb11]$ ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version 12.2.0.1.1 OGGCORE_12.2.0.1.0_PLATFORMS_151211.1401_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Dec 12 2015 00:54:38
Operating system character set identified as UTF-8.

Copyright (C) 1995, 2015, Oracle and/or its affiliates. All rights reserved.

GGSCI (dm02dbadm01.abcfinancial.net) 1>

 

ORA-46238: Database user or role does not exist during Upgrade to 12c using dbua

I recently ran into “ORA-46238: Database user or role does not exist ” issue while trying to upgrade Oracle database from 11g to 12c using DBCA.

You will see something like this in your logfile 

ERROR at line 1: 
ORA-46238: Database user or role '"BETADATASECURE"' does not exist 
ORA-06512: at "SYS.XS_ACL", line 93 
ORA-06512: at "SYS.XS_ADMIN_UTIL", line 53 
ORA-06512: at "SYS.XS_ACL_INT", line 126 
ORA-01403: no data found 
ORA-06512: at "SYS.XS_ACL_INT", line 122 
ORA-06512: at "SYS.XS_ACL_INT", line 493 
ORA-06512: at "SYS.XS_ACL", line 83 
ORA-06512: at "SYS.XS_OBJECT_MIGRATION", line 190 
ORA-06512: at "SYS.XS_OBJECT_MIGRATION", line 190 
ORA-06512: at line 56 
ORA-06512: at line 104

Reason : – You have dropped the user but there are still some permission lingering out there for that user. You can using the following.

SQL> SELECT a.object_id ACL_ID, b.principal, b.privilege
2 FROM xdb.xdb$acl a,
3 xmltable(xmlnamespaces(DEFAULT 'http://xmlns.oracle.com/xdb/acl.xsd'),
4 '/acl/ace' passing a.object_value
5 columns
6 principal VARCHAR2(30) path '/ace/principal',
privilege xmltype path '/ace/privilege') b
7 8 WHERE b.principal = 'BETADATASECURE';

ACL_ID PRINCIPAL
-------------------------------- ------------------------------
PRIVILEGE
--------------------------------------------------------------------------------
6013F2CBD4F65F5CE040007F01001457 BETADATASECURE
<privilege xmlns="http://xmlns.oracle.com/xdb/acl.xsd">
<plsql:connect xmlns:p

Drop permission : – 

connect / as sysdba
BEGIN
DBMS_NETWORK_ACL_ADMIN.delete_privilege (
acl => '/sys/acls/qualdatasecure.xml',
principal => 'BETADATASECURE',
is_grant => TRUE,
privilege => 'connect');
COMMIT;
END;
/

You do not have sufficient permissions to access the inventory ‘/u01/app/oraInventory/locks’

Sometime back i got the following error while trying to install Oracle GoldenGate on Exadata. This issue can be resovled by changing ” inventory.lock” permission using following method.

Error : – 

[ggate@dbadm01 Disk1]$ ./runInstaller
You do not have sufficient permissions to access the inventory ‘/u01/app/oraInventory/locks’. Installation cannot continue. It is required that the primary group of the install user is same as the inventory owner group. Make sure that the install user is part of the inventory owner group and restart the installer.: Permission denied

[ggate@dm02dbadm01 Disk1]$ ls -ltr
total 43
-rwxr-xr-x+ 1 oracle oinstall 918 Oct 22 2016 runInstaller
drwxr-xr-x+ 11 oracle oinstall 21 Oct 22 2016 stage
drwxr-xr-x+ 2 oracle oinstall 3 Oct 22 2016 response
drwxr-xr-x+ 4 oracle oinstall 11 Oct 22 2016 install

Solution : –

Chmod 770 locks
backup the already existing inventory.lock file
mv inventory.lock inventory.lock_<date>

And restart of the ./runinstaller using the response file fixed the issue.

 

[ggate@dm02dbadm01 Disk1]$ ./runInstaller
Starting Oracle Universal Installer…

Checking Temp space: must be greater than 120 MB. Actual 8704 MB Passed
Checking swap space: must be greater than 150 MB. Actual 23584 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-05-02_02-16-39PM. Please wait …[ggate@dbadm01 Disk1]$

 

Reference : –

 

Patch 17030189 is required on your Oracle mining database for trail format RELEASE 12.2 or later.

Please locate  prvtlmpg.plb script in GG home installation directory and execute it as sysdba as work around for “Patch 17030189 is required on your Oracle mining database for trail format RELEASE 12.2 or later.”

[oracle@OGGR2-1 ogg]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Sep 20 12:00:42 2016

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

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> @prvtlmpg.plb

SQL> @prvtlmpg.plb

Oracle GoldenGate Workaround prvtlmpg

This script provides a temporary workaround for bug 17030189.
It is strongly recommended that you apply the official Oracle
Patch for bug 17030189 from My Oracle Support instead of using
this workaround.

This script must be executed in the mining database of Integrated
Capture. You will be prompted for the username of the mining user.
Use a double quoted identifier if the username is case sensitive
or contains special characters. In a CDB environment, this script
must be executed from the CDB$ROOT container and the mining user
must be a common user.

=========================== WARNING ==========================
You MUST stop all Integrated Captures that belong to this mining
user before proceeding!
================================================================

Enter Integrated Capture mining user: ggs

Installing workaround…
No errors.
No errors.
No errors.
Installation completed.

Flashback Oracle Database on Exadata Machine

There are times when you need to flashback Oracle databases running on Exadata Machine. Database restore point is commonly  used during database upgrade or GoldenGate replication. You can using following steps to flashback Oracle database running on Exadata Machine.

Step  1 : Check Database Status using srvctl
[oracle@dm02dba01 ~]$ srvctl status database -d orcl
Instance orcl1 is running on node dm02dba01
Instance orcl2 is running on node dm02dba02
Step 2 : Stop database using srvctl
[oracle@dm02dba01 ~]$ srvctl stop database -d orcl
Step 3 : Start only 1 instance in mount mode
[oracle@dm02dba01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu May 10 12:40:27 2018

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

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area 1.0737E+11 bytes
Fixed Size 29888776 bytes
Variable Size 2.8369E+10 bytes
Database Buffers 7.8920E+10 bytes
Redo Buffers 55226368 bytes
Database mounted.

Step 4 : Check list of existing database restore points
SQL> select name,time from v$restore_point;

NAME
--------------------------------------------------------------------------------
TIME
---------------------------------------------------------------------------
upgrade
06-MAY-18 01.53.29.000000000 PM

Step 5 : Flashback database to target restore point
SQL> flashback database to restore point upgrade;

Flashback complete.
Step 6 : Open database instance with resetlogs
SQL> alter database open resetlogs;

Database altered.
Step 7: Shutdown database instance
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
Step 8 : Start database using srvctl
[oracle@dm02dba01 ~]$ srvctl start database -d orcl
[oracle@dm02dba01 ~]$ srvctl status database -d orcl
Instance orcl1 is running on node dm02dba01
Instance orcl2 is running on node dm02dba02