1. 程式人生 > >20170811上課筆記

20170811上課筆記

count nls_lang 一致性 plsql create ash 覆蓋 ready 恢復

撤銷管理

什麽是撤銷數據:

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上課筆記