Atikh's DBA blog
  • Home
  • Oracle
  • MySQL
  • MongoDB
  • PostgreSQL
  • Snowflake
  • About Me
  • Contact Us
Showing posts with label oracle 23ai. Show all posts
Showing posts with label oracle 23ai. Show all posts

Oracle 23ai : The all new Hybrid Read-Only for pluggable databases (PDBs)

 Atikh Shaikh     oracle 23ai     No comments   

 

The latest Oracle database version, Oracle 23ai, introduced a new open mode called Hybrid Read-Only for pluggable databases (PDBs). Local users can only connect with read-only access when a PDB is set to this new mode. However, common users are not restricted and can still perform write operations.

Command to convert to this mode

SQL> ALTER PLUGGABLE DATABASE TECHNOPDB OPEN HYBRID READ ONLY;
Pluggable database altered.

SQL> show pdbs;
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 TECHNOPDB                      READ WRITE NO

Testing Write Access with common user - SYS

Now, we connect to TECHNOPDB as the SYS user and test write operations:

sqlplus "sys/sys@target:1521/TECHNOPDB as sysdba"

SQL> show user;
USER is "SYS"

SQL> select OPEN_MODE from v$pdbs;
OPEN_MODE
----------
READ WRITE

SQL> create table tech_user.test_tab(id number);
Table created.

As we can see, the SYS user sees the OPEN_MODE as READ WRITE, even though the PDB was opened in HYBRID READ ONLY mode.

Testing Write Access as any Local User

Now, let us repeat the test with a local user named VAHID:

sqlplus "tech_local/test123@target:1521/TECHNOPDB"

SQL> show user;
USER is "tech_local"

SQL> select OPEN_MODE from v$pdbs;
OPEN_MODE
----------
READ ONLY


SQL> create table tech_user.test_tab(id number);
ORA-16000: Attempting to modify database or pluggable database that is open for read-only access.

As expected, the local user (TECH_LOCAL) is not allowed to perform write operations.

Checking Hybrid Read-Only Mode Status

The view V$CONTAINER_TOPOLOGY can help to check the HYBRID READ ONLY mode:

SQL> select IS_HYBRID_READ_ONLY, CON_NAME, OPEN_MODE from V$CONTAINER_TOPOLOGY;

IS_HYBRID_READ_ONLY  CON_NAME   OPEN_MODE
-------------------- ---------- ----------
YES                  ORCLORPDB  READ WRITE

 

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Instagram
  •  Pin
  •  linkedin
  •  reddit

Oracle 23ai : Use of NOVALIDATE Constraints in IMPDP

 Atikh Shaikh     impdp, oracle 23ai     No comments   

While performing impdp operations in the Oracle database, Oracle performs validation checks for every constraint on the imported table, that can cause a significant delay in importing data. All new Oracle 23ai, introduces new feature called NOVALIDATE CONSTRAINTS In this article, we’ll cover its functionality, benefits, practical usage, and the scenarios where `NOVALIDATE` can be used.

The `NOVALIDATE` constraint is a Data Pump Import (IMPDP) parameter used to import table constraints without performing the validation of data against those constraints.

this constraints_novalidate parameter needs to be used along with the transform parameter in the impdp utility,

This option restores constraints in "ENABLED NOT VALIDATED" status. 

 

syntax

TRANSFORM=constraints_novalidate=y

 

This parameter helps to increase speed significantly. This parameter only skips data validation during import, but still applies during normal operations in the database. 

 

Core benefits 

  • Improved Performance
  • Handling Inconsistent Data
  • Flexibility in Migration

 

General syntax of the impdp command with constraints_validate

 

impdp <username>/<password> DIRECTORY=<directory_object> DUMPFILE=<dumpfile_name> LOGFILE=<logfile_name>  TABLES=<table_name> CONSTRAINTS=NOVALIDATE

or 

 

impdp <username>/<password> DIRECTORY=<directory_object> DUMPFILE=<dumpfile_name> LOGFILE=<logfile_name>  TABLES=<table_name> TRANSFORM=constraints_novalidate=y

 

 

This NOVALIDATE is useful in below scenario

  • Large Data Migrations
  • Mismatched Source and Target Data
  • Gradual Data Validation
  • Parallel Data Loads

Risks 

  • Data Integrity Issues
  • Delayed Error Detection
  • Potential Application Failures
  • Manual Cleanup Required

 

This parameter is really useful when we compare things with older versions.

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Instagram
  •  Pin
  •  linkedin
  •  reddit

Data pump (expdp/impdp) troubleshooting in Oracle 23ai

 Atikh Shaikh     oracle 23ai     No comments   

The latest database version, Oracle 23ai, i.e., version 23c with AI features enabled, is powerful and brings a lot of features to view and troubleshoot different parts of the database

Once such an improvement is on the data pump utility and its troubleshooting with all new dynamic performance views

There are a few issues while performing a data pump on large data, such as huge single tables. With lower versions, we need to rely on log files, live monitoring of the data pump job, server performance, and database performance.

With all new 23ai database, the following views are introduced, and those are helpful in troubleshooting

1. V$DATAPUMP_PROCESS_INFO

2. V$DATAPUMP_PROCESSWAIT_INFO

3. V$DATAPUMP_SESSIONWAIT_INFO


These views provide real-time information about the status of Data Pump processes, their wait events, and session-level contentions. GV$ views are used in RAC-enabled environments, while V$ views are used for standalone database instances

Here are the details about each view

V$DATAPUMP_PROCESS_INFO – view shows the current Data Pump processes, including both master and worker processes. It provides basic information like the program name, session ID, username, job name, status, and system process ID. This view is very useful if we use the parallel option while performing the data pump 

V$DATAPUMP_PROCESSWAIT_INFO – This view helps detect contention between Data Pump processes. It shows wait events and blocking sessions. This view provides more information in case the data pump job hangs 

V$DATAPUMP_SESSIONWAIT_INFO – Provides deep insights into session-level waits during Data Pump operations, including how long the session has been in the wait state and what it’s waiting on.

 

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Instagram
  •  Pin
  •  linkedin
  •  reddit
Older Posts Home

Author

Atikh Shaikh
View my complete profile

Categories

  • MongoDB (18)
  • Oracle 12c (30)
  • Oracle12cR2 New Feature (3)
  • PostgreSQL (20)
  • RMAN (10)
  • Snowflake (8)
  • mysql (23)
  • oracle (74)

Blog Archive

  • ►  2018 (38)
    • ►  November (25)
    • ►  December (13)
  • ►  2019 (33)
    • ►  January (15)
    • ►  February (6)
    • ►  March (2)
    • ►  April (5)
    • ►  May (5)
  • ►  2020 (5)
    • ►  April (1)
    • ►  May (2)
    • ►  July (2)
  • ►  2021 (8)
    • ►  June (3)
    • ►  July (3)
    • ►  August (1)
    • ►  December (1)
  • ►  2022 (33)
    • ►  May (3)
    • ►  June (10)
    • ►  July (3)
    • ►  August (4)
    • ►  September (8)
    • ►  October (3)
    • ►  November (2)
  • ►  2023 (14)
    • ►  February (1)
    • ►  April (5)
    • ►  May (2)
    • ►  June (1)
    • ►  September (1)
    • ►  October (1)
    • ►  December (3)
  • ►  2024 (5)
    • ►  January (2)
    • ►  March (3)
  • ▼  2025 (6)
    • ►  March (1)
    • ►  April (3)
    • ▼  May (2)
      • Oracle 23ai : The all new Hybrid Read-Only for plu...
      • Oracle Active Data Guard Features and Benefits

Popular Posts

  • ORA-29283: invalid file operation: unexpected "LFI" error (1509)[29437]
    I was trying to export the schema in my windows PC, it got stuck with below error    C:\Users\shaik\Videos\technodba exp>expdp userid...
  • PostgreSQL : How to get data directory location for PostgreSQL instance
    Sometimes, you start working on a PostgreSQL instance but forget about the data directory, here we will discuss different methods to know th...
  • ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
    In previous articles, we have learned about user creation and grants  in MySQL in detail, but there are a few privileges called global priv...
  • Oracle Dataguard Broker Configuration (DGMGRL)
    Data Guard Broker is a command-line interface that makes managing primary and standby databases easy. DBA can use a single command to switch...
  • Installation of PostgreSQL 9.6 on Windows
    Before starting the installation decide which version you want to install. In below exam ple we are installing  9.6.11 go to official we...

Labels

oracle Oracle 12c mysql PostgreSQL MongoDB oracle 19c Oracle23c oracle19c Orale PDB-CDB oracle12c python AWS Oracle ASM Virtualbox pluggable database storage engine

Pages

  • Disclaimer
  • Privacy Policy

Follow TechnoDBA

Copyright © Atikh's DBA blog | Powered by Blogger