Atikh's DBA blog
  • Home
  • Oracle
  • MySQL
  • MongoDB
  • PostgreSQL
  • Snowflake
  • About Me
  • Contact Us

Oracle 23c : Changing Default PDB name "FREE" to customized using nid utility

 Atikh Shaikh     oracle, Oracle23c     No comments   

Oracle database 23c  was released in March 2023, developer version. Oracle has provided complete instructions to download and install oracle database 23c free version, Click here to know more.

In the free version, oracle has been given "FREE" as the container name and freepdb1 as the pluggable database name, suppose you want to change to "technodb", we can do it using the nid Oracle tool,  it comes default with the installation of Oracle software. 

  • old name - free
  • new name - technodb
  • oracle tool- nid

Step 1 : shutdown and startup database in mount state

 

[oracle@localhost Desktop]$ sqlplus sys@free as sysdba

 

SQL*Plus: Release 23.0.0.0.0 - Developer-Release on Sat May 6 14:12:30 2023

Version 23.2.0.0.0

 

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

 

Enter password:

 

Connected to:

Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release

Version 23.2.0.0.0

 

SQL> show pdbs

 

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

           2 PDB$SEED                              READ ONLY  NO

           3 FREEPDB1                              READ WRITE NO

SQL>

SQL>

 

SQL> shu immediate

Database closed.

Database dismounted.

 

SQL> startup mount 

ORACLE instance started.

 

Total System Global Area 1608409424 bytes

Fixed Size             10043728 bytes

Variable Size         671088640 bytes

Database Buffers      922746880 bytes

Redo Buffers            4530176 bytes

Database mounted.

SQL> 

 

Step 2 : Run the nid tool to change database name for FREE to TECHNODB

 

[oracle@localhost Desktop]$ nid target = sys/oracle dbname=technodb

 

DBNEWID: Release 23.0.0.0.0 - Developer's Release on Sat May 6 14:25:53 2023

 

Copyright (c) 1982, 2023, Oracle and/or its affiliates.  All rights reserved.

 

Connected to database FREE (DBID=1405253007)

 

Connected to server version 23.2.0

 

Control Files in database:

    /opt/oracle/oradata/FREE/control01.ctl

    /opt/oracle/oradata/FREE/control02.ctl

 

Change database ID and database name FREE to TECHNODB? (Y/[N]) => Y

 

Proceeding with operation

Changing database ID from 1405253007 to 2754615793

Changing database name from FREE to TECHNODB

    Control File /opt/oracle/oradata/FREE/control01.ctl - modified

    Control File /opt/oracle/oradata/FREE/control02.ctl - modified

    Datafile /opt/oracle/oradata/FREE/system01.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/pdbseed/system01.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/sysaux01.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/pdbseed/sysaux01.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/users01.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/pdbseed/undotbs01.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/FREEPDB1/system01.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/FREEPDB1/sysaux01.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/FREEPDB1/undotbs01.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/FREEPDB1/users01.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/undotbs2.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/temp01.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/pdbseed/temp01.db - dbid changed, wrote new name

    Datafile /opt/oracle/oradata/FREE/FREEPDB1/temp01.db - dbid changed, wrote new name

    Control File /opt/oracle/oradata/FREE/control01.ctl - dbid changed, wrote new name

    Control File /opt/oracle/oradata/FREE/control02.ctl - dbid changed, wrote new name

    Instance shut down

 

Database name changed to TECHNODB.

Modify parameter file and generate a new password file before restarting.

Database ID for database TECHNODB changed to 2754615793.

All previous backups and archived redo logs for this database are unusable.

Database has been shutdown, open database with RESETLOGS option.

Succesfully changed database name and ID.

DBNEWID - Completed succesfully.

 

[oracle@localhost Desktop]$

 

Step 3 : Now open the database

 

[oracle@localhost Desktop]$ sqlplus 

 

SQL*Plus: Release 23.0.0.0.0 - Developer-Release on Sat May 6 14:27:45 2023

Version 23.2.0.0.0

 

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

 

Enter user-name: /as sysdba

Connected to an idle instance.

SQL> startup

ORACLE instance started.

 

Total System Global Area 1608409424 bytes

Fixed Size                 10043728 bytes

Variable Size                      671088640 bytes

Database Buffers      922746880 bytes

Redo Buffers                        4530176 bytes

ORA-01103: control file database name 'TECHNODB' does not match parameter file

DB_NAME 'FREE'

 

At first, you will not be able to start the database as spfile has a different name

db_name than new name, use alter system command to change the db name

and use the scope as spfile

 

SQL> alter system set db_name =technodb scope=spfile;

 

System altered.

 

Shutdown the database

 

SQL> shu abort 

ORACLE instance shut down.

 

Now startup the database with resetlogs option and you are set with a new database name

 

SQL> startup

ORACLE instance started.

 

Total System Global Area 1608409424 bytes

Fixed Size             10043728 bytes

Variable Size         671088640 bytes

Database Buffers      922746880 bytes

Redo Buffers            4530176 bytes

Database mounted.

ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

 

 

SQL> alter database open resetlogs;

 

Database altered.

 

SQL> show parameter db_name

 

NAME                     TYPE  VALUE

------------------ ----------- ------------------------------

db_name                  string     TECHNODB

SQL> 

SQL> 

 

We can see the database name has been changed from FREE to TECHNODB, you will not be able to change the instance name as this is a free edition.

 

 

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

Oracle 23c : New Feature- Hybrid Read only mode for PDB

 Atikh Shaikh     oracle, Oracle23c     No comments   

In General, DBA's open pluggable database or PDB either in Read Write Mode or Read-only, what if the database behaves in read-only, and read-write mode based on the connected user. One such feature is introduced in Oracle 23c. As we know there are two types of users in multitenant database starting from Oracle12c, local user and common user, Local users are local to the pluggable database and common users are common to all pluggable and container databases. Common users can connect to a container and several pluggable databases. 

As the Oracle database 23c release date was announced, everybody was excited about new features for DBA's in Oracle 23c. So here is one feature with many benefits: Hybrid Read-only mode for a pluggable database. Hybrid Read only mode enables the pluggable database to operate either in read-only or read-write mode.

Oracle 23c, oracle 23c database


For common users- a pluggable database or PDB will be in both read-write and read-only mode

For Local users/application users - a pluggable database or PDB will be restricted to read-only mode

To enable Hybrid read-only mode, alter pluggable database command needs to be executed against PDB.

we will not be able to see hybrid read-only mode  through v$database or v$pdbs, it can be viewed through v$container_topology with new column IS_HYBRID_READ _ONLY

SQL> desc v$container_topology

 Name                    Null?    Type

 ---------------------- -------- ----------------------------

 INSTANCE_NUMBER                     NUMBER

 CON_NAME                            VARCHAR2(128)

 OPEN_MODE                           VARCHAR2(10)

 CPU_COUNT                           NUMBER

 CON_ID                              NUMBER

 RESTRICTED                                VARCHAR2(3)

 IS_HYBRID_READ_ONLY                       VARCHAR2(3)

 

While we can see some different output in v$pdbs as well, for local users it will be read-only for common users it will be read-write mode

SQL> select con_name , open_mode , is_hybrid_read_only from v$container_topology;

 

CON_NAME        OPEN_MODE  IS_HYBRID_READ_ONLY

-------------------- ---------- --------------------------

FREEPDB1        READ WRITE NO

 

common users

 

SQL> show user

USER is "SYS"

SQL> select name,open_mode from v$pdbs;

 

NAME            OPEN_MODE

----------------- -----------------------------------

FREEPDB1        READ WRITE


As local user 


SQL> show user

USER is "LOCAL_USR"

SQL> select name,open_mode from v$pdbs;

 

NAME            OPEN_MODE

----------------- -----------------------------------

FREEPDB1        READ WRITE

 

SQL> 

Now change the mode of the pluggable database to Hybrid read-only mode. If the database is in open mode, close it using the close immediate command and open the pluggable database in hybrid read-only by using the below steps

 

SQL> alter pluggable database close immediate;

 

Pluggable database altered.

 

SQL> alter pluggable database open hybrid read-only;

 

Pluggable database altered.

 

SQL> show con_name

 

CON_NAME

------------------------------

FREEPDB1

SQL> select con_name , open_mode , is_hybrid_read_only from v$container_topology;

 

CON_NAME        OPEN_MODE                    IS_HYBRID_READ_ONLY

-------------------- ----------------------------------- -----------------------------------

FREEPDB1        READ WRITE             YES

 

SQL> show user

USER is "SYS"

SQL> 

SQL> select name,open_mode from v$pdbs;

 

NAME            OPEN_MODE

------------------ -----------------------------------

FREEPDB1        READ WRITE

 

SQL> conn local_usr/Test123@freepdb1

Connected.

SQL> 

SQL> select name,open_mode from v$pdbs;

 

NAME            OPEN_MODE

------------------ -----------------------------------

FREEPDB1        READ ONLY

 

SQL> 


In the above output, we can see, with common user SYS, it is READ WRITE mode, while with the local user it is READ ONLY mode

 

Reverting to the original state (Read Write):  follow simple steps to revert Oracle pluggable database to read-only mode

 

SQL> conn sys@freepdb1 as sysdba

Enter password: 

Connected.

SQL> alter pluggable database close immediate;

 

Pluggable database altered.

 

SQL> alter pluggable database open;

 

Pluggable database altered.

 

SQL> select name,open_mode from v$pdbs;

 

NAME            OPEN_MODE

-------------------- -----------------------------------

FREEPDB1        READ WRITE


In this way, we simply tested Oracle database 23c new feature of hybrid read-only mode, looks impressive feature, we will discuss more such features associated with oracle 23c.

 

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Instagram
  •  Pin
  •  linkedin
  •  reddit
Newer Posts 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 (73)

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)
      • Oracle 23c : New Feature- Hybrid Read only mode fo...
      • Oracle 23c : Changing Default PDB name "FREE" to c...
    • ►  June (1)
    • ►  September (1)
    • ►  October (1)
    • ►  December (3)
  • ►  2024 (5)
    • ►  January (2)
    • ►  March (3)
  • ►  2025 (5)
    • ►  March (1)
    • ►  April (3)
    • ►  May (1)

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...
  • 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...
  • 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...
  • 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...
  • Oracle 23ai : The all new Hybrid Read-Only for pluggable databases (PDBs)
      The latest Oracle database version, Oracle 23ai, introduced a new open mode called Hybrid Read-Only for pluggable databases (PDBs). Local ...

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