天天看點

控制檔案管理

一:什麼是控制檔案

控制檔案是一個二進制檔案,記錄資料庫的實體結構,控制檔案包括以下内容

1 資料庫的名字

2 資料檔案和重做日志檔案兩者的名字以及位置

3 資料庫建立的時間戳

4 目前日志的序列号

5 檢查點資訊等

二:控制檔案的備份

1 備份控制檔案到一個二進制檔案

alter database backup controlfile to '/backup/control.bkp';

2 産生能夠重新建立控制檔案的語句

alter database backup controlfile to trace;

三:dropping control files

方法一步驟:

1 更改資料庫初始化參數中control_files 參數去掉不需要的控制檔案。

2 重新啟動資料庫 

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

方法二的步驟:

1 先由spfile 生成pfile,再更改pfile中控制檔案部分

2 停止資料庫

3 以pfile方式啟動資料庫

4 由pfile生成spfile

5 重新啟動資料庫

eg1 以方法一drop 控制檔案control03.ctl

SQL> select open_mode from v$database;

OPEN_MODE

----------

READ WRITE

SQL> show parameter control_files;

NAME                                 TYPE        VALUE

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

control_files                        string      /oracle/CRM2/CRM/control01.ctl

                                                 , /oracle/CRM2/CRM/control02.c

                                                 tl, /oracle/CRM2/CRM/control03

                                                 .ctl

SQL> alter system set control_files='/oracle/CRM2/CRM/control01.ctl','/oracle/CRM2/CRM/control02.ctl' scope=spfile;

System altered.

SQL> startup force open;

ORACLE instance started.

Total System Global Area  322961408 bytes

Fixed Size                  2020480 bytes

Variable Size              96471936 bytes

Database Buffers          218103808 bytes

Redo Buffers                6365184 bytes

Database mounted.

Database opened.

                                                 tl

eg2以方法二drop control03.ctl:

SQL> create pfile from spfile;

File created.

SQL> host;

[oracle@oracle ~]$ cd /oracle/app/db1/dbs/

[oracle@oracle dbs]$ ls

01nkag44_1_1  02norgeq_1_1  04norgo6_1_1  control.sql     hc_zx1.dat  initCRM.ora      initJIUJIANZX.ora  initzx.ora  lkDUMMY      orapwCRM           spfileERP.ora

01nootjp_1_1  03nkagdo_1_1  05npb63q_1_1  hc_CRM.dat      hc_zx2.dat  initdw.ora       init.ora           initZX.ora  lkERP        snapcf_CRM.f       spfilejiujian.ora

01norgeh_1_1  03norgo2_1_1  06npb64k_1_1  hc_ERP.dat      hc_zx.dat   initERP.ora      initzx1.ora        lkCRM       log1CRM.dbf  spfileCRM.ora

02nkag5r_1_1  04nkagdt_1_1  07npb802_1_1  hc_jiujian.dat  hc_ZX.dat   initjiujian.ora  initzx2.ora        lkCRMTEST   log2CRM.dbf  spfileCRM.ora.bak

[oracle@oracle dbs]$ vi initCRM.ora 

*.control_files='/oracle/CRM2/CRM/control01.ctl','/oracle/CRM2/CRM/control02.ctl'

[oracle@oracle dbs]$ grep control_files initCRM.ora 

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup pfile='/oracle/app/db1/dbs/initCRM.ora';  

SQL> create spfile from pfile;

SQL> startup froce open;

SP2-0714: invalid combination of STARTUP options

SQL> 

四:Creating Additional Copies, Renaming, and Relocating Control Files

步驟:1 shutdown the database

             2 使用作業系統指令拷貝已存在的控制檔案到新的位置

             3 更改control_files參數

             4 重新啟動資料庫

eg :建立資料檔案的另一個拷貝control03.ctl

SQL> exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

[oracle@oracle ~]$ cp /oracle/CRM2/CRM/control01.ctl  /oracle/CRM2/CRM/control03.ctl 

[oracle@oracle ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Nov 6 06:44:30 2012

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

Connected to an idle instance.

SQL> startup nomount;

SQL> alter system set control_files='/oracle/CRM2/CRM/control01.ctl','/oracle/CRM2/CRM/control02.ctl','/oracle/CRM2/CRM/control03.ctl' scope=spfile;

五 建立controlfile

本文轉自 zhangxuwl 51CTO部落格,原文連結:http://blog.51cto.com/jiujian/1052675,如需轉載請自行聯系原作者