Blog

How to Find DBID from OEM Repository

A client has drooped an Oracle database, and client wants to know DBID of the dropped database.

From OEM repository, we can query some tables or views to get DBID for a specific database. for example :

 SQL> select HOST_NAME,TARGET_NAME,TARGET_TYPE,TARGET_GUID,DBID,VERSION        from  MGMT$DB_CPU_USAGE where upper(TARGET_NAME)='DB_NAME';

RMAN command to list dbid of the database:

$ rman catalog rman@rmancatalog
RMAN> list incarnation of database TESTDB;

[FATAL] [INS-32042] The Installer has detected that the user (oracle) is not member of the central inventory group

Silent installation of Oracle client 19c gets the following fatal error:

[FATAL] [INS-32042] The Installer has detected that the user (oracle) is not member of the central inventory group:
   ACTION: Make sure that the user (oracle) is member of the central inventory group ().
INFO:  [Nov 26, 2023 12:08:20 PM] Advice is ABORT

CAUSE

Check oraInst.loc file, and found inst_group is empty for some reason.

$ cat /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=

SOLUTION

Gives inst_group variable in /etc/oraInventory the right value.

$ cat /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall

Increase Voting Diskgroup Size

Here is an example of how to increase GI voting disk group size.

  1. Add a new disk with bigger size into current voting disk group.
  2. Drop the old small size disk.
SQL> select NAME, STATE,VOTING_FILES,total_mb, free_mb 
     from v$asm_diskgroup
     where NAME='VOTE_OCR";

NAME     STATE  VOTING_FILES TOTAL_MB FREE_MB
VOTE_OCR MOUNTED Y              51196    6352
SQL> alter diskgroup VOTE_OCR add disk '/dev/ASM/VOTE_OCR_002' NAME VOTE_OCR_002;

Diskgroup altered.
SQL> select NAME, STATE,VOTING_FILES,total_mb, free_mb 
     from v$asm_diskgroup
     where NAME='VOTE_OCR";

NAME     STATE  VOTING_FILES TOTAL_MB FREE_MB
VOTE_OCR MOUNTED Y           153592   108736 

SQL> alter diskgroup VOTE_OCR drop disk 'VOTE_OCR_001';

Diskgroup altered.

ORA-20247: EMD_URL is Invalid: Cannot provide null emd url

When adding a cluster database into OEM, and click “Submit” , the following error occurs:

ORA-20247: EMD_URL is Invalid: Cannot provide null emd url

SOLUTION

First of the first is to make sure the host name with domain name, we have a couple of situations when domain name is added into host name, then everything is working fine.

Otherwise go to next step for workaround.

Manually add the cluster database into OEM by using emcli on OMS server:

$ emcli login -username=sysman
Enter password :

Login successful

Add first instance target of the cluster database first

$ emcli add_target -name="TESTDB_TESTDB1" -type="oracle_database" -host="racnode1" -credentials="UserName:dbsnmp;password:XXXXXXXXXX;Role:Normal" -properties="SID:TESTDB1;Port:1521;OracleHome:/u01/app/oracle/product/19.0.0/dbhome_1;MachineName:racnode1-vip" 

Target "TESTDB_TESTDB1:oracle_database" added successfully

Add the rest instance(s)

$ emcli add_target -name="TESTDB_TESTDB2" -type="oracle_database" -host="racnode2" -credentials="UserName:dbsnmp;password:XXXXXXXXXX;Role:Normal"  -properties="SID:TETSTDB2;Port:1521;OracleHome:/u01/app/oracle/product/19.0.0/dbhome_1;MachineName:racnode2-vip" 

Target "TESTDB_TESTDB2:oracle_database" added successfully

Add the cluster database

$ emcli add_target -name="TESTDB" -type="rac_database" -host="racnode1" -monitor_mode="1" -properties="ServiceName:TESTDB;ClusterName:CLSTEST" -instances="TESTDB_TESTDB1:oracle_database;TESTDB_TESTDB2:oracle_database"

Target "TESTDB:rac_database" added successfully

Go to OEM console to check the cluster database .

ORA-12532: TNS:invalid argument

Trying to run sqlplus to logon to a database, the following error occurs:

$ sqlplus scott

SQL*Plus: Release 12.2.0.1.0 Production on Tue Nov 14 14:46:12 2022

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

Enter password:
ERROR:
ORA-12532: TNS:invalid argument

CAUSE

User password contains character “@”