重新建立控制檔案,修改MAXDATAFILES引數
一. 概述
本文的環境為:
Linux 5.4 X86
Oracle 10.2.0.1
本文主要介紹如何透過重新建立控制檔案,來完成修改MAXDATAFILES引數的目的.
主要的步驟為:
1.備份控制檔案到trace檔案,找出noresetlog case的內容
2.immediate方式關閉資料庫.
3.資料庫啟動到nomount 狀態,執行重新建立控制的指令碼,控制檔案建立成功後,資料庫自動啟動到mount狀態.
4.開啟資料庫,建立新的temp檔案.
5.重新備份控制檔案到trace,檢查MAXDATAFILES引數是否生效.
[@more@]
二. 具體實施步驟
2.1 備份控制檔案到trace檔案,找出noresetlog case的內容
SQL>alter database backup controlfile to trace ;
在使用者dump檔案目錄中找到剛剛生成的trace檔案,並檢索該檔案,找到noresetlogs 方式的相關語句,如下:
$more aidu_ora_10162.trc
-- 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 "AIDU" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oracle/oradata/aidu/redo01.log' SIZE 16M,
GROUP 2 '/oracle/oradata/aidu/redo02.log' SIZE 16M,
GROUP 3 '/oracle/oradata/aidu/redo03.log' SIZE 16M
-- STANDBY LOGFILE
DATAFILE
'/oradata/aidu/system01.dbf',
'/oradata/aidu/undotbs01.dbf',
'/oradata/aidu/sysaux01.dbf'
CHARACTER SET ZHS16GBK
;
-- 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 '/oracle/product/10.2.0/db_1/dbs/arch1_1_772954438.dbf';
-- 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;
-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMPTS1 ADD TEMPFILE '/oradata/aidu/temp01.dbf'
SIZE 134217728 REUSE AUTOEXTEND OFF;
-- End of tempfile additions.
注意:
因為本次只是修改控制檔案裡面的MAXDATAFILES 引數的值,資料庫的所有資料檔案和redo檔案都儲存完好,重建控制檔案也是在正常關閉資料庫的前提下進行的,所以不需要進行任何形式的資料庫恢復工作;只是需要最後重新建立一下temp表空間檔案(這個在trace檔案中有相關的語句)。
在alter database backup controlfile to trace 產生的trace檔案中,有集中建立控制檔案的方式選擇,我們應該選擇noresetlogs方式,即-- Set #1. NORESETLOGS case
2.2 immediate方式關閉資料庫.
SQL>shutdown immediate
2.3 資料庫啟動到nomount 狀態,執行重新建立控制的指令碼,控制檔案建立成功後,資料庫自動啟動到mount狀態
Sql>STARTUP nomount;
SQL> CREATE CONTROLFILE REUSE DATABASE "AIDU" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 1200
MAXINSTANCES 1
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oracle/oradata/aidu/redo01.log' SIZE 16M,
GROUP 2 '/oracle/oradata/aidu/redo02.log' SIZE 16M,
GROUP 3 '/oracle/oradata/aidu/redo03.log' SIZE 16M
-- STANDBY LOGFILE
DATAFILE
'/oradata/aidu/system01.dbf',
'/oradata/aidu/undotbs01.dbf',
'/oradata/aidu/sysaux01.dbf'
CHARACTER SET ZHS16GBK
;
Control file created.
SQL> select open_mode from v$database;
OPEN_MODE
------------------------------
MOUNTED
SQL> alter database open;
Database altered.
SQL> select name from v$tempfile;
no rows selected
SQL> ALTER TABLESPACE TEMPTS1 ADD TEMPFILE '/oradata/aidu/temp01.dbf'
2 ;
Tablespace altered.
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
/oradata/aidu/temp01.dbf
SQL> alter database backup controlfile to trace;
Database altered.
SQL> exit
$ls -lt
[oracle@ocmdb udump]$ ls -lt
total 644
-rw-r----- 1 oracle oinstall 6840 Jan 19 18:24 aidu_ora_10183.trc
-rw-r----- 1 oracle oinstall 587 Jan 19 18:20 aidu_ora_10162.trc
…...
[oracle@ocmdb udump]$ more aidu_ora_10183.trc
…...
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "AIDU" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 1200
MAXINSTANCES 1
MAXLOGHISTORY 292
LOGFILE
可以看到,引數MAXDATAFILES 已經修改為1200了.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/32980/viewspace-1057174/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 建立新的控制檔案,更改引數
- db_files和控制檔案maxdatafiles
- 控制檔案MAXDATAFILES, MAXLOGFILES, MAXLOGMEMBERS等引數的說明?
- 通過trace檔案重新建立控制檔案
- 透過trace檔案重新建立控制檔案
- 誰控制資料檔案最大數限制是 db_files還是控制檔案中的maxdatafiles??
- Oracle 11g 重新建立控制檔案Oracle
- Oracle RAC修改引數檔案位置Oracle
- ORA-00059錯誤分析以及MAXDATAFILES、DB_FILES引數修改
- oracle控制檔案及引數檔案問題Oracle
- 【轉載】控制檔案中的 MAXDATAFILES 和 DB_FILES 關係
- MAXDATAFILES,DB_FILES及控制檔案的自動擴充套件套件
- 從控制檔案自動備份還原引數檔案
- 建立多路控制檔案
- 手工建立控制檔案
- 當oracle丟失所有控制檔案後可以重新建立控制檔案來恢復資料庫Oracle資料庫
- 修改pfile引數檔案過程的異常
- 修改當前路由地址引數重新重新整理頁面路由
- 修改linux最大檔案控制程式碼數Linux
- 引數檔案控制檔案和資料檔案丟失的恢復
- 開啟 控制檔案自動備份下,引數檔案、控制檔案全部丟失恢復
- oracle 控制檔案及引數檔案何時自動備份Oracle
- 2.4.5 Step 4: 建立初始化引數檔案
- Mysql匯入大表檔案時注意修改引數MySql
- 引數檔案
- 引數檔案/口令檔案
- Oracle引數檔案解析——引數檔案分析獲取Oracle
- 11g從記憶體建立引數檔案記憶體
- Linux下修改檔案建立時間(修改檔案更改時間)Linux
- Oracle引數檔案解析——引數解析Oracle
- Oracle 引數檔案Oracle
- SAP引數檔案
- 多個控制檔案的建立
- 前端打包混編壓縮js程式碼,如何不重新打包,修改js檔案內部配置引數?前端JS
- 修改二進位制引數檔案(SPFILE)的方法之一
- Oracle引數檔案 各引數解釋Oracle
- 資料庫引數檔案控制檔案日誌檔案資料檔案跟蹤檔案等8大檔案的字典資料庫
- 如何建立RAC叢集控制檔案