02 February, 2025

Domains in 23ai Schema Development

 I had heard of Data Use Case Domains in 23ai. However, the New Features nd Database Concepts documentation didn't provide enough examples for me to build on.

However, this blog post by Ulrike Schwinn  (which was shared by @thatjeffsmith  on X) helped me explore domains.

In this demo, I am using the Pre-Seeded Domains.  However, you can see the example posted by Ulrike Schwimm  or even read in the Database Concepts documentation  to help build your own custom Domains.

A Data Use Case Domain is like defining a Custom DataType such that only valid values are permitted.  The Domain name can be a self-identifier (just as "DATE" or "NUMBER" identifies the type of data being stored).

Here  is my demonstration  (I also use the Annotations feature -- the Data Use Case Domains documentation links above also lead to this feature)


SQL> set pages600 linesize 132
SQL> col contact_person format a32
SQL> col contact_email format a24
SQL>
SQL> drop table forex_rates_contacts;

Table dropped.

SQL>
SQL>
SQL> create table forex_rates_contacts
  2  (
  3   country_iso_code  varchar2(3) domain country_code_d,  -- preseeded SYS domain
  4   currency_code varchar2(3) domain currency_code_d, -- preseeded SYS domain
  5   contact_person varchar2(128),
  6   contact_email     varchar2(4000) domain email_d -- preseed SYS domain
  7  )
  8  annotations (display 'Forex Contact Persons')
  9  /

Table created.

SQL>
SQL> desc forex_rates_contacts
 Name                                                                     Null?    Type
 ------------------------------------------------------------------------ -------- -------------------------------------------------
 COUNTRY_ISO_CODE                                                                  VARCHAR2(3) SYS.COUNTRY_CODE_D
 CURRENCY_CODE                                                                     VARCHAR2(3) SYS.CURRENCY_CODE_D
 CONTACT_PERSON                                                                    VARCHAR2(128)
 CONTACT_EMAIL                                                                     VARCHAR2(4000) SYS.EMAIL_D

SQL>
SQL>
SQL> set long 1000
SQL> set longc 1000
SQL> set serveroutput on
SQL>
SQL> rem  FROM clause is no longer required in 23ai
SQL> select dbms_metadata.get_ddl('TABLE','FOREX_RATES_CONTACTS','HEMANT');

DBMS_METADATA.GET_DDL('TABLE','FOREX_RATES_CONTACTS','HEMANT')
------------------------------------------------------------------------------------------------------------------------------------

  CREATE TABLE "HEMANT"."FOREX_RATES_CONTACTS"
   (    "COUNTRY_ISO_CODE" VARCHAR2(3) DOMAIN "SYS"."COUNTRY_CODE_D",
        "CURRENCY_CODE" VARCHAR2(3) DOMAIN "SYS"."CURRENCY_CODE_D",
        "CONTACT_PERSON" VARCHAR2(128),
        "CONTACT_EMAIL" VARCHAR2(4000) DOMAIN "SYS"."EMAIL_D"
   ) SEGMENT CREATION DEFERRED
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 NOCOMPRESS LOGGING
  TABLESPACE "USERS"
  ANNOTATIONS("DISPLAY" 'Forex Contact Persons')


SQL>
SQL>
SQL>
SQL> rem  MULTI-ROW Insert
SQL> insert into forex_rates_contacts
  2  values
  3  ('US','USD','Mr Unknown','unknown@nowhere.gov'),
  4  ('IN','INR','Someone at RBI','someone@rbi.gov.in')
  5  /

2 rows created.

SQL>
SQL> commit;

Commit complete.

SQL>
SQL> select * from forex_rates_contacts
  2  order by country_iso_code
  3  /

COU CUR CONTACT_PERSON                   CONTACT_EMAIL
--- --- -------------------------------- ------------------------
IN  INR Someone at RBI                   someone@rbi.gov.in
US  USD Mr Unknown                       unknown@nowhere.gov

SQL>
SQL> -- Note that the country_code_d and currency_code_d do not check validity against really ISO codes
SQL> -- thus, it does not disallow "ZZ" and "ZZZ"
SQL> insert into forex_rates_contacts
  2  values
  3  ('ZZ','ZZZ','Mr Unknown','unknown@nowhere.zz')
  4  /

1 row created.

SQL>
SQL> select * from forex_rates_contacts
  2  order by country_iso_code
  3  /

COU CUR CONTACT_PERSON                   CONTACT_EMAIL
--- --- -------------------------------- ------------------------
IN  INR Someone at RBI                   someone@rbi.gov.in
US  USD Mr Unknown                       unknown@nowhere.gov
ZZ  ZZZ Mr Unknown                       unknown@nowhere.zz

SQL>
SQL> commit;

Commit complete.

SQL>
SQL> -- But the rules for email validation are encoded
SQL> insert into forex_rates_contacts
  2  values
  3  ('UK','GBP','Mr Someone','someone@x')
  4  /
insert into forex_rates_contacts
*
ERROR at line 1:
ORA-11534: check constraint (HEMANT.SYS_C0013464) involving column CONTACT_EMAIL due to domain constraint SYS.SYS_DOMAIN_C0030 of
domain SYS.EMAIL_D violated
Help: https://docs.oracle.com/error-help/db/ora-11534/


SQL>
SQL> select * from forex_rates_contacts
  2  order by country_iso_code
  3  /

COU CUR CONTACT_PERSON                   CONTACT_EMAIL
--- --- -------------------------------- ------------------------
IN  INR Someone at RBI                   someone@rbi.gov.in
US  USD Mr Unknown                       unknown@nowhere.gov
ZZ  ZZZ Mr Unknown                       unknown@nowhere.zz

SQL>
SQL> spool off


I haven't added my own custom Domains but used the PreSeeded domains for Country, Currency and Email.  Look at "10.1.12 Built-In Use Case Domains" in the documentation.



26 January, 2025

23ai New Feature : Partition HIGH_VALUE in JSON format

 A quick demonstration of the new HIGH_VALUE_JSON column in the USER_TAB_PARTITIONS view in 23ai :


[oracle@localhost Hemant]$ sqlplus hemant/hemant@freepdb1

SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Sun Jan 26 10:07:09 2025
Version 23.6.0.24.10

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

Last Successful login time: Sun Jan 26 2025 10:05:18 +00:00

Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.6.0.24.10

SQL> @demo_part_high_value.sql
SQL> set pages600 linesize 132
SQL> set long 10000
SQL>
SQL> spool demo_part_high_value
SQL>
SQL> -- 23ai has two new columns in the USER_TAB_PARTTIIONS view
SQL> -- HIGH_VALUE_CLOB and     HIGH_VALUE_JSON
SQL> --- unlike HIGH_VALUE which is a LONG, these two can be used programmatically
SQL> -- here I show HIGH_VALUE_JSON along with the HIGH_VALUE
SQL>
SQL> set pages600 linesize 132
SQL> set long 10000
SQL> col partition_name format a8 hea 'P_Name'
SQL> col high_value format a56 trunc hea 'High_Value_LONG' trunc
SQL> col high_value_json format a48 hea 'High_Value_JSON'
SQL>
SQL>
SQL> drop table hkc_test_intvl;

Table dropped.

SQL>
SQL> create table hkc_test_intvl
  2  (date_column date,
  3  data_column varchar2(50))
  4  partition by range (date_column)
  5  interval (numtoyminterval(1,'MONTH'))
  6  (partition P_1 values less than (to_date('01-FEB-2024','DD-MON-YYYY')))
  7  /

Table created.

SQL>
SQL>
SQL> insert into hkc_Test_intvl
  2  values (to_date('15-AUG-2024','DD-MON-YYYY'), 'August Row')
  3  /

1 row created.

SQL>
SQL>
SQL> insert into hkc_test_intvl
  2  values (to_date('15-OCT-2024','DD-MON-YYYY'),'October Row')
  3  /

1 row created.

SQL>
SQL> insert into hkc_test_intvl
  2  values (to_date('15-DEC-2024','DD-MON-YYYY'),'December Row')
  3  /

1 row created.

SQL>
SQL> select partition_name, high_value,  high_value_json
  2  from user_tab_partitions
  3  where table_name = 'HKC_TEST_INTVL'
  4  /

P_Name   High_Value_LONG                                          High_Value_JSON
-------- -------------------------------------------------------- ------------------------------------------------
P_1      TO_DATE(' 2024-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS' {"high_value":"2024-02-01T00:00:00"}
SYS_P447 TO_DATE(' 2024-09-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS' {"high_value":"2024-09-01T00:00:00"}
SYS_P448 TO_DATE(' 2024-11-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS' {"high_value":"2024-11-01T00:00:00"}
SYS_P449 TO_DATE(' 2025-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS' {"high_value":"2025-01-01T00:00:00"}

SQL>
SQL>
SQL> spool off


Earlier, HIGH_VALUE was presented as a LONG.
23ai adds two columns to the USER_TAB_PARTITIONS data dictionary view :
HIGH_VALUE_CLOB
and 
HIGH_VALUE_JSON

These make it easier to query the data dictionary, for example, for Partition Life Cycle management.

07 January, 2025

Querying the Alert log in RAC

 Although v$diag_alert_ext works for a single instance, there is no corresponding gv$ view for RAC.

However, the gv$ function can be used to execute a cursor across all instances.  Here I query for the alert log in the two nodes srv1 and srv2 and order the results by timestamp to capture messages in the last 15 minutes :  Note all the activity that happens when I CLOSE and later OPEN a PDB in one node, resulting in the other node also responding to maintain Global Resources.


SQL> l
  1  select * from table(gv$(cursor
  2                         (select originating_timestamp, host_id, con_id, message_text
  3                          from v$diag_alert_ext
  4                          where originating_timestamp > sysdate - 0.25/24 -- time filter
  5                          and message_text like '%' -- message filter
  6                          )
  7                       )
  8             )
  9* order by 1,2,3
SQL> /

ORIGINATING_TIMESTAMP
---------------------------------------------------------------------------
HOST_ID                                                                 CON_ID
------------------------------------------------------------------- ----------
MESSAGE_TEXT
------------------------------------------------------------------------------------------------------------------------------------
07-JAN-25 02.23.37.941000000 PM +00:00
srv2                                                                         1
Thread 2 cannot allocate new log, sequence 278

07-JAN-25 02.23.37.941000000 PM +00:00
srv2                                                                         1
Checkpoint not complete

07-JAN-25 02.23.37.941000000 PM +00:00
srv2                                                                         1
  Current log# 3 seq# 277 mem# 0: +DATA/RACDB/ONLINELOG/group_3.270.1164520171

07-JAN-25 02.23.37.941000000 PM +00:00
srv2                                                                         1
  Current log# 3 seq# 277 mem# 1: +FRA/RACDB/ONLINELOG/group_3.259.1164520171

07-JAN-25 02.23.38.255000000 PM +00:00
srv1                                                                         1
Thread 1 cannot allocate new log, sequence 322

07-JAN-25 02.23.38.255000000 PM +00:00
srv1                                                                         1
  Current log# 1 seq# 321 mem# 1: +FRA/RACDB/ONLINELOG/group_1.257.1164519549

07-JAN-25 02.23.38.255000000 PM +00:00
srv1                                                                         1
  Current log# 1 seq# 321 mem# 0: +DATA/RACDB/ONLINELOG/group_1.263.1164519549

07-JAN-25 02.23.38.255000000 PM +00:00
srv1                                                                         1
Checkpoint not complete

07-JAN-25 02.23.40.951000000 PM +00:00
srv2                                                                         1
Thread 2 advanced to log sequence 278 (LGWR switch),  current SCN: 10841502

07-JAN-25 02.23.40.951000000 PM +00:00
srv2                                                                         1
  Current log# 4 seq# 278 mem# 0: +DATA/RACDB/ONLINELOG/group_4.271.1164520171

07-JAN-25 02.23.40.951000000 PM +00:00
srv2                                                                         1
  Current log# 4 seq# 278 mem# 1: +FRA/RACDB/ONLINELOG/group_4.260.1164520173

07-JAN-25 02.23.40.976000000 PM +00:00
srv2                                                                         1
Deleted Oracle managed file +FRA/RACDB/ARCHIVELOG/2024_11_02/thread_1_seq_240.500.1183975081

07-JAN-25 02.23.40.977000000 PM +00:00
srv2                                                                         1
ARC2 (PID:17940): Archived Log entry 1023 added for B-1164519547.T-2.S-277 LOS:0x0000000000a568cc NXS:0x0000000000a56d9e NAB:372 ID
0x46c5be03 LAD:1

07-JAN-25 02.23.41.048000000 PM +00:00
srv1                                                                         1
Thread 1 advanced to log sequence 322 (LGWR switch),  current SCN: 10841505

07-JAN-25 02.23.41.048000000 PM +00:00
srv1                                                                         1
  Current log# 2 seq# 322 mem# 1: +FRA/RACDB/ONLINELOG/group_2.258.1164519549

07-JAN-25 02.23.41.048000000 PM +00:00
srv1                                                                         1
  Current log# 2 seq# 322 mem# 0: +DATA/RACDB/ONLINELOG/group_2.262.1164519549

07-JAN-25 02.23.41.117000000 PM +00:00
srv2                                                                         1
Deleted Oracle managed file +FRA/RACDB/ARCHIVELOG/2024_11_02/thread_2_seq_221.499.1183975181

07-JAN-25 02.23.41.138000000 PM +00:00
srv1                                                                         1
Deleted Oracle managed file +FRA/RACDB/ARCHIVELOG/2024_11_02/thread_2_seq_222.498.1183975205

07-JAN-25 02.23.41.139000000 PM +00:00
srv1                                                                         1
NET  (PID:15641): Archived Log entry 1025 added for B-1164519547.T-1.S-321 LOS:0x0000000000a568c9 NXS:0x0000000000a56da1 NAB:369 ID
0x46c5be03 LAD:1

07-JAN-25 02.23.41.209000000 PM +00:00
srv1                                                                         1
Deleted Oracle managed file +FRA/RACDB/ARCHIVELOG/2024_11_02/thread_1_seq_241.497.1183975551

07-JAN-25 02.27.41.986000000 PM +00:00
srv1                                                                         1
alter pluggable database pdb1 close

07-JAN-25 02.27.41.997000000 PM +00:00
srv1                                                                         3
Pluggable database PDB1 closing

07-JAN-25 02.27.42.004000000 PM +00:00
srv1                                                                         3
Increasing priority of 2 RS

07-JAN-25 02.27.42.011000000 PM +00:00
srv1                                                                         3
JIT: pid 19878 requesting stop

07-JAN-25 02.27.42.044000000 PM +00:00
srv1                                                                         3
Stopped service mypdb

07-JAN-25 02.27.42.208000000 PM +00:00
srv1                                                                         3
Closing sequence subsystem (3300983922).

07-JAN-25 02.27.42.332000000 PM +00:00
srv1                                                                         3
Buffer Cache flush started: 3

07-JAN-25 02.27.42.345000000 PM +00:00
srv1                                                                         3
Buffer Cache flush finished: 3

07-JAN-25 02.27.42.347000000 PM +00:00
srv2                                                                         1
Increasing priority of 2 RS

07-JAN-25 02.27.42.350000000 PM +00:00
srv1                                                                         3
queued detach DA request 0x934eafc8 for pdb 3, ospid 19878

07-JAN-25 02.27.42.351000000 PM +00:00
srv1                                                                         1
Domain Action Reconfiguration started (domid 3, new da inc 3, cluster inc 8)

07-JAN-25 02.27.42.351000000 PM +00:00
srv1                                                                         1
Instance 1 is detaching from domain 3 (lazy abort? 0, recovery member? 0)

07-JAN-25 02.27.42.352000000 PM +00:00
srv1                                                                         1
 Global Resource Directory partially frozen for domain action

07-JAN-25 02.27.42.352000000 PM +00:00
srv1                                                                         1
* domain detach - domain 3 valid ? 1

07-JAN-25 02.27.42.430000000 PM +00:00
srv2                                                                         1
Domain Action Reconfiguration started (domid 3, new da inc 3, cluster inc 8)

07-JAN-25 02.27.42.430000000 PM +00:00
srv2                                                                         1
Instance 1 is detaching from domain 3 (lazy abort? 0, recovery member? 0)

07-JAN-25 02.27.42.430000000 PM +00:00
srv2                                                                         1
 Global Resource Directory partially frozen for domain action

07-JAN-25 02.27.42.430000000 PM +00:00
srv2                                                                         1
* domain detach - domain 3 valid ? 1

07-JAN-25 02.27.42.432000000 PM +00:00
srv2                                                                         1
 Non-local Process blocks cleaned out

07-JAN-25 02.27.42.434000000 PM +00:00
srv2                                                                         1
 Set master node info

07-JAN-25 02.27.42.435000000 PM +00:00
srv2                                                                         1
 Dwn-cvts replayed, VALBLKs dubious

07-JAN-25 02.27.42.435000000 PM +00:00
srv2                                                                         1
 All grantable enqueues granted

07-JAN-25 02.27.42.437000000 PM +00:00
srv1                                                                         1
 Non-local Process blocks cleaned out

07-JAN-25 02.27.42.438000000 PM +00:00
srv1                                                                         1
 Set master node info

07-JAN-25 02.27.42.439000000 PM +00:00
srv1                                                                         1
 Dwn-cvts replayed, VALBLKs dubious

07-JAN-25 02.27.42.440000000 PM +00:00
srv1                                                                         1
 All grantable enqueues granted

07-JAN-25 02.27.42.440000000 PM +00:00
srv2                                                                         1
Domain Action Reconfiguration complete (total time 0.0 secs)

07-JAN-25 02.27.42.440000000 PM +00:00
srv2                                                                         1
Decreasing priority of 2 RS

07-JAN-25 02.27.42.444000000 PM +00:00
srv1                                                                         1
freeing the fusion rht of pdb 3

07-JAN-25 02.27.42.445000000 PM +00:00
srv1                                                                         1
freeing the pdb enqueue rht

07-JAN-25 02.27.42.445000000 PM +00:00
srv1                                                                         1
Decreasing priority of 2 RS

07-JAN-25 02.27.42.445000000 PM +00:00
srv1                                                                         1
Domain Action Reconfiguration complete (total time 0.1 secs)

07-JAN-25 02.27.42.542000000 PM +00:00
srv1                                                                         1
Pluggable database PDB1 closed

07-JAN-25 02.27.42.571000000 PM +00:00
srv1                                                                         1
Completed: alter pluggable database pdb1 close

07-JAN-25 02.28.10.713000000 PM +00:00
srv1                                                                         1
alter pluggable database pdb1 open

07-JAN-25 02.28.10.715000000 PM +00:00
srv1                                                                         3
Pluggable database PDB1 opening in read write

07-JAN-25 02.28.10.892000000 PM +00:00
srv1                                                                         3
Increasing priority of 2 RS

07-JAN-25 02.28.10.892000000 PM +00:00
srv1                                                                         3
Autotune of undo retention is turned on.

07-JAN-25 02.28.10.892000000 PM +00:00
srv1                                                                         3
SUPLOG: Initialize PDB SUPLOG SGA, old value 0x0, new value 0x18

07-JAN-25 02.28.10.929000000 PM +00:00
srv1                                                                         3
queued attach DA request 0x934eaf60 for pdb 3, ospid 19878

07-JAN-25 02.28.10.929000000 PM +00:00
srv2                                                                         1
Increasing priority of 2 RS

07-JAN-25 02.28.10.933000000 PM +00:00
srv1                                                                         1
Domain Action Reconfiguration started (domid 3, new da inc 4, cluster inc 8)

07-JAN-25 02.28.10.933000000 PM +00:00
srv1                                                                         1
 Global Resource Directory partially frozen for domain action

07-JAN-25 02.28.10.933000000 PM +00:00
srv1                                                                         1
Instance 1 is attaching to domain 3

07-JAN-25 02.28.10.940000000 PM +00:00
srv2                                                                         1
Domain Action Reconfiguration started (domid 3, new da inc 4, cluster inc 8)

07-JAN-25 02.28.10.940000000 PM +00:00
srv2                                                                         1
Instance 1 is attaching to domain 3

07-JAN-25 02.28.10.941000000 PM +00:00
srv2                                                                         1
 Global Resource Directory partially frozen for domain action

07-JAN-25 02.28.10.943000000 PM +00:00
srv2                                                                         1
 Non-local Process blocks cleaned out

07-JAN-25 02.28.10.946000000 PM +00:00
srv2                                                                         1
 Set master node info

07-JAN-25 02.28.10.947000000 PM +00:00
srv1                                                                         1
 Non-local Process blocks cleaned out

07-JAN-25 02.28.10.947000000 PM +00:00
srv2                                                                         1
 Dwn-cvts replayed, VALBLKs dubious

07-JAN-25 02.28.10.948000000 PM +00:00
srv1                                                                         1
 Set master node info

07-JAN-25 02.28.10.949000000 PM +00:00
srv2                                                                         1
 All grantable enqueues granted

07-JAN-25 02.28.10.952000000 PM +00:00
srv1                                                                         1
 Dwn-cvts replayed, VALBLKs dubious

07-JAN-25 02.28.10.953000000 PM +00:00
srv1                                                                         1
 All grantable enqueues granted

07-JAN-25 02.28.11.034000000 PM +00:00
srv2                                                                         1
Domain Action Reconfiguration complete (total time 0.1 secs)

07-JAN-25 02.28.11.034000000 PM +00:00
srv2                                                                         1
Decreasing priority of 2 RS

07-JAN-25 02.28.11.038000000 PM +00:00
srv1                                                                         1
Domain Action Reconfiguration complete (total time 0.1 secs)

07-JAN-25 02.28.11.038000000 PM +00:00
srv1                                                                         1
Decreasing priority of 2 RS

07-JAN-25 02.28.11.135000000 PM +00:00
srv1                                                                         3
Endian type of dictionary set to little

07-JAN-25 02.28.11.213000000 PM +00:00
srv1                                                                         3
Undo initialization recovery: err:0 start: 3329988 end: 3329989 diff: 1 ms (0.0 seconds)

07-JAN-25 02.28.11.352000000 PM +00:00
srv1                                                                         3
[19878] Successfully onlined Undo Tablespace 2.

07-JAN-25 02.28.11.352000000 PM +00:00
srv1                                                                         3
Undo initialization online undo segments: err:0 start: 3329989 end: 3330129 diff: 140 ms (0.1 seconds)

07-JAN-25 02.28.11.357000000 PM +00:00
srv1                                                                         3
Undo initialization finished serial:0 start:3329988 end:3330134 diff:146 ms (0.1 seconds)

07-JAN-25 02.28.11.361000000 PM +00:00
srv1                                                                         3
Database Characterset for PDB1 is AL32UTF8

07-JAN-25 02.28.11.627000000 PM +00:00
srv1                                                                         3
SUPLOG: Set PDB SUPLOG SGA at PDB OPEN, old 0x18, new 0x0 (no suplog)

07-JAN-25 02.28.11.891000000 PM +00:00
srv1                                                                         3
Started service mypdb/mypdb/mypdb

07-JAN-25 02.28.11.925000000 PM +00:00
srv1                                                                         3
Opening pdb with no Resource Manager plan active

07-JAN-25 02.28.12.097000000 PM +00:00
srv1                                                                         3
joxcsys_required_dirobj_exists: directory object exists with required path /u02/app/oracle/product/19.0.0/dbhome_1/javavm/admin/, pi
d 19878 cid 3

07-JAN-25 02.28.12.118000000 PM +00:00
srv1                                                                         1
Pluggable database PDB1 opened read write

07-JAN-25 02.28.12.122000000 PM +00:00
srv1                                                                         1
Completed: alter pluggable database pdb1 open

07-JAN-25 02.33.26.501000000 PM +00:00
srv1                                                                         1
Control autobackup written to DISK device

07-JAN-25 02.33.26.502000000 PM +00:00
srv1                                                                         1
handle '+FRA/RACDB/AUTOBACKUP/2025_01_07/s_1189780406.497.1189780407'


93 rows selected.

SQL>
At 07-JAN-25 02.27.41.986000000 PM +00:00 :  I issued a command to close PDB1 (CON_ID=3) on host srv1
You can also see the "Stopped service mypdb" message on srv1 at 07-JAN-25 02.27.42

Host srv2 started writing it's messages at 07-JAN-25 02.27.42.347000000 PM +00:00 from which you can see Domain Action Reconfiguration (07-JAN-25 02.27.42.351000000 PM +00:00), Global Resource Directory partially frozen (07-JAN-25 02.27.42.430000000 PM +00:00)/

Finally, srv1 logged "Completed: alter pluggable database pdb1 close"  at 07-JAN-25 02.27.42.571000000 PM +00:00 (under CON_ID=1).

When I issued the "alter pluggable database pdb1 open" on srv1 at 07-JAN-25 02.28.10.713000000 PM +00:00, Domain Actions and Global Resource Directory actions were executed again on srv2

Finally, srv1 logged "Completed: alter pluggable database pdb1 open" at 07-JAN-25 02.28.12.122000000 PM +00:00

So, it is obvious that closing and opening a PDB in RAC also results in a number of steps to maintain consistency (Resources etc) across the instances.


01 January, 2025

3million PageViews, 303thousand VideoViews

  This blog, begun in December 2006, has now hit a cumulative count of 3million PageViews.


This Chart shows counts from the year 2011 :



My YouTube Channel, begun in January 2014, has hit a cumulative count of 303thousand views :



A Big Thank You to all the Viewers an Subscribers.