標籤:des style blog io ar color 使用 sp for
1.查看資料庫執行個體基本資料:
SQL> SELECT DBID,NAME,CREATED,LOG_MODE,OPEN_MODE,FORCE_LOGGING,CURRENT_SCN,FLASHBACK_ON FROM V$DATABASE;DBID NAME CREATED LOG_MODE OPEN_MODE FORCE_LOGGING CURRENT_SCN FLASHBACK_ON---------- --------- ----------- ------------ -------------------- ------------- ----------- ------------------1392118573 ORCL 2014/11/22 ARCHIVELOG READ WRITE NO 1236387 NO
2.控制檔案:
控制檔案是一個二進位檔案。ORACLE資料庫執行個體啟動後(即啟動到NOMOUNT模式),要通過載入控制檔案確定資料檔案、重做記錄檔的路(進入到MOUNT模式),然後才能開啟資料庫(OPEN)。
控制檔案還包括資料庫名稱、資料庫建立資訊、資料表空間資訊、資料檔案狀態、日誌誰的資訊、備份資訊、檢查點資訊等。
SQL> SHOW PARAMETER CONTROL_FILES;NAME TYPE VALUE------------------------------------ ----------- ------------------------------control_files string D:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL, D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTLSQL> SELECT * FROM V$CONTROLFILE;STATUS NAME IS_RECOVERY_DEST_FILE BLOCK_SIZE FILE_SIZE_BLKS------- -------------------------------------------------------------------------------- --------------------- ---------- --------------D:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL NO 16384 594D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL NO 16384 594
3.資料檔案:
SQL> SELECT NAME FROM V$DATAFILE;NAME--------------------------------------------------------------------------------D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBFD:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBFD:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBFD:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBFD:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF
3.1.資料檔案的狀態:
ONLINE,OFFLINE,SYSTEM,RECOVER, 只有SYSTEM資料表空間資料檔案的狀態會顯示為SYSTEM。
SQL> ALTER DATABASE DATAFILE ‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF‘ OFFLINE;Database alteredSQL> ALTER DATABASE DATAFILE ‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF‘ ONLINE;ALTER DATABASE DATAFILE ‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF‘ ONLINEORA-01113: 檔案 4 需要介質恢複ORA-01110: 資料檔案 4: ‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF‘SQL> SELECT STATUS,NAME FROM V$DATAFILE;STATUS NAME------- --------------------------------------------------------------------------------SYSTEM D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBFONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBFONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBFRECOVER D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBFONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBFSQL> conn sys/PASSWD@orcl as sysdba;已串連。SQL> shutdown immediate;資料庫已經關閉。已經卸載資料庫。ORACLE 常式已經關閉。SQL> startup mount;ORACLE 常式已經啟動。Total System Global Area 647204864 bytesFixed Size 2178536 bytesVariable Size 478151192 bytesDatabase Buffers 159383552 bytesRedo Buffers 7491584 bytes資料庫裝載完畢。SQL> recover datafile ‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF‘;完成介質恢複。SQL> alter database open;資料庫已更改。SQL> SELECT STATUS,NAME FROM V$DATAFILE;STATUS NAME------- --------------------------------------------------------------------------------SYSTEM D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBFONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBFONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBFOFLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBFONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBFSQL> ALTER DATABASE DATAFILE ‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF‘ ONLINE;資料庫已更改。SQL> SELECT STATUS,NAME FROM V$DATAFILE;STATUS NAME------- --------------------------------------------------------------------------------SYSTEM D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBFONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBFONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBFONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBFONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF
4、臨時檔案
當ORACLE在執行大規模排序時,如果PGA記憶體中無法存放,就會將資料存放區到暫存資料表空間中作為中轉,當操作執行完後,這部分空間又會隨機的被其它操作臨時使用。
暫存資料表空間必須處於Nologging模式。
暫存資料表空間不能被置為唯讀。
RMAN備份時不會備份暫存資料表空間資料檔案,恢複時也不進行恢複。
查看暫存資料表空間資料檔案資訊:
SQL> SELECT STATUS,ENABLED,BYTES/1024/1024 MB,NAME FROM V$TEMPFILE;STATUS ENABLED MB NAME------- ---------- ---------- --------------------------------------------------------------------------------ONLINE READ WRITE 29 D:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DBF
5、記錄檔
在ORACLE資料庫中,執行資料庫修改操作後,並不是馬上寫入資料檔案,而是首先產生重做資訊,並寫入SGA中的一塊叫做LOG_BUFFER的固定地區,當這個地區中的資料滿足一定的條件後,會有相應的進程
將LOG_BUFFER中的內容寫入到重做記錄檔中。例如:當日誌切換時,相關進程會從重做記錄檔中讀取使用者已提交的資料,並寫入到資料檔案。
重做記錄檔至少兩個,迴圈使用。
5.1查看記錄檔資訊:
SQL> SELECT * FROM V$LOGFILE;GROUP# STATUS TYPE MEMBER IS_RECOVERY_DEST_FILE---------- ------- ------- ------------------------------------------------- ---------------------3 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG NO2 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG NO1 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG NO4 ONLINE D:\TESTADDLOG.LOG NOSQL> SELECT * FROM V$LOG;GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME---------- ---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- ----------- ------------ -----------1 1 14 52428800 512 1 YES INACTIVE 1188864 2014/12/1 2 1208046 2014/12/9 22 1 16 52428800 512 1 YES INACTIVE 1208411 2014/12/9 2 1234202 2014/12/103 1 17 52428800 512 1 NO CURRENT 1234202 2014/12/10 281474976710 4 1 15 8388608 512 1 YES INACTIVE 1208046 2014/12/9 2 1208411 2014/12/9 2
5.2 記錄檔的STATUS:
UNUSED:還未寫入過資料,剛建立的聯機重做記錄檔就是這種狀態。
CURRENT: 當前正在使用。
ACTIVE:表示雖然當前未使用,不過該檔案中內容尚未歸檔,或者檔案中的內容還淌有全部寫入資料檔案中,執行個體恢複時必須藉助該檔案中的內容。
INACTIVE:表示該檔案中的內容已被妥善處理,此時正處於空閑狀態。
CLEARING:表示該記錄檔正在被重建。
CLEARING_CURRENT:表示該記錄檔重建時出現錯誤。
如果使用者在執行某些DDL語句時附加NOLOGING子句或執行DML時指定HINT APPEND方式操作資料,則這種操作不會產生重做日誌記錄。
如果想讓所有操作均記錄重做日誌,可以將資料庫屬性修改為Force Logging.
SQL> SELECT FORCE_LOGGING FROM V$DATABASE;FORCE_LOGGING-------------NO
預設情況下,資料處於NOForce Logging狀態。要修改為Foce Logging模式,執行下列操作:
ALTER DATABASE FORCE LOGGING;ALTER DATABASE NO FORCE LOGGING;--取消該模式。
6.歸檔記錄檔
聯機重做記錄檔儲存了資料庫所做的修改。所謂歸檔就是ORACLE自動將寫滿或被切換的聯機重做記錄檔複製一份到指定的路徑下,並按照相應的規則重新命名。
每個聯機重做記錄檔組中可以有多個成員,但是歸檔時每組僅會產生一個歸檔檔案。
資料庫只有處于歸檔模式才會產生歸檔記錄檔。
查看資料庫是否處理歸檔模式:
SQL> ARCHIVE LOG LIST;資料庫記錄模式 存檔模式自動封存 啟用存檔終點 USE_DB_RECOVERY_FILE_DEST最早的聯機日誌序列 14下一個存檔日誌序列 17當前日誌序列 17SQL> SELECT NAME,LOG_MODE FROM V$DATABASE;NAME LOG_MODE--------- ------------ORCL ARCHIVELOG
如果資料庫處理非歸檔模式,可用如下的語句修改為歸檔模式:
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1=‘LOCATION=E:\ORACLE\ORCL\ARCHIVE‘; --修改路徑檔路徑,將歸檔檔案存放在使用者自己定義的目錄下。也可以不指定路徑,則存放在安裝路徑的預設的路徑下。SHUTDOWN IMMEDIATE;STARTUP MOUNT;ALTER DATABASE ARCHIVELOG;--通過該命令將資料庫置于歸檔。ALTER DATABASE OPEN;
在預設情況下,ORACLE會等第一組聯機重做記錄檔被寫滿後再觸發歸檔操作,DBA也可執行下列命令進行手動歸檔:
ALTER SYSTEM ARCHIVE LOG ALL;
ORACLE實體儲存體結構