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

Multiplexing of control files in oracle database

 Atikh Shaikh     oracle     No comments   

As an Oracle DBA, we might come across a situation where the Oracle database has only one control file, which is considered dangerous to the database, as failure or corruption of a single control file cause issue to database availability. 

For example, in the below database we have only one control file

 

SQL> select name from v$controlfile;

 

NAME

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

C:\APP\ORACLE\ORADATA\ASGARD\CONTROL01.CTL

 

As standard, we should have at least 2 control files.  converting one control file to multiple control files termed as multiplexing of control files. We will perform multiplexing of control activity. 

We will convert this single control to two control files, that will provide security to the database.

Step 1 :  Check existing control file name and location using either of the below command 

 

SQL> select name from v$controlfile;

 

NAME

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

C:\APP\ORACLE\ORADATA\ASGARD\CONTROL01.CTL

 

SQL> show parameter control_file

 

NAME                                 TYPE        VALUE

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

control_file_record_keep_time        integer     7

control_files                        string      C:\APP\ORACLE\ORADATA\ASGARD\C

                                                 ONTROL01.CTL

Step 2 : check whether database is running on pfile or spfile using below command 

 

SQL> show parameter pfile

 

NAME               TYPE        VALUE

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

spfile             string      C:\APP\ORACLE\PRODUCT\11.2.0.4                                                 \DATABASE\SPFILEASGARD.ORA

SQL>

 

If this command gives output, then consider oracle database is running with spfile (server parameter pfile)

Step 3 :  Create pfile with spfile, so that we can add new control file to the database

 

SQL> create pfile from spfile;

 

File created.

 

SQL>

 

Step 4 : Shutdown database and copy existing control file to new location and add location in pfile as well 

 

SQL>    shu immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>

 

 

C:\Users>copy "C:\app\oracle\oradata\asgard\CONTROL01.CTL" C:\app\oracle\oradata\ctrl\CONTROL02.CTL

        1 file(s) copied.

 

 

*.control_files='C:\app\oracle\oradata\asgard\control01.ctl','C:\app\oracle\oradata\ctrl\CONTROL02.CTL'

 

Step 5 : Once all above steps are successfully. create spfile from pfile using below command, while database is down 

 

SQL> create spfile from pfile;

 

File created.

 

SQL>

 

Once spfile is created, start the database using startup command

 

Once database is started, you will be able to see two control files, and we are done with our task, i.e. multiplexing of control file

 

SQL> startup

ORACLE instance started.

 

Total System Global Area 3156725760 bytes

Fixed Size                  2179896 bytes

Variable Size            1795165384 bytes

Database Buffers         1342177280 bytes

Redo Buffers               17203200 bytes

Database mounted.

Database opened.

 

SQL> select name from v$controlfile;

 

NAME

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

C:\APP\ORACLE\ORADATA\ASGARD\CONTROL01.CTL

C:\APP\ORACLE\ORADATA\CTRL\CONTROL02.CTL

 

SQL>

 

This completes DBA’s task of multiplexing of control file.



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 (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)
      • Multiplexing of control files in oracle database
    • ►  December (3)
  • ►  2024 (5)
    • ►  January (2)
    • ►  March (3)
  • ►  2025 (6)
    • ►  March (1)
    • ►  April (3)
    • ►  May (2)

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...
  • Oracle 23ai : Use of NOVALIDATE Constraints in IMPDP
    While performing impdp operations in the Oracle database, Oracle performs validation checks for every constraint on the imported table, that...
  • 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...

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