Share this
Recreate Redo / Standby Logs in a DG Broker Environment
by Suresh Karthikeyan on Jan 21, 2021 12:00:00 AM
While increasing the redo log file size for my production environment, I came across a requirement I’d like to share with you. The process should be quite straightforward as we can add / drop redo log files online. However, since the production environment was running with Data Guard (DG) broker, I had some doubts about whether I could complete the process without breaking anything. I shouldn’t have worried. Here are my test environment details, which replicate the production environment.
Test environment configuration
- Single node database (non-RAC) running in rdbms 12.1 version.
- Configured with DG Broker without fast-start failover feature.
- Database files not using OFA architecture. If you’re using OFA in your database, you can avoid mentioning the actual logfile names.
Before I began any activity, I ensured the standby database was in sync with the primary database.
Using sqlplus utility:
SQL> SELECT PROCESS, STATUS,SEQUENCE#,BLOCK#,BLOCKS, DELAY_MINS,client_process FROM V$MANAGED_STANDBY;
PROCESS STATUS SEQUENCE# BLOCK# BLOCKS DELAY_MINS CLIENT_P
--------- ------------ ---------- ---------- ---------- ---------- --------
ARCH CLOSING 197689 1003520 226 0 ARCH
ARCH CLOSING 197688 1003520 231 0 ARCH
ARCH CONNECTED 0 0 0 0 ARCH
ARCH CLOSING 197687 1013760 1885 0 ARCH
MRP0 APPLYING_LOG 197690 613789 1024000 0 N/A
RFS IDLE 197690 613789 1 0 LGWR
RFS IDLE 0 0 0 0 UNKNOWN
7 rows selected.
Using dgmgrl utility:
DGMGRL for Linux: Version 12.1.0.2.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDG.
DGMGRL> show configuration;
Configuration - dg_test
Protection Mode: MaxPerformance
Members:
test - Primary database
test_dr - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS (status updated 17 seconds ago)
DGMGRL> show database 'test';
Database - test
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
test
Database Status:
SUCCESS
DGMGRL> show database 'test_dr';
Database - test_dr
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds (computed 0 seconds ago)
Apply Lag: 0 seconds (computed 0 seconds ago)
Average Apply Rate: 1.88 MByte/s
Real Time Query: OFF
Instance(s):
test
Database Status:
SUCCESS
As a first step toward meeting this requirement, I disabled the apply process using in dgmgrl utility.
DGMGRL> EDIT DATABASE 'test_dr' SET STATE='APPLY-OFF';
Succeeded.
DGMGRL> show database 'test_dr';
Database - test_dr
Role: PHYSICAL STANDBY
Intended State: APPLY-OFF
Transport Lag: 0 seconds (computed 0 seconds ago)
Apply Lag: 7 seconds (computed 0 seconds ago)
Average Apply Rate: (unknown)
Real Time Query: OFF
Instance(s):
test
Database Status:
SUCCESS
In the primary database, I changed the value of parameter standby_file_management to manual, which disables automatic standby file management. I suggest you keep automatic standby file management disabled even if you’re using OFA architecture. I then added new redo and standby logs of the same size. Finally, I dropped the old logs manually.
SQL> select name,open_mode,log_mode from v$database;
NAME OPEN_MODE LOG_MODE
--------- -------------------- ------------
test READ WRITE ARCHIVELOG
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> alter system checkpoint;
System altered.
SQL> SELECT PROCESS, STATUS,SEQUENCE#,BLOCK#,BLOCKS, DELAY_MINS,client_process FROM V$MANAGED_STANDBY;
PROCESS STATUS SEQUENCE# BLOCK# BLOCKS DELAY_MINS CLIENT_P
--------- ------------ ---------- ---------- ---------- ---------- --------
ARCH CLOSING 197691 1 23 0 ARCH
ARCH CLOSING 197689 1003520 226 0 ARCH
ARCH CLOSING 197292 778241 108 0 ARCH
ARCH CLOSING 197690 772096 1074 0 ARCH
LNS WRITING 197692 1016 1 0 LNS
SQL> select thread#,max(sequence#) from gv$log where status='INACTIVE' group by thread#;
THREAD# MAX(SEQUENCE#)
---------- --------------
1 197691
SQL> alter system set standby_file_management=manual;
System altered.
SQL> ALTER DATABASE ADD LOGFILE GROUP 4 ( '/p01/oradata/test/onlinelog/loggroup4_1.log', '/u01/fra/test/onlinelog/loggroup4_2.log') SIZE 1024M;
Database altered.
SQL> ALTER DATABASE ADD LOGFILE GROUP 5 ( '/p01/oradata/test/onlinelog/loggroup5_1.log', '/u01/fra/test/onlinelog/loggroup5_2.log') SIZE 1024M;
Database altered.
SQL> ALTER DATABASE ADD LOGFILE GROUP 6 ( '/p01/oradata/test/onlinelog/loggroup6_1.log', '/u01/fra/test/onlinelog/loggroup6_2.log') SIZE 1024M;
Database altered.
SQL> alter database add standby logfile group 15( '/p01/oradata/test/onlinelog/stbyloggrp15_1.log', '/u01/fra/test/onlinelog/stbyloggrp15_2.log') SIZE 1024M;
Database altered.
SQL> alter database add standby logfile group 16( '/p01/oradata/test/onlinelog/stbyloggrp16_1.log', '/u01/fra/test/onlinelog/stbyloggrp16_2.log') SIZE 1024M;
Database altered.
SQL> alter database add standby logfile group 17( '/p01/oradata/test/onlinelog/stbyloggrp17_1.log', '/u01/fra/test/onlinelog/stbyloggrp17_2.log') SIZE 1024M;
Database altered.
SQL> alter database add standby logfile group 18( '/p01/oradata/test/onlinelog/stbyloggrp18_1.log', '/u01/fra/test/onlinelog/stbyloggrp18_2.log') SIZE 1024M;
Database altered.
SQL> alter system switch logfile;
System altered.
SQL> alter system checkpoint;
System altered.
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ------------------- ------------ ------------------- ----------
1 1 197691 524288000 512 2 YES INACTIVE 6.0121E+12 2019-10-10 03:44:03 6.0121E+12 2019-10-10 03:44:05 0
2 1 197690 524288000 512 2 YES INACTIVE 6.0121E+12 2019-10-10 03:40:17 6.0121E+12 2019-10-10 03:44:03 0
3 1 197692 524288000 512 2 YES INACTIVE 6.0121E+12 2019-10-10 03:44:05 6.0121E+12 2019-10-10 03:45:29 0
4 1 197693 1073741824 512 2 YES INACTIVE 6.0121E+12 2019-10-10 03:45:29 6.0121E+12 2019-10-10 03:49:31 0
5 1 197694 1073741824 512 2 NO CURRENT 6.0121E+12 2019-10-10 03:49:31 2.8147E+14 0
6 1 0 1073741824 512 2 YES UNUSED 0 0 0
6 rows selected.
SQL> alter database drop logfile group 1;
Database altered.
SQL> alter database drop logfile group 2;
Database altered.
SQL> alter database drop logfile group 3;
Database altered.
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ------------------- ------------ ------------------- ----------
4 1 197693 1073741824 512 2 YES INACTIVE 6.0121E+12 2019-10-10 03:45:29 6.0121E+12 2019-10-10 03:49:31 0
5 1 197694 1073741824 512 2 NO CURRENT 6.0121E+12 2019-10-10 03:49:31 2.8147E+14 0
6 1 0 1073741824 512 2 YES UNUSED 0 0 0
SQL> select * from v$standby_log;
GROUP# DBID THREAD# SEQUENCE# BYTES BLOCKSIZE USED ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------------------------------------- ---------- ---------- ---------- ---------- ---------- --- ---------- ------------- ------------------- ------------ -------------------
LAST_CHANGE# LAST_TIME CON_ID
------------ ------------------- ----------
11 UNASSIGNED 1 0 524288000 512 0 YES UNASSIGNED
0
12 UNASSIGNED 1 0 524288000 512 0 YES UNASSIGNED
0
13 UNASSIGNED 1 0 524288000 512 0 YES UNASSIGNED
0
14 UNASSIGNED 1 0 524288000 512 0 YES UNASSIGNED
0
15 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
16 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
17 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
18 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
8 rows selected.
SQL> alter database drop logfile group 11;
Database altered.
SQL> alter database drop logfile group 12;
Database altered.
SQL> alter database drop logfile group 13;
Database altered.
SQL> alter database drop logfile group 14;
Database altered.
SQL> select * from v$standby_log;
GROUP# DBID THREAD# SEQUENCE# BYTES BLOCKSIZE USED ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------------------------------------- ---------- ---------- ---------- ---------- ---------- --- ---------- ------------- ------------------- ------------ -------------------
LAST_CHANGE# LAST_TIME CON_ID
------------ ------------------- ----------
15 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
16 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
17 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
18 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
I carried out similar steps in the standby database.
SQL> alter system set standby_file_management=manual;
System altered.
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ------------------- ------------ ------------------- ----------
1 1 0 524288000 512 2 YES UNUSED 0 0 0
3 1 0 524288000 512 2 YES UNUSED 0 0 0
2 1 0 524288000 512 2 YES UNUSED 0 0 0
SQL> select * from v$standby_log;
GROUP# DBID THREAD# SEQUENCE# BYTES BLOCKSIZE USED ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------------------------------------- ---------- ---------- ---------- ---------- ---------- --- ---------- ------------- ------------------- ------------ -------------------
LAST_CHANGE# LAST_TIME CON_ID
------------ ------------------- ----------
11 UNASSIGNED 1 0 524288000 512 0 NO UNASSIGNED
0
12 UNASSIGNED 1 0 524288000 512 0 NO UNASSIGNED
0
13 UNASSIGNED 1 0 524288000 512 0 NO UNASSIGNED
0
14 UNASSIGNED 1 0 524288000 512 0 NO UNASSIGNED
0
SQL> ALTER DATABASE ADD LOGFILE GROUP 4 ( '/p01/oradata/test_dr/onlinelog/loggroup4_1.log', '/p01/fra/test_dr/onlinelog/loggroup4_2.log') SIZE 1024M;
Database altered.
SQL> ALTER DATABASE ADD LOGFILE GROUP 5 ( '/p01/oradata/test_dr/onlinelog/loggroup5_1.log', '/p01/fra/test_dr/onlinelog/loggroup5_2.log') SIZE 1024M;
Database altered.
SQL> ALTER DATABASE ADD LOGFILE GROUP 6 ( '/p01/oradata/test_dr/onlinelog/loggroup6_1.log', '/p01/fra/test_dr/onlinelog/loggroup6_2.log') SIZE 1024M;
Database altered.
SQL> alter database add standby logfile group 15( '/p01/oradata/test_dr/onlinelog/stbyloggrp15_1.log', '/p01/fra/test_dr/onlinelog/stbyloggrp15_2.log') SIZE 1024M;
Database altered.
SQL> alter database add standby logfile group 16( '/p01/oradata/test_dr/onlinelog/stbyloggrp16_1.log', '/p01/fra/test_dr/onlinelog/stbyloggrp16_2.log') SIZE 1024M;
Database altered.
SQL> alter database add standby logfile group 17( '/p01/oradata/test_dr/onlinelog/stbyloggrp17_1.log', '/p01/fra/test_dr/onlinelog/stbyloggrp17_2.log') SIZE 1024M;
Database altered.
SQL> alter database add standby logfile group 18( '/p01/oradata/test_dr/onlinelog/stbyloggrp18_1.log', '/p01/fra/test_dr/onlinelog/stbyloggrp18_2.log') SIZE 1024M;
Database altered.
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ------------------- ------------ ------------------- ----------
1 1 0 524288000 512 2 YES UNUSED 0 0 0
2 1 0 524288000 512 2 YES UNUSED 0 0 0
6 1 0 1073741824 512 2 YES UNUSED 0 0 0
4 1 0 1073741824 512 2 YES UNUSED 0 0 0
5 1 0 1073741824 512 2 YES UNUSED 0 0 0
3 1 0 524288000 512 2 YES UNUSED 0 0 0
6 rows selected.
SQL> select * from v$standby_log;
GROUP# DBID THREAD# SEQUENCE# BYTES BLOCKSIZE USED ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------------------------------------- ---------- ---------- ---------- ---------- ---------- --- ---------- ------------- ------------------- ------------ -------------------
LAST_CHANGE# LAST_TIME CON_ID
------------ ------------------- ----------
11 UNASSIGNED 1 0 524288000 512 0 NO UNASSIGNED
0
12 UNASSIGNED 1 0 524288000 512 0 NO UNASSIGNED
0
13 UNASSIGNED 1 0 524288000 512 0 NO UNASSIGNED
0
14 UNASSIGNED 1 0 524288000 512 0 NO UNASSIGNED
0
15 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
16 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
17 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
18 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
8 rows selected.
SQL> alter database drop logfile group 1;
Database altered.
SQL> alter database drop logfile group 2;
Database altered.
SQL> alter database drop logfile group 3;
Database altered.
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ------------------- ------------ ------------------- ----------
4 1 0 1073741824 512 2 YES UNUSED 0 0 0
6 1 0 1073741824 512 2 YES UNUSED 0 0 0
5 1 0 1073741824 512 2 YES UNUSED 0 0 0
SQL> alter database drop logfile group 11;
Database altered.
SQL> alter database drop logfile group 12;
Database altered.
SQL> alter database drop logfile group 13;
Database altered.
SQL> alter database drop logfile group 14;
Database altered.
SQL> select * from v$standby_log;
GROUP# DBID THREAD# SEQUENCE# BYTES BLOCKSIZE USED ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------------------------------------- ---------- ---------- ---------- ---------- ---------- --- ---------- ------------- ------------------- ------------ -------------------
LAST_CHANGE# LAST_TIME CON_ID
------------ ------------------- ----------
15 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
16 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
17 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
18 UNASSIGNED 0 0 1073741824 512 0 YES UNASSIGNED
0
I enabled the apply process for the standby database using dgmgrl utility.
DGMGRL for Linux: Version 12.1.0.2.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDG.
DGMGRL> show configuration;
Configuration - dg_test
Protection Mode: MaxPerformance
Members:
test - Primary database
Warning: ORA-16792: configurable property value is inconsistent with database setting
test_dr - Physical standby database
Warning: ORA-16792: configurable property value is inconsistent with database setting
Fast-Start Failover: DISABLED
Configuration Status:
WARNING (status updated 34 seconds ago)
DGMGRL> EDIT DATABASE 'test_dr' SET STATE='APPLY-ON';
Succeeded.
DGMGRL> show database 'test';
Database - test
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
test
Warning: ORA-16714: the value of property StandbyFileManagement is inconsistent with the database setting
Database Status:
WARNING
DGMGRL> show database 'test_dr';
Database - test_dr
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds (computed 1 second ago)
Apply Lag: 0 seconds (computed 1 second ago)
Average Apply Rate: 84.60 MByte/s
Real Time Query: OFF
Instance(s):
test
Warning: ORA-16714: the value of property StandbyFileManagement is inconsistent with the database setting
Database Status:
WARNING
For verification purposes, I manually switched a few archive logs in the primary database then reverted the previously changed standby_file_management parameter to overcome the reported ORA-16792 error.
In the primary database:
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 197693
Next log sequence to archive 197695
Current log sequence 197695
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> alter system checkpoint;
System altered.
SQL> select thread#,max(sequence#) from gv$log where status='INACTIVE' group by thread#;
THREAD# MAX(SEQUENCE#)
---------- --------------
1 197696
In the standby database:
SQL> SELECT PROCESS, STATUS,SEQUENCE#,BLOCK#,BLOCKS, DELAY_MINS,client_process FROM V$MANAGED_STANDBY;
PROCESS STATUS SEQUENCE# BLOCK# BLOCKS DELAY_MINS CLIENT_P
--------- ------------ ---------- ---------- ---------- ---------- --------
ARCH CLOSING 197690 772096 1074 0 ARCH
ARCH CLOSING 197696 1 711 0 ARCH
ARCH CONNECTED 0 0 0 0 ARCH
ARCH CLOSING 197695 1 1583 0 ARCH
MRP0 APPLYING_LOG 197697 146835 2097152 0 N/A
RFS IDLE 197697 146835 1 0 LGWR
RFS IDLE 0 0 0 0 UNKNOWN
7 rows selected.
In the primary database:
SQL> alter system set standby_file_management=auto;
System altered.
In the standby database:
SQL> alter system set standby_file_management=auto;
System altered.
I waited for a few minutes then confirmed the standby database was in sync with the primary database.
In the primary database:
SQL> select thread#,max(sequence#) from gv$log where status='INACTIVE' group by thread#;
THREAD# MAX(SEQUENCE#)
---------- --------------
1 197697
In the standby database:
SQL> SELECT PROCESS, STATUS,SEQUENCE#,BLOCK#,BLOCKS, DELAY_MINS,client_process FROM V$MANAGED_STANDBY;
PROCESS STATUS SEQUENCE# BLOCK# BLOCKS DELAY_MINS CLIENT_P
--------- ------------ ---------- ---------- ---------- ---------- --------
ARCH CLOSING 197697 1144832 681 0 ARCH
ARCH CLOSING 197696 1 711 0 ARCH
ARCH CONNECTED 0 0 0 0 ARCH
ARCH CLOSING 197695 1 1583 0 ARCH
MRP0 APPLYING_LOG 197698 1097869 2097152 0 N/A
RFS IDLE 197698 1097860 10 0 LGWR
RFS IDLE 0 0 0 0 UNKNOWN
7 rows selected.
From DG broker utility:
==========================
DGMGRL for Linux: Version 12.1.0.2.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDG.
DGMGRL> show configuration;
Configuration - dg_test
Protection Mode: MaxPerformance
Members:
test - Primary database
test_dr - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS (status updated 49 seconds ago)
DGMGRL> show database 'test';
Database - test
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
test
Database Status:
SUCCESS
DGMGRL> show database 'test_dr';
Database - test_dr
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds (computed 0 seconds ago)
Apply Lag: 0 seconds (computed 0 seconds ago)
Average Apply Rate: 4.85 MByte/s
Real Time Query: OFF
Instance(s):
test
Database Status:
SUCCESS
DGMGRL> exit
Finally, I manually checked the availability of dropped log files in the servers and confirmed none existed.
I hope this is helpful. If you have any questions, please leave them in the comments.
Ready to optimize your Oracle Database for the future?
Share this
- Technical Track (816)
- Oracle (488)
- Database (229)
- MySQL (144)
- Cloud (133)
- Microsoft SQL Server (124)
- Open Source (84)
- Google Cloud (82)
- Microsoft Azure (67)
- Amazon Web Services (AWS) (63)
- Big Data (50)
- Cassandra (44)
- Google Cloud Platform (44)
- DevOps (38)
- Linux (28)
- Pythian (27)
- PostgreSQL (26)
- Podcasts (25)
- Site Reliability Engineering (23)
- Performance (22)
- Docker (21)
- Oracle E-Business Suite (21)
- DBA (18)
- Oracle Cloud Infrastructure (OCI) (18)
- MongoDB (17)
- Security (17)
- Hadoop (16)
- BigQuery (15)
- Amazon RDS (14)
- Automation (14)
- Exadata (14)
- Oracleebs (14)
- Snowflake (14)
- Ansible (13)
- Oracle Database (13)
- Oracle Exadata (13)
- ASM (12)
- Data (12)
- LLM (12)
- Artificial Intelligence (AI) (11)
- GenAI (11)
- Kubernetes (11)
- Machine Learning (11)
- Advanced Analytics (10)
- Datascape Podcast (10)
- Oracle Applications (10)
- Replication (10)
- Authentication, SSO and MFA (8)
- ChatGPT (8)
- Cloud Migration (8)
- Infrastructure (8)
- Monitoring (8)
- Percona (8)
- Analytics (7)
- Apache (7)
- Apache Cassandra (7)
- Data Governance (7)
- High Availability (7)
- Mariadb (7)
- Microsoft Azure SQL Database (7)
- Myrocks (7)
- Oracle EBS (7)
- Python (7)
- Rman (7)
- SAP (7)
- Series (7)
- AWR (6)
- Airflow (6)
- Apache Beam (6)
- Data Guard (6)
- Innodb (6)
- Migration (6)
- Oracle Enterprise Manager (OEM) (6)
- Orchestrator (6)
- RocksDB (6)
- Azure Synapse Analytics (5)
- Covid-19 (5)
- Data Enablement (5)
- Disaster Recovery (5)
- Microsoft (5)
- Performance Tuning (5)
- Scala (5)
- Serverless (5)
- Cloud Security (4)
- Cloud Spanner (4)
- CockroachDB (4)
- Data Management (4)
- Data Pipeline (4)
- Data Security (4)
- Data Strategy (4)
- Data Visualization (4)
- Databases (4)
- Dataflow (4)
- Generative AI (4)
- Google (4)
- Google BigQuery (4)
- Oracle Autonomous Database (Adb) (4)
- Oracle Cloud (4)
- Oracle Enterprise Manager (4)
- Redhat (4)
- Ssl (4)
- Windows (4)
- Xtrabackup (4)
- Amazon Relational Database Service (Rds) (3)
- Apex (3)
- Cloud Database (3)
- Cloud FinOps (3)
- Data Analytics (3)
- Data Migrations (3)
- Database Migration (3)
- Digital Transformation (3)
- ERP (3)
- Google Chrome (3)
- Google Cloud Sql (3)
- Google Workspace (3)
- Heterogeneous Database Migration (3)
- Oracle Live Sql (3)
- Oracle Rac (3)
- Perl (3)
- Power Bi (3)
- Prometheus (3)
- Remote Teams (3)
- Slob (3)
- Tensorflow (3)
- Terraform (3)
- Amazon Data Migration Service (2)
- Amazon Ec2 (2)
- Anisble (2)
- Apache Flink (2)
- Apache Kafka (2)
- Apexexport (2)
- Ashdump (2)
- Aurora (2)
- Azure Data Factory (2)
- Cloud Armor (2)
- Cloud Data Fusion (2)
- Cloud Hosting (2)
- Cloud Infrastructure (2)
- Cloud Shell (2)
- Cloud Sql (2)
- Conferences (2)
- Cosmos Db (2)
- Cosmosdb (2)
- Cost Management (2)
- Data Discovery (2)
- Data Integration (2)
- Data Quality (2)
- Data Streaming (2)
- Database Administrator (2)
- Database Consulting (2)
- Database Monitoring (2)
- Database Performance (2)
- Database Troubleshooting (2)
- Dataguard (2)
- Dataops (2)
- Enterprise Data Platform (EDP) (2)
- Events (2)
- Fusion Middleware (2)
- Gemini (2)
- Graphite (2)
- Infrastructure As Code (2)
- Innodb Cluster (2)
- Innodb File Structure (2)
- Innodb Group Replication (2)
- Liquibase (2)
- NLP (2)
- Nosql (2)
- Oracle Data Guard (2)
- Oracle Datase (2)
- Oracle Flashback (2)
- Oracle Forms (2)
- Oracle Installation (2)
- Oracle Io Testing (2)
- Podcast (2)
- Rdbms (2)
- Redshift (2)
- Remote DBA (2)
- Remote Sre (2)
- S3 (2)
- Single Sign-On (2)
- Webinars (2)
- X5 (2)
- AI (1)
- Actifio (1)
- Adop (1)
- Advanced Data Services (1)
- Afd (1)
- Alloydb (1)
- Amazon (1)
- Amazon Aurora Backtrack (1)
- Amazon Efs (1)
- Amazon Redshift (1)
- Amazon S3 (1)
- Amazon Sagemaker (1)
- Amazon Vpc Flow Logs (1)
- Analysis (1)
- Analytical Models (1)
- Anthos (1)
- Application Migration (1)
- Ash (1)
- Asmlib (1)
- Atp (1)
- Autonomous (1)
- Awr Data Mining (1)
- Awr Mining (1)
- Azure Data Lake (1)
- Azure Data Lake Analytics (1)
- Azure Data Lake Store (1)
- Azure Data Migration Service (1)
- Azure OpenAI (1)
- Azure Sql Data Warehouse (1)
- Batches In Cassandra (1)
- Business Insights (1)
- Business Intelligence (1)
- Chown (1)
- Chrome Security (1)
- Cloud Browser (1)
- Cloud Build (1)
- Cloud Consulting (1)
- Cloud Cost Optimization (1)
- Cloud Data Warehouse (1)
- Cloud Database Management (1)
- Cloud Dataproc (1)
- Cloud Foundry (1)
- Cloud Networking (1)
- Cloud SQL Replica (1)
- Cloud Scheduler (1)
- Cloud Services (1)
- Cloud Strategies (1)
- Compliance (1)
- Conversational AI (1)
- Cyber Security (1)
- Data Analysis (1)
- Data Analytics Platform (1)
- Data Box (1)
- Data Classification (1)
- Data Cleansing (1)
- Data Encryption (1)
- Data Engineering (1)
- Data Estate (1)
- Data Insights (1)
- Data Integrity (1)
- Data Leader (1)
- Data Lifecycle Management (1)
- Data Lineage (1)
- Data Masking (1)
- Data Mesh (1)
- Data Migration (1)
- Data Migration Assistant (1)
- Data Migration Service (1)
- Data Mining (1)
- Data Monetization (1)
- Data Policy (1)
- Data Profiling (1)
- Data Protection (1)
- Data Retention (1)
- Data Safe (1)
- Data Sheets (1)
- Data Summit (1)
- Data Vault (1)
- Data Warehouse (1)
- Database Consultant (1)
- Database Link (1)
- Database Management (1)
- Database Migrations (1)
- Database Modernization (1)
- Database Provisioning (1)
- Database Provisioning Failed (1)
- Database Replication (1)
- Database Schemas (1)
- Database Upgrade (1)
- Databricks (1)
- Datascape 59 (1)
- DeepSeek (1)
- Docker-Composer (1)
- Duet AI (1)
- Edp (1)
- Etl (1)
- Gcp Compute (1)
- Gcp-Spanner (1)
- Global Analytics (1)
- Google Analytics (1)
- Google Cloud Architecture Framework (1)
- Google Cloud Data Services (1)
- Google Cloud Partner (1)
- Google Cloud Spanner (1)
- Google Cloud VMware Engine (1)
- Google Compute Engine (1)
- Google Dataflow (1)
- Google Datalab (1)
- Google Grab And Go (1)
- Graph Algorithms (1)
- Graph Inferences (1)
- Graph Theory (1)
- GraphQL (1)
- Health Check (1)
- Healthcheck (1)
- Information (1)
- Infrastructure As A Code (1)
- Innobackupex (1)
- Innodb Concurrency (1)
- Innodb Flush Method (1)
- It Industry (1)
- Kubeflow (1)
- LMSYS Chatbot Arena (1)
- Linux Host Monitoring (1)
- Linux Storage Appliance (1)
- Looker (1)
- MMLU (1)
- Managed Services (1)
- Migrate (1)
- Neo4J (1)
- Newsroom (1)
- Nifi (1)
- OPEX (1)
- Odbcs (1)
- Odbs (1)
- On-Premises (1)
- Open Source Database (1)
- Ora-01852 (1)
- Ora-7445 (1)
- Oracle Cursor (1)
- Oracle Database@Google Cloud (1)
- Oracle Exadata Smart Scan (1)
- Oracle Licensing (1)
- Oracle Linux Virtualization Manager (1)
- Oracle Oda (1)
- Oracle Openworld (1)
- Oracle Parallelism (1)
- Oracle RMAN (1)
- Oracle Rdbms (1)
- Oracle Real Application Clusters (1)
- Oracle Reports (1)
- Oracle Security (1)
- Perfomrance (1)
- Performance Schema (1)
- Policy (1)
- Prompt Engineering (1)
- Public Cloud (1)
- Pythian News (1)
- Rdb (1)
- Replication Error (1)
- Retail (1)
- SAP HANA Cloud (1)
- Securing Sql Server (1)
- Serverless Computing (1)
- Sso (1)
- Tenserflow (1)
- Teradata (1)
- Vertex AI (1)
- Videos (1)
- Workspace Security (1)
- Xbstream (1)
- August 2025 (1)
- July 2025 (3)
- June 2025 (1)
- May 2025 (3)
- March 2025 (2)
- February 2025 (1)
- January 2025 (2)
- December 2024 (1)
- October 2024 (2)
- September 2024 (7)
- August 2024 (4)
- July 2024 (2)
- June 2024 (6)
- May 2024 (3)
- April 2024 (2)
- February 2024 (1)
- January 2024 (11)
- December 2023 (10)
- November 2023 (9)
- October 2023 (11)
- September 2023 (9)
- August 2023 (6)
- July 2023 (2)
- June 2023 (13)
- May 2023 (4)
- April 2023 (6)
- March 2023 (10)
- February 2023 (6)
- January 2023 (5)
- December 2022 (10)
- November 2022 (10)
- October 2022 (10)
- September 2022 (13)
- August 2022 (16)
- July 2022 (12)
- June 2022 (13)
- May 2022 (11)
- April 2022 (4)
- March 2022 (5)
- February 2022 (4)
- January 2022 (14)
- December 2021 (16)
- November 2021 (11)
- October 2021 (6)
- September 2021 (11)
- August 2021 (6)
- July 2021 (9)
- June 2021 (4)
- May 2021 (8)
- April 2021 (16)
- March 2021 (16)
- February 2021 (6)
- January 2021 (12)
- December 2020 (12)
- November 2020 (17)
- October 2020 (11)
- September 2020 (10)
- August 2020 (11)
- July 2020 (13)
- June 2020 (6)
- May 2020 (9)
- April 2020 (18)
- March 2020 (21)
- February 2020 (13)
- January 2020 (15)
- December 2019 (10)
- November 2019 (11)
- October 2019 (12)
- September 2019 (16)
- August 2019 (15)
- July 2019 (10)
- June 2019 (16)
- May 2019 (20)
- April 2019 (21)
- March 2019 (14)
- February 2019 (18)
- January 2019 (18)
- December 2018 (5)
- November 2018 (16)
- October 2018 (12)
- September 2018 (20)
- August 2018 (27)
- July 2018 (31)
- June 2018 (34)
- May 2018 (28)
- April 2018 (27)
- March 2018 (17)
- February 2018 (8)
- January 2018 (20)
- December 2017 (14)
- November 2017 (4)
- October 2017 (1)
- September 2017 (3)
- August 2017 (5)
- July 2017 (4)
- June 2017 (2)
- May 2017 (7)
- April 2017 (7)
- March 2017 (8)
- February 2017 (8)
- January 2017 (5)
- December 2016 (3)
- November 2016 (4)
- October 2016 (8)
- September 2016 (9)
- August 2016 (10)
- July 2016 (9)
- June 2016 (8)
- May 2016 (13)
- April 2016 (16)
- March 2016 (13)
- February 2016 (11)
- January 2016 (6)
- December 2015 (11)
- November 2015 (11)
- October 2015 (5)
- September 2015 (16)
- August 2015 (4)
- July 2015 (1)
- June 2015 (3)
- May 2015 (6)
- April 2015 (5)
- March 2015 (5)
- February 2015 (4)
- January 2015 (3)
- December 2014 (7)
- October 2014 (4)
- September 2014 (6)
- August 2014 (6)
- July 2014 (16)
- June 2014 (7)
- May 2014 (6)
- April 2014 (5)
- March 2014 (4)
- February 2014 (10)
- January 2014 (6)
- December 2013 (8)
- November 2013 (12)
- October 2013 (9)
- September 2013 (6)
- August 2013 (7)
- July 2013 (9)
- June 2013 (7)
- May 2013 (7)
- April 2013 (4)
- March 2013 (7)
- February 2013 (4)
- January 2013 (4)
- December 2012 (6)
- November 2012 (8)
- October 2012 (9)
- September 2012 (3)
- August 2012 (5)
- July 2012 (5)
- June 2012 (7)
- May 2012 (11)
- April 2012 (1)
- March 2012 (8)
- February 2012 (1)
- January 2012 (6)
- December 2011 (8)
- November 2011 (5)
- October 2011 (9)
- September 2011 (6)
- August 2011 (4)
- July 2011 (1)
- June 2011 (1)
- May 2011 (5)
- April 2011 (2)
- February 2011 (2)
- January 2011 (2)
- December 2010 (1)
- November 2010 (7)
- October 2010 (3)
- September 2010 (8)
- August 2010 (2)
- July 2010 (4)
- June 2010 (7)
- May 2010 (2)
- April 2010 (1)
- March 2010 (3)
- February 2010 (3)
- January 2010 (2)
- November 2009 (6)
- October 2009 (6)
- August 2009 (3)
- July 2009 (3)
- June 2009 (3)
- May 2009 (2)
- April 2009 (8)
- March 2009 (6)
- February 2009 (4)
- January 2009 (3)
- November 2008 (3)
- October 2008 (7)
- September 2008 (6)
- August 2008 (9)
- July 2008 (9)
- June 2008 (9)
- May 2008 (9)
- April 2008 (8)
- March 2008 (4)
- February 2008 (3)
- January 2008 (3)
- December 2007 (2)
- November 2007 (7)
- October 2007 (1)
- August 2007 (4)
- July 2007 (3)
- June 2007 (8)
- May 2007 (4)
- April 2007 (2)
- March 2007 (2)
- February 2007 (5)
- January 2007 (8)
- December 2006 (1)
- November 2006 (3)
- October 2006 (4)
- September 2006 (3)
- July 2006 (1)
- May 2006 (2)
- April 2006 (1)
- July 2005 (1)
No Comments Yet
Let us know what you think