oracle重建control file的操作
Article-ID: <Note:1012929.6>
Circulation: PUBLISHED (EXTERNAL)
Folder: server.DBA.Admin
Topic: Managing Controlfiles and Datafiles
Title: How to Recreate the Controlfile
Document-Type: BULLETIN
Impact: LOW
Skill-Level: CASUAL
Server-Version: 07.XX to 08.XX
Updated-Date: 27-NOV-2002 08:28:20
References:
Shared-Refs:
Authors: KAMILLER.US
Attachments: NONE
Content-Type: TEXT/PLAIN
Keywords: CONTROLFILE; CREATE; RECOVERY;
Errors: ORA-00205; ORA-00376; ORA-01110; ORA-01111; ORA-07360;
Products: 5/RDBMS (V7.X to V8.X);
Platforms: GENERIC;
PURPOSE
This article describes how you can recreate your controlfile.
SCOPE & APPLICATION
For DBAs who need to recreate the controlfile.
WARNING:
--------
You should only need to recreate your control file under very special
circumstances:
- All current copies of the control file have been lost or are corrupted.
- You need to change a "hard" database parameter that was set when the
database was first created, such as MAXDATAFILES, MAXLOGFILES,
MAXLOGHISTORY, etc.
- You are restoring a backup in which the control file is corrupted or
missing.
- Oracle Customer Support advises you to do so.
- If you are moving your database to another machine which is
running the same operating system but the location of the datafiles,
logfiles is not the same.
Instructions:
=============
I. CREATING A NEW CONTROL FILE FROM THE EXISTING CONTROL FILE:
--------------------------------------------------------------
1. If you are running Oracle7 or higher you can get Oracle to generate
a script for you that enables you to recreate the controlfile. Run the
following command while the database is mounted or open and connected
as a user with DBA privileges:
% svrmgrl
SVRMGR> connect internal
SVRMGR> startup mount
SVRMGR> alter database backup controlfile to trace;
Oracle6 does not have this feature and therefore you will need to build
the CREATE CONTROLFILE statement yourself. The syntax is discussed in
detail in the Oracle SQL Reference Guide.
2. The trace file will be stored in the USER_DUMP_DEST destination,
which is set to "$ORACLE_HOME/rdbms/log" by default on Unix platforms.
To find out what USER_DUMP_DEST is set to, follow one of the following:
a) Look in the parameter file (init.ora on UNIX and Windows NT,
__init.ora on VMS) for the parameter:
USER_DUMP_DEST = d:/oradata/orcl/trce/udump
b) Using SQL*PLus you can issue the following command:
SQL> SELECT value
2> FROM v$parameter
3> WHERE name = 'user_dump_dest';
VALUE
------------------------------------------------
d:/oradata/orcl/trace/udump
c) Using Server Manager you can issue the following command:
SVRMGR> show parameter
SVRMGR> show parameter user_dump_dest;
The easiest way to locate the correct trace is to look at its date.
A file will exist with the current date and time. The naming
convention for these files is operating system specific.
Example:
--------
% cd $ORACLE_HOME/rdbms/log
% ls -l
-rw-r--r-- 1 osupport dba 2315 Oct 3 16:39 alert_p716.log
-rw-r--r-- 1 osupport dba 1827 Oct3 16:39 p716_ora_26220.trc
In this example, the file "p716_ora_26220.trc" is the trace file
produced that contains a script to create the control file.
3. Modify the trace file and use it as a script to create the control
file. Copy the trace file to a script file, such as "new_control.sql",
delete the header information prior to the words STARTUP NOMOUNT,
and make any other desired changes, such as increasing MAXDATAFILES,
MAXLOGFILES, etc.
Sample:
-------------------------- -----------------------------
Dump file /u01/oracle/7.1.6/rdbms/log/p716_ora_26220.trc
Oracle7 Server Release 7.1.6.2.0 - Production Release
With the distributed and replication options
PL/SQL Release 2.1.6.2.0 - Production
ORACLE_HOME = /u01/oracle/7.1.6
ORACLE_SID = p716
Oracle process number: 9 Unix process id: 26220
System name: SunOS
Node name: tcsun2
Release: 5.4
Version: Generic_101945-27
Machine: sun4m
Tue Oct 3 16:39:13 1995
*** SESSION ID:(6.61)
# The following commands will create a new control file and use it
# to open the database.
# No data other than log history will be lost. Additional logs may
# be required for media recovery of offline data files. Use this
# only if the current version of all online logs are available.
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "P716" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 30
MAXINSTANCES 8
MAXLOGHISTORY 800
LOGFILE
GROUP 1 '/u01/oracle/7.1.6/dbs/log1p716.dbf' SIZE 500K,
GROUP 2 '/u01/oracle/7.1.6/dbs/log2p716.dbf' SIZE 500K,
GROUP 3 '/u01/oracle/7.1.6/dbs/log3p716.dbf' SIZE 500K
DATAFILE
'/u01/oracle/7.1.6/dbs/systp716.dbf' SIZE 40M,
'/u01/oracle/7.1.6/dbs/tempp716.dbf' SIZE 550K,
'/u01/oracle/7.1.6/dbs/toolp716.dbf' SIZE 15M
;
# Recovery is required if any of the datafiles are restored backups,
# or if the last shutdown was not normal or immediate.
RECOVER DATABASE
# Database can now be opened normally.
ALTER DATABASE OPEN;
---------------------- ----------------------------------
4. Shutdown the database (NORMAL, IMMEDIATE, TRANSACTIONAL (Oracle8 only)
but not ABORT).
SVRMGR> shutdown immediate
5. Take a full database backup.
6. Rename/move the existing database controlfiles to a backup (The REUSE
option will overwrite the original files). The size of the controlfile
will be increased by increasing the value of MAXDATAFILES,
MAXLOGMEMBERS, etc.
Example:
--------
% cd $ORACLE_HOME/dbs
% mv ctrlV716.ctl ctrlV716.bak
7. Create the controlfile within Server Manager
SVRMGR> connect internal
SVRMGR> @new_control.sql
If you get the "Statement processed" message, the database will
be opened with a brand new control file.
8. At the first opportunity, shut the database down (normal, immediate or
transactional oracle8 only) and take a full backup.
II. CREATING A NEW CONTROL FILE WITHOUT AN EXISTING CONTROL FILE:
-----------------------------------------------------------------
CREATE CONTROLFILE SYNTAX:
The following is information on the create control file syntax. This
information is fully documented in the Oracle7 SQL Reference Manual.
CREATE CONTROLFILE [REUSE]
DATABASE name
[LOGFILE filespec [, filespec] ...]
RESETLOGS | NORESETLOGS
[MAXLOGFILES integer]
[DATAFILE filespec [, filespec] ...]
[MAXDATAFILES integer]
[MAXINSTANCES integer]
[ARCHIVELOG | NOARCHIVELOG]
[SHARED | EXCLUSIVE]
The complete procedure follows:
1. Take a full backup of the database, including all datafiles and redo
log files.
2. Go into SQL*DBA or Server Manager and do a STARTUP NOMOUNT.
3. Issue the CREATE CONTROLFILE statement.
Example:
--------
CREATE CONTROLFILE REUSE DATABASE "P716" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 3
MAXDATAFILES 300
MAXINSTANCES 8
MAXLOGHISTORY 500
LOGFILE
GROUP 1 '/u01/oracle/7.1.6/dbs/log1p716.dbf' SIZE 1M,
GROUP 2 '/u01/oracle/7.1.6/dbs/log2p716.dbf' SIZE 1M,
GROUP 3 '/u01/oracle/7.1.6/dbs/log3p716.dbf' SIZE 1M
DATAFILE
'/u01/oracle/7.1.6/dbs/systp716.dbf' SIZE 40M,
'/u01/oracle/7.1.6/dbs/tempp716.dbf' SIZE 1M,
'/u01/oracle/7.1.6/dbs/toolp716.dbf' SIZE 15M ;
4. Perform media recovery on the database.
SVRMGR> recover database;
5. Open the database.
SVRMGR> alter database open;
6. At the first opportunity, shut the database down and take a full cold
backup.
Additional Errors:
------------------
ORA-205 ORA-7360 ORA-376 ORA-1110 ORA-1111[@more@]
Folder: server.DBA.Admin
Topic: Managing Controlfiles and Datafiles
Title: How to Recreate the Controlfile
Document-Type: BULLETIN
Impact: LOW
Skill-Level: CASUAL
Server-Version: 07.XX to 08.XX
Updated-Date: 27-NOV-2002 08:28:20
References:
Shared-Refs:
Authors: KAMILLER.US
Attachments: NONE
Content-Type: TEXT/PLAIN
Keywords: CONTROLFILE; CREATE; RECOVERY;
Errors: ORA-00205; ORA-00376; ORA-01110; ORA-01111; ORA-07360;
Products: 5/RDBMS (V7.X to V8.X);
Platforms: GENERIC;
PURPOSE
This article describes how you can recreate your controlfile.
SCOPE & APPLICATION
For DBAs who need to recreate the controlfile.
WARNING:
--------
You should only need to recreate your control file under very special
circumstances:
- All current copies of the control file have been lost or are corrupted.
- You need to change a "hard" database parameter that was set when the
database was first created, such as MAXDATAFILES, MAXLOGFILES,
MAXLOGHISTORY, etc.
- You are restoring a backup in which the control file is corrupted or
missing.
- Oracle Customer Support advises you to do so.
- If you are moving your database to another machine which is
running the same operating system but the location of the datafiles,
logfiles is not the same.
Instructions:
=============
I. CREATING A NEW CONTROL FILE FROM THE EXISTING CONTROL FILE:
--------------------------------------------------------------
1. If you are running Oracle7 or higher you can get Oracle to generate
a script for you that enables you to recreate the controlfile. Run the
following command while the database is mounted or open and connected
as a user with DBA privileges:
% svrmgrl
SVRMGR> connect internal
SVRMGR> startup mount
SVRMGR> alter database backup controlfile to trace;
Oracle6 does not have this feature and therefore you will need to build
the CREATE CONTROLFILE statement yourself. The syntax is discussed in
detail in the Oracle SQL Reference Guide.
2. The trace file will be stored in the USER_DUMP_DEST destination,
which is set to "$ORACLE_HOME/rdbms/log" by default on Unix platforms.
To find out what USER_DUMP_DEST is set to, follow one of the following:
a) Look in the parameter file (init
USER_DUMP_DEST = d:/oradata/orcl/trce/udump
b) Using SQL*PLus you can issue the following command:
SQL> SELECT value
2> FROM v$parameter
3> WHERE name = 'user_dump_dest';
VALUE
------------------------------------------------
d:/oradata/orcl/trace/udump
c) Using Server Manager you can issue the following command:
SVRMGR> show parameter
SVRMGR> show parameter user_dump_dest;
The easiest way to locate the correct trace is to look at its date.
A file will exist with the current date and time. The naming
convention for these files is operating system specific.
Example:
--------
% cd $ORACLE_HOME/rdbms/log
% ls -l
-rw-r--r-- 1 osupport dba 2315 Oct 3 16:39 alert_p716.log
-rw-r--r-- 1 osupport dba 1827 Oct3 16:39 p716_ora_26220.trc
In this example, the file "p716_ora_26220.trc" is the trace file
produced that contains a script to create the control file.
3. Modify the trace file and use it as a script to create the control
file. Copy the trace file to a script file, such as "new_control.sql",
delete the header information prior to the words STARTUP NOMOUNT,
and make any other desired changes, such as increasing MAXDATAFILES,
MAXLOGFILES, etc.
Sample:
--------------------------
Dump file /u01/oracle/7.1.6/rdbms/log/p716_ora_26220.trc
Oracle7 Server Release 7.1.6.2.0 - Production Release
With the distributed and replication options
PL/SQL Release 2.1.6.2.0 - Production
ORACLE_HOME = /u01/oracle/7.1.6
ORACLE_SID = p716
Oracle process number: 9 Unix process id: 26220
System name: SunOS
Node name: tcsun2
Release: 5.4
Version: Generic_101945-27
Machine: sun4m
Tue Oct 3 16:39:13 1995
*** SESSION ID:(6.61)
# The following commands will create a new control file and use it
# to open the database.
# No data other than log history will be lost. Additional logs may
# be required for media recovery of offline data files. Use this
# only if the current version of all online logs are available.
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "P716" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 30
MAXINSTANCES 8
MAXLOGHISTORY 800
LOGFILE
GROUP 1 '/u01/oracle/7.1.6/dbs/log1p716.dbf' SIZE 500K,
GROUP 2 '/u01/oracle/7.1.6/dbs/log2p716.dbf' SIZE 500K,
GROUP 3 '/u01/oracle/7.1.6/dbs/log3p716.dbf' SIZE 500K
DATAFILE
'/u01/oracle/7.1.6/dbs/systp716.dbf' SIZE 40M,
'/u01/oracle/7.1.6/dbs/tempp716.dbf' SIZE 550K,
'/u01/oracle/7.1.6/dbs/toolp716.dbf' SIZE 15M
;
# Recovery is required if any of the datafiles are restored backups,
# or if the last shutdown was not normal or immediate.
RECOVER DATABASE
# Database can now be opened normally.
ALTER DATABASE OPEN;
----------------------
4. Shutdown the database (NORMAL, IMMEDIATE, TRANSACTIONAL (Oracle8 only)
but not ABORT).
SVRMGR> shutdown immediate
5. Take a full database backup.
6. Rename/move the existing database controlfiles to a backup (The REUSE
option will overwrite the original files). The size of the controlfile
will be increased by increasing the value of MAXDATAFILES,
MAXLOGMEMBERS, etc.
Example:
--------
% cd $ORACLE_HOME/dbs
% mv ctrlV716.ctl ctrlV716.bak
7. Create the controlfile within Server Manager
SVRMGR> connect internal
SVRMGR> @new_control.sql
If you get the "Statement processed" message, the database will
be opened with a brand new control file.
8. At the first opportunity, shut the database down (normal, immediate or
transactional oracle8 only) and take a full backup.
II. CREATING A NEW CONTROL FILE WITHOUT AN EXISTING CONTROL FILE:
-----------------------------------------------------------------
CREATE CONTROLFILE SYNTAX:
The following is information on the create control file syntax. This
information is fully documented in the Oracle7 SQL Reference Manual.
CREATE CONTROLFILE [REUSE]
DATABASE name
[LOGFILE filespec [, filespec] ...]
RESETLOGS | NORESETLOGS
[MAXLOGFILES integer]
[DATAFILE filespec [, filespec] ...]
[MAXDATAFILES integer]
[MAXINSTANCES integer]
[ARCHIVELOG | NOARCHIVELOG]
[SHARED | EXCLUSIVE]
The complete procedure follows:
1. Take a full backup of the database, including all datafiles and redo
log files.
2. Go into SQL*DBA or Server Manager and do a STARTUP NOMOUNT.
3. Issue the CREATE CONTROLFILE statement.
Example:
--------
CREATE CONTROLFILE REUSE DATABASE "P716" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 3
MAXDATAFILES 300
MAXINSTANCES 8
MAXLOGHISTORY 500
LOGFILE
GROUP 1 '/u01/oracle/7.1.6/dbs/log1p716.dbf' SIZE 1M,
GROUP 2 '/u01/oracle/7.1.6/dbs/log2p716.dbf' SIZE 1M,
GROUP 3 '/u01/oracle/7.1.6/dbs/log3p716.dbf' SIZE 1M
DATAFILE
'/u01/oracle/7.1.6/dbs/systp716.dbf' SIZE 40M,
'/u01/oracle/7.1.6/dbs/tempp716.dbf' SIZE 1M,
'/u01/oracle/7.1.6/dbs/toolp716.dbf' SIZE 15M ;
4. Perform media recovery on the database.
SVRMGR> recover database;
5. Open the database.
SVRMGR> alter database open;
6. At the first opportunity, shut the database down and take a full cold
backup.
Additional Errors:
------------------
ORA-205 ORA-7360 ORA-376 ORA-1110 ORA-1111[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/687883/viewspace-1017832/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 重建控制檔案 recreate control file
- Oracle 10G重建EM DB ControlOracle 10g
- Oracle Control File(控制檔案)的內容Oracle
- oracle檔案管理之 control fileOracle
- Oracle 快照控制檔案(snapshot control file)Oracle
- Oracle快照控制檔案(snapshot control file)Oracle
- I/O上的等待事件 —— control file sequential read/control file parallel write事件Parallel
- 【ORACLE】ORA-00245: control file backup operation failedOracleAI
- control file parallel writeParallel
- 控制檔案-control file
- control file(控制檔案)
- a control file contains informationAIORM
- control file parallel write等待事件Parallel事件
- 【oracle】ORA-01580 error creating control backup fileOracleError
- Oracle中control_file_record_keep_time和MAXLOGHISTORY引數Oracle
- File類的基本操作
- oracle重建ocrOracle
- oracle重建索引Oracle索引
- Oracle OEM重建Oracle
- 重建oracle EMOracle
- recover database using backup control fileDatabase
- SCRIPT TO GENERATE SQL*LOADER CONTROL FILESQL
- control file parallel write事件小記Parallel事件
- control file sequential read等待事件事件
- Database Clone by rebuilding control file.DatabaseRebuild
- ORACLE重建OEM的步驟Oracle
- Oracle 控制檔案的重建Oracle
- ASM磁碟組修改重建操作ASM
- ORA-00245:control file backup failed;targetis likely on local file systemAI
- ORA-00245: control file backup failed; target is likely on a local file systemAI
- Oracle OCP IZ0-053 Q598(CONTROL_FILE_RECORD_KEEP_TIME)Oracle
- oracle重建索引(一)Oracle索引
- oracle重建索引(三)Oracle索引
- oracle重建索引(二)Oracle索引
- oracle DBA 角色重建Oracle
- ORACLE RAC重建OCROracle
- oracle 重建EM databaseOracleDatabase
- ORACLE控制檔案的重建 (轉)Oracle