20170811上課筆記
撤銷管理
什麽是撤銷數據:
1.交易的回退:沒有提交的交易可以rollback
2.交易的恢復:數據庫崩潰時,將磁盤的不正確數據恢復到交易前
3.讀一致性 :被查詢的記錄有事務占用,轉向回滾段找改前鏡像
4.閃回數據 :從回滾段中構造歷史數據
事務與撤銷數據:
redo和undo:
AUM:
3個參數,兩個表空間屬性
undo_management=AUTO 回滾表空間段的段管理模式,管理員只需要備足夠的表空間容量,oracle會自動管理擴展回滾段的數量。只能使用一個UNDO表空間。
undo_tablespace:只有在自動管理模式下才可以使用。指明使用哪個UNDO表空間
undo_retention=900 :
提交之後舊的鏡像保持在回滾段中的時間。
非強制的回退保持時間.(回滾空間不足老的鏡像就會被覆蓋)
autoextend:表空間自動擴展
強制保持:但是對空間要求較大,要慎用。(10g開始支持)
alter tablespace UNDOTABS1 RETENTION GUARANTEE;
select tablespace_name,RETENTION from dba_tablespaces;
UNDO_RETENTION specifies (in seconds) how long already committed undo information is to be retained. The only time you must set this parameter is when:
?The undo tablespace has the AUTOEXTEND option enabled
?You want to set undo retention for LOBs
?You want to guarantee retention
undo advisor:
調度作業
$ ps -ef | grep cjq
SQL> show parameter job_queue_processes
後臺預先設置的自動化管理作業:
自定義作業:
SQL> create table session_history(snap_time timestamp with local time zone, num_session number);
em中創建作業:
使用plsql塊:
declare
session_count number;
begin
select count(*) into session_count from v$session;
insert into session_history values (systimestamp, session_count);
commit;
end;
全球化支持
1database
show paramenter nls
2client
$ vi .bash_profile
#export NLS_LANG=american_america.AL32UTF8
#export NLS_DATE_FORMAT=‘yyyy-mm-dd hh24:mi:ss‘
$ unset NLS_LANG
$ unset NLS_DATE_FORMAT
SQL> select sysdate from dual;
3alter session set nls_date_format=‘dd-mon yyyy‘;//只影響1次回話中設置
4select to_char(sysdate,‘yyyy,month,dd‘);//單次sql影響
1-4影響範圍越來越小,但是優先級別越來越高
20170811上課筆記