在有些情況下,對於表段和索引段可以採用記錄日誌的模式,也可以使用不記錄日誌的模式。如在對錶段、索引段使用資料泵匯入時,可以
使用NOLOGGING模式,而使用DATA GUARD或對可用性較高的情境中需要記錄日誌,甚至使用強制記錄日誌。本文介紹了在表段,索引段使用
LOGGING與NOLOGGING時產生redo的大小以及DIRECT INSERT APPEND 的使用方法。
NOLOGGING跟資料庫的運行模式有關,i和i的預設安裝都是非歸檔模式,並且自動歸檔預設是禁用。在安裝g、g時,可以選擇是否歸
檔。NOLOGGIING將記錄少量日誌資訊到記錄檔。如果資料庫層級或資料表空間層級使用了FORCE LOGGING強制日誌記錄模式,則該選項無效。
一、表段,索引段上使用一般DDL,DML時,LOGGING與NOLOGGING情況
1.查看資料庫的歸檔模式
有關設定日誌歸檔模式的問題,請參考:
Oracle 聯機重做記錄檔(ONLINE LOG FILE)
Oracle 歸檔日誌
sys@ORCL> select log_mode,force_logging from v$database;
LOG_MODE FOR
------------ ---
ARCHIVELOG NO
sys@ORCL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/bk/arch
Oldest online log sequence 50
Next log sequence to archive 51
Current log sequence 51
sys@ORCL> select tablespace_name,logging,force_logging from dba_tablespaces;
TABLESPACE_NAME LOGGING FOR
------------------------------ --------- ---
SYSTEM LOGGING NO
UNDOTBS1 LOGGING NO
SYSAUX LOGGING NO
TEMP NOLOGGING NO
USERS LOGGING NO
PERFSTAT LOGGING NO
scott@ORCL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
2.建立一個查看redo size 的視圖redo_size
CREATE OR REPLACE FORCE VIEW "SYS"."REDO_SIZE"
AS
SELECT a.name,b.value
FROM v$statname a
JOIN v$mystat b
ON a.statistic# = b.statistic#
WHERE a.name = 'redo size';
sys@ORCL> create public synonym redo_size for redo_size;
sys@ORCL> grant select on redo_size to scott;
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/