Oracle資料庫表空間READ ONLY、READ WRITE、ONLINE、OFFLINE狀態對應CHECKPOINT的變化
用實驗來說話。
Microsoft Windows [版本 6.1.7601]
版權所有 (c) 2009 Microsoft Corporation。保留所有權利。
C:\Users\LIUBINGLIN>
C:\Users\LIUBINGLIN>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 星期一 12月 10 21:54:36 2012
Copyright (c) 1982, 2011, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for 32-bit Windows: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
SQL> archive log list;
資料庫日誌模式 非存檔模式
自動存檔 禁用
存檔終點 F:\app\oracle\product\11.2.0\dbhome_1\RDBMS
最早的聯機日誌序列 27
當前日誌序列 28
SQL> select file_id,tablespace_name,file_name from dba_data_files;
FILE_ID TABLESPACE_NAME
---------- ------------------------------
FILE_NAME
--------------------------------------------------------------------------------
5 CACHETBLSP
F:\APP\ORACLE\ORADATA\ORCL\DATFTTUSER.DBF
4 USERS
F:\APP\ORACLE\ORADATA\ORCL\USERS.DBF
3 UNDOTBS1
F:\APP\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
FILE_ID TABLESPACE_NAME
---------- ------------------------------
FILE_NAME
--------------------------------------------------------------------------------
2 SYSAUX
F:\APP\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
1 SYSTEM
F:\APP\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
6 TEST
F:\APP\ORACLE\ORADATA\ORCL\TEST02.DBF
FILE_ID TABLESPACE_NAME
---------- ------------------------------
FILE_NAME
--------------------------------------------------------------------------------
7 TEST
F:\APP\ORACLE\ORADATA\ORCL\TEST03.DBF
已選擇7行。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
2018006
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2018006
2018006
2018006
2018006
2018006
2018006
2018006
已選擇7行。
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
CACHETBLSP ONLINE
TEST ONLINE
TEMP01 ONLINE
已選擇8行。
SQL> alter tablespace test read only;
表空間已更改。
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
CACHETBLSP ONLINE
TEST READ ONLY
TEMP01 ONLINE
已選擇8行。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2018006
2018006
2018006
2018006
2018006
2018401
2018401
已選擇7行。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
2018006
SQL> alter system checkpoint;
系統已更改。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
2018420
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2018420
2018420
2018420
2018420
2018420
2018401
2018401
已選擇7行。
SQL> alter tablespace test read write;
表空間已更改。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2018420
2018420
2018420
2018420
2018420
2018438
2018438
已選擇7行。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
2018420
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
CACHETBLSP ONLINE
TEST ONLINE
TEMP01 ONLINE
已選擇8行。
SQL> alter system checkpoint;
系統已更改。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2018472
2018472
2018472
2018472
2018472
2018472
2018472
已選擇7行。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
2018472
SQL> alter tablespace test offline normal;
表空間已更改。
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
CACHETBLSP ONLINE
TEST OFFLINE
TEMP01 ONLINE
已選擇8行。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2018472
2018472
2018472
2018472
2018472
2018491
2018491
已選擇7行。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
2018472
SQL> alter system checkpoint;
系統已更改。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2018513
2018513
2018513
2018513
2018513
2018491
2018491
已選擇7行。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
2018513
SQL> alter tablespace test online;
表空間已更改。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2018513
2018513
2018513
2018513
2018513
2018523
2018523
已選擇7行。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
2018513
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
CACHETBLSP ONLINE
TEST ONLINE
TEMP01 ONLINE
已選擇8行。
SQL> alter tablespace test offline immediate;
alter tablespace test offline immediate
*
第 1 行出現錯誤:
ORA-01145: 除非啟用了介質恢復, 否則不允許立即離線
SQL> alter database datafile 6 offline;
alter database datafile 6 offline
*
第 1 行出現錯誤:
ORA-01145: 除非啟用了介質恢復, 否則不允許立即離線
SQL> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup mount
ORACLE 例程已經啟動。
Total System Global Area 267825152 bytes
Fixed Size 1384044 bytes
Variable Size 96469396 bytes
Database Buffers 163577856 bytes
Redo Buffers 6393856 bytes
資料庫裝載完畢。
SQL> alter database archivelog;
資料庫已更改。
SQL> alter database open;
資料庫已更改。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2018740
2018740
2018740
2018740
2018740
2018740
2018740
已選擇7行。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
2018740
SQL> alter tablespace test offline immediate;
表空間已更改。
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
CACHETBLSP ONLINE
TEST OFFLINE
TEMP01 ONLINE
已選擇8行。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2018740
2018740
2018740
2018740
2018740
2018740
2018740
已選擇7行。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
2018740
SQL> alter tablespace test online;
alter tablespace test online
*
第 1 行出現錯誤:
ORA-01113: 檔案 6 需要介質恢復
ORA-01110: 資料檔案 6: 'F:\APP\ORACLE\ORADATA\ORCL\TEST02.DBF'
SQL> recover datafile 6;
完成介質恢復。
SQL> recover datafile 7;
完成介質恢復。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2018740
2018740
2018740
2018740
2018740
2019053
2019056
已選擇7行。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
2018740
SQL> alter tablespace test online;
表空間已更改。
SQL> alter system checkpoint;
系統已更改。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2019226
2019226
2019226
2019226
2019226
2019226
2019226
已選擇7行。
SQL> alter database datafile 6 offline;
資料庫已更改。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2019226
2019226
2019226
2019226
2019226
2019226
2019226
已選擇7行。
SQL> alter database datafile 6 online;
alter database datafile 6 online
*
第 1 行出現錯誤:
ORA-01113: 檔案 6 需要介質恢復
ORA-01110: 資料檔案 6: 'F:\APP\ORACLE\ORADATA\ORCL\TEST02.D
SQL> recover datafile 6;
完成介質恢復。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2019226
2019226
2019226
2019226
2019226
2019232
2019226
已選擇7行。
SQL> alter database datafile 6 online;
資料庫已更改。
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
2019226
2019226
2019226
2019226
2019226
2019257
2019226
已選擇7行。
從以上的實驗不難看出如下幾點:
1).執行表空間的READ ONLY和OFFLINE [NORMAL]操作,Oracle都會對錶空間對應的資料檔案執行檢查點操作。之後表空間對應的所有資料檔案檢查點SCN都不會發生變化。直到執行表空間的READ WRITE和ONLINE操作又會對錶空間對應的所有資料檔案執行一次檢查點操作。對錶空間的READ WRITE和OFFLINE NORMAL後的ONLINE都不需要介質恢復即可使表空間ONLINE。
2).對錶空間做OFFLINE IMMEDIATE或對資料檔案做OFFLINE操作都需要資料庫在歸檔模式下,原因就在於執行這些操作之後要使得表空間重新ONLINE必須執行介質恢復,如果介質恢復需要的Redo日誌丟失,那麼表空間將無法重新ONLINE。這行表空間的OFFLINE IMMEDIATE和資料檔案的OFFLINE操作,Oracle不會對相應的資料檔案做檢查點操作。但是在recover介質恢復和表空間和資料檔案ONLINE操作都會對相應的資料檔案執行檢查點操作。
3).在對錶空間做READ ONLY操作的時候, 如果有事務在操作表空間中的資料,那麼READ ONLY操作將處於等待狀態,直到所有的事務結束。
4).TABLESPACE OFFLINE TEMPORARY操作也會對錶空間對應的所有資料檔案執行檢查點操作。
5).檢查點可能只發生在單個資料檔案上。對資料庫多個表空間批次READ ONLY操作必定導致資料檔案上的檢查點SCN各不相同:
--end--
相關文章:
《資料檔案、表空間offline用法及區別》:http://space.itpub.net/23135684/viewspace-705015
1).執行表空間的READ ONLY和OFFLINE [NORMAL]操作,Oracle都會對錶空間對應的資料檔案執行檢查點操作。之後表空間對應的所有資料檔案檢查點SCN都不會發生變化。直到執行表空間的READ WRITE和ONLINE操作又會對錶空間對應的所有資料檔案執行一次檢查點操作。對錶空間的READ WRITE和OFFLINE NORMAL後的ONLINE都不需要介質恢復即可使表空間ONLINE。
2).對錶空間做OFFLINE IMMEDIATE或對資料檔案做OFFLINE操作都需要資料庫在歸檔模式下,原因就在於執行這些操作之後要使得表空間重新ONLINE必須執行介質恢復,如果介質恢復需要的Redo日誌丟失,那麼表空間將無法重新ONLINE。這行表空間的OFFLINE IMMEDIATE和資料檔案的OFFLINE操作,Oracle不會對相應的資料檔案做檢查點操作。但是在recover介質恢復和表空間和資料檔案ONLINE操作都會對相應的資料檔案執行檢查點操作。
3).在對錶空間做READ ONLY操作的時候, 如果有事務在操作表空間中的資料,那麼READ ONLY操作將處於等待狀態,直到所有的事務結束。
4).TABLESPACE OFFLINE TEMPORARY操作也會對錶空間對應的所有資料檔案執行檢查點操作。
5).檢查點可能只發生在單個資料檔案上。對資料庫多個表空間批次READ ONLY操作必定導致資料檔案上的檢查點SCN各不相同:
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
4128 Full 4.07G DISK 00:00:00 2012-12-10 13:35:56
BP Key: 4132 Status: AVAILABLE Compressed: YES Tag: TAG20121210T133555
Piece Name: /u01/app/oracle/rman_backup/ORCL_1_4456_ORCL_1257818738.RMAN
List of Datafiles in backup set 4128
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ------------------- ----
1 Full 338405877 2012-12-10 13:35:56 Z:\ORACLE\DATA\ORCL\SYSTEM01.DBF
4 Full 338405877 2012-12-10 13:35:56 Z:\ORACLE\DATA\ORCL\USERS01.DBF
5 Full 337849040 2012-11-28 00:58:41 Z:\ORACLE\DATA\ORCL\APACCT.DBF
9 Full 337849076 2012-11-28 00:58:49 Z:\ORACLE\DATA\ORCL\APECONSTAT.DBF
10 Full 337849085 2012-11-28 00:58:50 Z:\ORACLE\DATA\ORCL\APEQUIPMENT.DBF
12 Full 337849103 2012-11-28 00:58:54 Z:\ORACLE\DATA\ORCL\APINFECT.DBF
18 Full 337849157 2012-11-28 00:59:06 Z:\ORACLE\DATA\ORCL\APMEDADM.DBF
21 Full 337849185 2012-11-28 00:59:11 Z:\ORACLE\DATA\ORCL\APMEDREC.DBF
22 Full 337849194 2012-11-28 00:59:13 Z:\ORACLE\DATA\ORCL\APNURSING.DBF
23 Full 337849203 2012-11-28 00:59:15 Z:\ORACLE\DATA\ORCL\APOA.DBF
25 Full 337849221 2012-11-28 00:59:19 Z:\ORACLE\DATA\ORCL\APOUTPADM.DBF
26 Full 337849232 2012-11-28 00:59:21 Z:\ORACLE\DATA\ORCL\APOUTPBILL.DBF
29 Full 337849269 2012-11-28 00:59:27 Z:\ORACLE\DATA\ORCL\APPHARMACY.DBF
31 Full 337849287 2012-11-28 00:59:30 Z:\ORACLE\DATA\ORCL\APSURGERY.DBF
32 Full 337849296 2012-11-28 00:59:32 Z:\ORACLE\DATA\ORCL\APAPPM.DBF
33 Full 337849305 2012-11-28 00:59:34 Z:\ORACLE\DATA\ORCL\APCLINICGUIDE.DBF
34 Full 337849314 2012-11-28 00:59:36 Z:\ORACLE\DATA\ORCL\APINQUIRE.DBF
36 Full 337849332 2012-11-28 00:59:41 Z:\ORACLE\DATA\ORCL\APPEPIC.DBF
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
4129 Full 3.45G DISK 00:00:00 2012-12-10 13:35:56
BP Key: 4133 Status: AVAILABLE Compressed: YES Tag: TAG20121210T133555
Piece Name: /u01/app/oracle/rman_backup/ORCL_1_4457_ORCL_1257818738.RMAN
List of Datafiles in backup set 4129
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ------------------- ----
2 Full 338405878 2012-12-10 13:35:56 Z:\ORACLE\DATA\ORCL\SYSAUX01.DBF
3 Full 338405878 2012-12-10 13:35:56 Z:\ORACLE\DATA\ORCL\UNDOTBS01.DBF
6 Full 337849049 2012-11-28 00:58:43 Z:\ORACLE\DATA\ORCL\APBLDBANK.DBF
7 Full 337849058 2012-11-28 00:58:45 Z:\ORACLE\DATA\ORCL\APCOMM.DBF
8 Full 337849067 2012-11-28 00:58:47 Z:\ORACLE\DATA\ORCL\APCPR.DBF
11 Full 337849094 2012-11-28 00:58:52 Z:\ORACLE\DATA\ORCL\APEXAM.DBF
13 Full 337849112 2012-11-28 00:58:56 Z:\ORACLE\DATA\ORCL\APINPADM.DBF
14 Full 337849121 2012-11-28 00:58:58 Z:\ORACLE\DATA\ORCL\APINPBILL.DBF
15 Full 337849130 2012-11-28 00:59:00 Z:\ORACLE\DATA\ORCL\APINSURANCE.DBF
16 Full 337849139 2012-11-28 00:59:02 Z:\ORACLE\DATA\ORCL\APLAB.DBF
17 Full 337849148 2012-11-28 00:59:04 Z:\ORACLE\DATA\ORCL\APLIS.DBF
19 Full 337849167 2012-11-28 00:59:07 Z:\ORACLE\DATA\ORCL\APMEDICOM_DIF.DBF
20 Full 337849176 2012-11-28 00:59:09 Z:\ORACLE\DATA\ORCL\APMEDICOM_SAVE.DBF
24 Full 337849212 2012-11-28 00:59:17 Z:\ORACLE\DATA\ORCL\APORDADM.DBF
27 Full 337849251 2012-11-28 00:59:23 Z:\ORACLE\DATA\ORCL\APPACS.DBF
28 Full 337849260 2012-11-28 00:59:25 Z:\ORACLE\DATA\ORCL\APPE.DBF
30 Full 337849278 2012-11-28 00:59:28 Z:\ORACLE\DATA\ORCL\APPICTURE.DBF
35 Full 337849323 2012-11-28 00:59:38 Z:\ORACLE\DATA\ORCL\APMOTES.DBF
--end--
相關文章:
《資料檔案、表空間offline用法及區別》:http://space.itpub.net/23135684/viewspace-705015
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23135684/viewspace-750867/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 表空間的狀態(二) - read/write
- 表空間read only和online的狀態轉換
- oracle 表空間和表 read only遷移後不再read onlyOracle
- 含read only表空間的資料庫的控制檔案重建資料庫
- Seed Database (pdb$seed) - Read Write OR Read Only Mode in Oracle Database 12cDatabaseOracle
- 當存在read only或者offline表空間時,重建控制檔案時要注意!
- 啟動dataguard備庫到read-only狀態
- 關於tablespace在read only狀態下的DML ,DDL操作--Read-Only Tablespaces
- 當從READ ONLY到READ WRITE都做什麼了
- Data Guard物理備庫read/write後,切換回備庫狀態
- 表空間與資料檔案的offline和online操作
- 如何不使用 trn log 將read only (且能使用trn 恢復)的庫設定為read/write
- HDFS read and write
- 重建控制檔案與 datafile offline,tablespace read only
- online/offline 表空間和資料檔案需謹慎!
- Innodb Read Only Mode
- write&read&open
- Oracle 11g 新特性:只讀表(Read-only)Oracle
- Oracle Isolation Levels : Read-only (317)Oracle
- 改變資料庫undo表空間資料庫
- oracle清除資料庫表空間Oracle資料庫
- 事務的read only mode
- 對oracle資料表空間的計算Oracle
- read only tablespace backup restoreREST
- nodejs read/write fileNodeJS
- 歸檔模式下online已被offline的表空間模式
- No read or write permission to ORACLE_HOME/.patch_storageOracle
- 重建控制檔案之後,只讀表空間的狀態變化
- direct path read/write等待的分析
- SRAM的Write Assist與Read Assist
- 表空間OFFLINE和資料檔案OFFLINE的區別
- 表空間offline,資料檔案offline 的區別(ZT)
- Backup And Recovery User's Guide-對於多個聯機read/write表空間進行使用者管理的備份GUIIDE
- open physical standby 為read write
- Oracle常見等待事件之direct path read/writeOracle事件
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- oracle的空間資料庫:Oracle資料庫
- ORACLE CRS 狀態 UNKNOWN 變為offlineOracle