10g R2 中控制檔案自動擴充套件 - Expanded controlfile section
從10g的R2版本開始,控制檔案中設定的最大值,不再是資料庫中的限制,當資料庫的實際值超過了控制檔案中的設定,控制檔案中的值會自動擴充套件。
在9i和10.1的時候,Oracle的控制檔案中設定的引數確定了資料庫的一些限制,比如資料庫可以開啟的最大資料檔案數,資料庫使用的最大日誌組個數,每個日誌組最大成員數等等。這個限制是資料庫所能達到的最大值,如果超過了這個限制,則資料庫會報錯:
SQL> select type, record_size, records_total, records_used
2 from v$controlfile_record_section
3 where type = ‘REDO LOG‘;
TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED
- -
REDO LOG 72 5 3
SQL> select group#, thread#, sequence#, bytes
2 from v$log;
GROUP# THREAD# SEQUENCE# BYTES
1 1 41 536870912
2 1 43 536870912
3 1 42 536870912
SQL> select group#, member from v$logfile;
GROUP# MEMBER
1 /data/oradata/bjtest/redo01.log
2 /data/oradata/bjtest/redo02.log
3 /data/oradata/bjtest/redo03.log
SQL> alter database add logfile group 4 ‘/data/oradata/bjtest/redo04.log‘ size 512m;
資料庫已更改。
SQL> alter database add logfile group 5 ‘/data/oradata/bjtest/redo05.log‘ size 512m;
資料庫已更改。
SQL> alter database add logfile group 6 ‘/data/oradata/bjtest/redo06.log‘ size 512m;
alter database add logfile group 6 ‘/data/oradata/bjtest/redo06.log‘ size 512m
*
ERROR 位於第 1 行:
ORA-01185: 日誌檔案組號6無效
SQL> select * from v$version;
BANNER
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
可以看到在9i中,是不能超過控制檔案中設定的最大值的,如果要解決這個問題,唯一的方法就是重建控制檔案。
而在10.2中Oracle做出了改進,當資料庫的相容性初始化引數COMPATIBLE設定為10.2.0.1.0以上時,這個值會隨著實際的使用情況而擴大,而如果COMPATIBLE設定的值是10.1.0.1.0以下時,即使是10.2版本的資料庫,也不會自動擴充套件控制檔案的限制條件:
SQL> select * from v$version;
BANNER
-
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Linux: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
SQL> show parameter compatible
NAME TYPE VALUE
-
compatible string 10.1.0.0.0
這是一個10.2.0.3的資料庫,不過資料庫相容性設定為10.1,下面看看這個資料庫的表現:
SQL> select type, record_size, records_total, records_used
2 from v$controlfile_record_section
3 where type = ‘REDO LOG‘;
TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED
- -
REDO LOG 72 5 3
SQL> select group#, thread#, sequence#, bytes
2 from v$log;
GROUP# THREAD# SEQUENCE# BYTES
1 1 1 104857600
2 1 0 104857600
3 1 0 104857600
SQL> col member format a60
SQL> select group#, member from v$logfile;
GROUP# MEMBER
1 /data/oradata/test102/redo01.log
2 /data/oradata/test102/redo02.log
3 /data/oradata/test102/redo03.log
SQL> alter database add logfile group 4 ‘/data/oradata/test102/redo04.log‘ size 100m;
Database altered.
SQL> alter database add logfile group 5 ‘/data/oradata/test102/redo05.log‘ size 100m;
Database altered.
SQL> alter database add logfile group 6 ‘/data/oradata/test102/redo06.log‘ size 100m;
alter database add logfile group 6 ‘/data/oradata/test102/redo06.log‘ size 100m
*
ERROR at line 1:
ORA-01185: logfile group number 6 is invalid
錯誤資訊和9i中一致,下面將相容性設定改為10.2:
SQL> alter system set compatible = ‘10.2.0.1.0‘ scope = spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 851443712 bytes
Fixed Size 2076496 bytes
Variable Size 226492592 bytes
Database Buffers 616562688 bytes
Redo Buffers 6311936 bytes
Database mounted.
Database opened.
SQL> show parameter compatible
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-631744/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於控制檔案的擴充套件問題 (全面) - Expanded controlfile section套件
- 10gr2自動擴充套件控制檔案中的設定套件
- MAXDATAFILES,DB_FILES及控制檔案的自動擴充套件套件
- 控制檔案(controlfile)中的各個section 代表什麼 ?
- 轉載 控制檔案(controlfile)中的各個section 代表什麼 ?
- springboot擴充套件配置檔案自動載入Spring Boot套件
- SQL Server資料庫檔案不滿足擴充套件條件時不再自動擴充套件SQLServer資料庫套件
- 【實驗】修改資料庫檔案為自動擴充套件以達到表空間自動擴充套件的目的資料庫套件
- oracle 新增儲存自動擴充套件資料檔案流程(auto)Oracle套件
- 表空間自動擴充套件 AUTOALLOCATE 的擴充套件規律套件
- aix擴充套件檔案系統AI套件
- aix 擴充套件檔案系統AI套件
- 擴充套件資料檔案大小套件
- 設定maxsize的自動擴充套件資料檔案在達到maxsize後是否會繼續擴充套件套件
- 自動化擴充套件挑戰:ROI套件
- Linux 檔案系統擴充套件Linux套件
- Oracle 控制檔案(CONTROLFILE)Oracle
- 大檔案表空間受作業系統限制無法自動擴充套件作業系統套件
- hyperf oss/cos 檔案上傳擴充套件套件
- macOS 探尋檔案擴充套件屬性Mac套件
- 回滾段擴充套件資料檔案套件
- python擴充套件檔案import失敗Python套件Import
- 微服務架構:自動擴充套件簡介微服務架構套件
- 「擴充套件推薦」Laravel Auto Routes 自動路由套件Laravel路由
- jQueryautocomplete自擴充套件外掛、自動補全示例jQuery套件
- sqlplus與shell自動提取資料檔案的邏輯卷lv並開啟自動擴充套件SQL套件
- Oracle 控制檔案(CONTROLFILE) -- <2>Oracle
- Oracle 控制檔案(CONTROLFILE)- <1>Oracle
- LVM : 擴充套件檔案系統的容量LVM套件
- oracle 關閉資料檔案的擴充套件Oracle套件
- shell中擴充套件命令套件
- 使用瀏覽器擴充套件篡改網頁中的 JS 檔案瀏覽器套件網頁JS
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- Oracle資料檔案自動擴充套件會充分利用最後剩餘空間Oracle套件
- windows下擴充套件yaf,並生成yaf框架檔案Windows套件框架
- 「擴充套件包推薦」蘑菇丁 SDK—自動簽到套件
- oracle之 利用 controlfile trace檔案重建控制檔案Oracle
- WCF擴充套件:行為擴充套件Behavior Extension套件