GSM vs RAC Database Type
Here is one example when configuring the GSM for the RAC database for 12.1.0.1 databases and what the compatibility with the GSM, Basic rule is to GSM version should be higher or same to the catalog database. Apart from that when it comes to the RAC databases 12.1.0.1 supports only POLICY managed database and no support for Administrator managed which is recommended.
Now if we have administrator managed database in order to use Global data services then we must change the database type to policy managed. So far well and good but again in 12.1.0.2 databases now GSM supports even administrator database type. If 12.1.0.1 supports the default administrator managed database, then again extended support for policy managed in 12.1.0.2 then it may be feasible. Now the overhead is for all the administrator managed databases you must convert into policy managed and the disadvantages are
- Downtime (To convert from Administrator to policy managed)
- Upgrade (From 12.1.0.1 to 12.1.0.2)
Both are part of the production database downtime, Below is the go through and the related errors when you try to add global service to the RAC database of 12.1.0.1 with administrator managed.
GDSCTL>add service -gdspool psfin -service app_engine -preferred UK -role PRIMARY Catalog connection is established GSM Errors: NET-40063: Failed to create global service. Transaction rollbacked
In order to get more details, we can enable tracing at GSM level as below.
GDSCTL> set trace_level -gsm southgsm SUPPORT
Now we will check the present database configuration type,
[oracle@ora-r2n1 ~]$ srvctl config database -d UK
Database unique name: UK
Database name:
Oracle home: /u01/app/oracle/product/12.1.0.1/db_1
Oracle user: oracle
Spfile:
Password file: +DG1/UK/pwdfile
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: UK
Database instances: hapr11,hapr12
Disk Groups: DG1,DG2,DGFRA1
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
Database is administrator managed
Now, lets change the database from administration managed to policy mode as below.
[oracle@ora-r2n1 ~]$ srvctl add srvpool -g HADGPOOL -l 0 -u 2 [oracle@ora-r2n1 ~]$ srvctl modify database -d UK -g HADGPOOL PRCD-1130 : Failed to convert administrator-managed database UK into a policy-managed database to use server pool HADGPOOL PRCR-1071 : Failed to register or update resource ora.uk.db CRS-2736: The operation requires stopping resource 'ora.uk.db' on server 'ora-r2n1' CRS-2736: The operation requires stopping resource 'ora.uk.db' on server 'ora-r2n2' CRS-2744: Unable to modify resource 'ora.uk.db' as this will affect running resources, but the force option was not specified
When the databases, services are running we cannot change online and must consider force option which performs downtime of the services.
[oracle@ora-r2n1 ~]$ srvctl modify database -d UK -g HADGPOOL -f [oracle@ora-r2n1 ~]$ srvctl config database -d UK Database unique name: UK Database name: Oracle home: /u01/app/oracle/product/12.1.0.1/db_1 Oracle user: oracle Spfile: Password file: +DG1/UK/pwdfile Domain: Start options: open Stop options: immediate Database role: PRIMARY Management policy: AUTOMATIC Server pools: HADGPOOL Database instances: Disk Groups: DG1,DG2,DGFRA1 Mount point paths: Services: Type: RAC Start concurrency: Stop concurrency: Database is policy managed [oracle@ora-r2n1 ~]$
Now we will add service from GSM for the policy managed RAC database like below.
GDSCTL>add service -gdspool psfin -service app_engine -preferred UK -role PRIMARY GDSCTL>
Conclusion: In 12.1.0.1, global service creation is only supported on policy managed database.
Reference ADD GLOBAL SERVICE IN 12C GDS CONFIGURATION FAILS WITH NET-40063 ORA-44782 WHEN ADMIN MANAGED RAC DATABASE USED (Doc ID 1904435.1)