根据trace获得创建控制文件的脚本并重建控制文件

1、 # alter database backup controlfile to trace

2、 根据日志文件可查找trace文件,日志文件如下:

Sat May 29 23:14:06 2010

alter database backup controlfile to trace

Backup controlfile written to trace file /u01/diag/rdbms/orcl/dave/trace/dave_ora_10927.trc

Completed: alter database backup controlfile to trace

3、 trace文件内容如下:

Trace file /u01/diag/rdbms/orcl/dave/trace/dave_ora_10927.trc

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

ORACLE_HOME = /u01/oracle

System name: Linux

Node name: mylinux

Release: 2.6.9-89.EL

Version: #1 Mon Jun 22 12:19:40 EDT 2009

Machine: i686

Instance name: dave

Redo thread mounted by this instance: 1

Oracle process number: 32

Unix process pid: 10927, image: oracle@mylinux (TNS V1-V3)

*** 2010-05-29 23:14:06.736

*** SESSION ID:(183.30) 2010-05-29 23:14:06.736

*** CLIENT ID:() 2010-05-29 23:14:06.736

*** SERVICE NAME:(SYS$USERS) 2010-05-29 23:14:06.736

*** MODULE NAME:(sqlplus@mylinux (TNS V1-V3)) 2010-05-29 23:14:06.736

*** ACTION NAME:() 2010-05-29 23:14:06.736

-- The following are current System-scope REDO Log Archival related

-- parameters and can be included in the database initialization file.

--

-- LOG_ARCHIVE_DEST=''

-- LOG_ARCHIVE_DUPLEX_DEST=''

--

-- LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf

--

-- DB_UNIQUE_NAME="orcl"

--

-- LOG_ARCHIVE_CONFIG='SEND, RECEIVE, NODG_CONFIG'

-- LOG_ARCHIVE_MAX_PROCESSES=3

-- STANDBY_FILE_MANAGEMENT=MANUAL

-- STANDBY_ARCHIVE_DEST=?/dbs/arch

-- FAL_CLIENT=''

-- FAL_SERVER=''

--

-- LOG_ARCHIVE_DEST_1='LOCATION=/u01/archivelog'

-- LOG_ARCHIVE_DEST_1='OPTIONAL REOPEN=300 NODELAY'

-- LOG_ARCHIVE_DEST_1='ARCH NOAFFIRM NOEXPEDITE NOVERIFY SYNC'

-- LOG_ARCHIVE_DEST_1='REGISTER NOALTERNATE NODEPENDENCY'

-- LOG_ARCHIVE_DEST_1='NOMAX_FAILURE NOQUOTA_SIZE NOQUOTA_USED NODB_UNIQUE_NAME'

-- LOG_ARCHIVE_DEST_1='VALID_FOR=(PRIMARY_ROLE,ONLINE_LOGFILES)'

-- LOG_ARCHIVE_DEST_STATE_1=ENABLE

--

-- Below are two sets of SQL statements, each of which creates a new

-- control file and uses it to open the database. The first set opens

-- the database with the NORESETLOGS option and should be used only if

-- the current versions of all online logs are available. The second

-- set opens the database with the RESETLOGS option and should be used

-- if online logs are unavailable.

-- The appropriate set of statements can be copied from the trace into

-- a script file, edited as necessary, and executed when there is a

-- need to re-create the control file.

--

-- Set #1. NORESETLOGS case

--

-- The following commands will create a new control file and use it

-- to open the database.

-- Data used by Recovery Manager will be lost.

-- Additional logs may be required for media recovery of offline

-- Use this only if the current versions of all online logs are

-- available.

-- After mounting the created controlfile, the following SQL

-- statement will place the database in the appropriate

-- protection mode:

-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 '/u01/oradata/orcl/redo01.log' SIZE 50M,

GROUP 2 '/u01/oradata/orcl/redo02.log' SIZE 50M,

GROUP 3 '/u01/oradata/orcl/redo03.dbf' SIZE 100M,

GROUP 4 (

'/u01/oradata/orcl/redo04.log',

'/u01/oradata/orcl/redo04a.log'

) SIZE 30M

-- STANDBY LOGFILE

DATAFILE

'/u01/oradata/orcl/system01.dbf',

'/u01/oradata/orcl/sysaux01.dbf',

'/u01/oradata/orcl/undotbs01.dbf',

'/u01/oradata/orcl/users01.dbf',

'/u01/oradata/orcl/eshoes.dbf',

'/u01/oradata/orcl/esh1.dbf'

CHARACTER SET WE8MSWIN1252

;

-- Take files offline to match current control file.

ALTER DATABASE DATAFILE '/u01/oradata/orcl/eshoes.dbf' OFFLINE;

ALTER DATABASE DATAFILE '/u01/oradata/orcl/esh1.dbf' OFFLINE;

-- Configure RMAN configuration record 1

VARIABLE RECNO NUMBER;

EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE','DISK TO 1');

*** 2010-05-29 23:14:06.827

-- Commands to re-create incarnation table

-- Below log names MUST be changed to existing filenames on

-- disk. Any one log file from each branch can be used to

-- re-create incarnation records.

-- ALTER DATABASE REGISTER LOGFILE '/u01/archivelog/1_1_629600782.dbf';

-- ALTER DATABASE REGISTER LOGFILE '/u01/archivelog/1_1_711827428.dbf';

-- ALTER DATABASE REGISTER LOGFILE '/u01/archivelog/1_1_716966985.dbf';

-- Recovery is required if any of the datafiles are restored backups,

-- or if the last shutdown was not normal or immediate.

RECOVER DATABASE

-- All logs need archiving and a log switch is needed.

ALTER SYSTEM ARCHIVE LOG ALL;

-- Database can now be opened normally.

ALTER DATABASE OPEN;

-- Commands to add tempfiles to temporary tablespaces.

-- Online tempfiles have complete space information.

-- Other tempfiles may require adjustment.

ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/oradata/orcl/temp01.dbf'

SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;

ALTER TABLESPACE MYTEMP ADD TEMPFILE '/u01/oradata/orcl/mytemp01.dbf'

SIZE 104857600 REUSE AUTOEXTEND OFF;

-- End of tempfile additions.

--

-- Set #2. RESETLOGS case

--

-- The following commands will create a new control file and use it

-- to open the database.

-- Data used by Recovery Manager will be lost.

-- The contents of online logs will be lost and all backups will

-- be invalidated. Use this only if online logs are damaged.

-- After mounting the created controlfile, the following SQL

-- statement will place the database in the appropriate

-- protection mode:

-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS ARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 '/u01/oradata/orcl/redo01.log' SIZE 50M,

GROUP 2 '/u01/oradata/orcl/redo02.log' SIZE 50M,

GROUP 3 '/u01/oradata/orcl/redo03.dbf' SIZE 100M,

GROUP 4 (

'/u01/oradata/orcl/redo04.log',

'/u01/oradata/orcl/redo04a.log'

) SIZE 30M

-- STANDBY LOGFILE

DATAFILE

'/u01/oradata/orcl/system01.dbf',

'/u01/oradata/orcl/sysaux01.dbf',

'/u01/oradata/orcl/undotbs01.dbf',

'/u01/oradata/orcl/users01.dbf',

'/u01/oradata/orcl/eshoes.dbf',

'/u01/oradata/orcl/esh1.dbf'

CHARACTER SET WE8MSWIN1252

;

-- Configure RMAN configuration record 1

VARIABLE RECNO NUMBER;

EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE','DISK TO 1');

-- Commands to re-create incarnation table

-- Below log names MUST be changed to existing filenames on

-- disk. Any one log file from each branch can be used to

-- re-create incarnation records.

-- ALTER DATABASE REGISTER LOGFILE '/u01/archivelog/1_1_629600782.dbf';

-- ALTER DATABASE REGISTER LOGFILE '/u01/archivelog/1_1_711827428.dbf';

-- ALTER DATABASE REGISTER LOGFILE '/u01/archivelog/1_1_716966985.dbf';

-- Recovery is required if any of the datafiles are restored backups,

-- or if the last shutdown was not normal or immediate.

RECOVER DATABASE USING BACKUP CONTROLFILE

-- Database can now be opened zeroing the online logs.

ALTER DATABASE OPEN RESETLOGS;

-- Commands to add tempfiles to temporary tablespaces.

-- Online tempfiles have complete space information.

-- Other tempfiles may require adjustment.

ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/oradata/orcl/temp01.dbf'

SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;

ALTER TABLESPACE MYTEMP ADD TEMPFILE '/u01/oradata/orcl/mytemp01.dbf'

SIZE 104857600 REUSE AUTOEXTEND OFF;

-- End of tempfile additions.

--

4、由trace可得到创建控制文件的脚本

[oracle@mylinux u01]$ vi create_controlfile.sql

-- Commands to re-create incarnation table

CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS ARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 '/u01/oradata/orcl/redo01.log' SIZE 50M,

GROUP 2 '/u01/oradata/orcl/redo02.log' SIZE 50M,

GROUP 3 '/u01/oradata/orcl/redo03.dbf' SIZE 100M,

GROUP 4 (

'/u01/oradata/orcl/redo04.log',

'/u01/oradata/orcl/redo04a.log'

) SIZE 30M

-- STANDBY LOGFILE

DATAFILE

'/u01/oradata/orcl/system01.dbf',

'/u01/oradata/orcl/sysaux01.dbf',

'/u01/oradata/orcl/undotbs01.dbf',

'/u01/oradata/orcl/users01.dbf',

'/u01/oradata/orcl/eshoes.dbf',

'/u01/oradata/orcl/esh1.dbf'

"create_controlfile.sql" [New] 32L, 1145C written

5、运行脚本,即可重建控制文件

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23861776/viewspace-1034306/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23861776/viewspace-1034306/

你可能感兴趣的:(数据库,操作系统)