寫在前面的話,今天通過了1z0-052j。我把準備考試之前做的8篇筆記綜合整理到一起,以方便準備考1z0-052j的人。
下面的筆記是我在學習日文教材(10g)時,為了方便自己記憶和理解而作的。由于主要是為了我自己學習,所以里面有
很多我已經知道的知識點,只是粗略的寫了一個綱要,還有就是日文里面有比較多的片假名,開始學習的時候 我還不知道對應的
中文是什么意思,所以可能記得莫名其妙。當然其中還有有不少錯誤疏漏。不過總體感覺對我自己幫助比較大,當時我不能理解的
東西就找答案轉過來的幾篇文章幫助我自己理解了當時沒有搞清楚的問題。如果能對大家有一點幫助的話,我將不勝榮幸。不過我的建議是:
準備考試的tx對照自己手上的教材從頭到尾梳理一遍,認真的做好自己的筆記,然后不懂的地方,再自己去尋找答案。
畢竟我的筆記的重點是我不理解和認為比較重要的地方。
最后祝大家好運!
1.session里使role有效無效
set role r1 enable/disable;
2.SYSTEM,UNDO表領域的數據文件破損,損失的情況下,在數據庫進入Mount的狀態下恢復,
3.可以對表指定一下權限
ALTER/DELETE/DEBUG/FLASHBACK/INDEX/INSERT/REFERENCES/SELECT/UPDATE
EXCEUTE指定為 過程,函數,包,庫
READ/WRITE指定為 目錄的權限
4. RETENTION GUARANTEE
事物commit后再undo_retention時間內,事物所使用的undo不能被重用
5.使用SPFILEで管理數據庫的時候,控制文件ALTER SYSTEM,scope要指定為spfile,重啟
后有效。控制文件可以為1-8個
6.REDO Log組和REDO Log成員情報取得、V$LOG
?REDO Log文件和狀態的取得、V$LOGFILE
?achived log file名稱和狀態的取得、V$ARCHIVED_LOG
7.Data Pump Export
?DUMPFILE句..導出文件名(默認為expdat.dmp)
?LOGFILE句...log文件指定(默認為、export.log)
?CONTENT句...導出對象指定(ALL/DATA_ONLY/METADATA_ONLY)
?PARALLEL句..并行數(默認為、1)
?PARFILE句...參數文件
8.默認的約束檢查
初期即時(initially immediate).各DML終了
即時制約(not deferrable).......制約不延遲
第一章 Oracle10g安裝
1.最小系統要求
RAM:512M Swap:1G /tmp: 400M
Oracle安裝硬盤: 1.5G 事前定義:1.5G
2. 取消安裝前系統檢測
runInstaller -igonerSysPreqs
3.OFA(Optimail Flexible Architecture)使用目的
為了避免效率低下
備份簡單化
多個oracle數據間切換簡單
數據庫擴張
碎片和資源整合最小化
4.環境變量
ORACLE_BASE: OFA用的根目錄
ORACLE_HOME:Oracle軟件目錄
ORACLE_SID:Oracle實例名
NLS_LANG:語言,地區設定
5.數據庫預安裝4個用戶:
SYS,SYSTEM,SYSMAN,DBSNMP
第二章 Oracle數據庫作成
1.數據庫組成
控制文件
數據文件
REDO日志文件
初始化文件
密碼文件:SYS的密碼管理文件。從遠端使用數據庫時
archived REDO日志文件
2.控制文件:記錄數據庫和REDO日志文件的位置和名稱,記錄在初始化參數文件的CONTROL_FILES參數。
3.REDO日志文件:
4.表領域和數據文件
5.SMILLFILE表領域可以包含多個數據文件,非常大(40億塊)的單一數據文件BIGFILE表領域可以作成。
6.實例:SGA和后臺進程
7.SGA
DBCache
REDO日志文件
共有Pool
large Pool
JAVA Pool
Stream Pool
8.后臺進程
SMON
PMON
DBWn
LGWR
CKPT
ARCn:REDO日志慢了以后LogSwitch ,REDO日志文件拷貝到archive領域。
9.數據庫啟動
startup [pfile=PFILE名][nomount | mount | open]
如果pfile省略,這從下面開始讀取初始化參數:
spfileSID.ora
spfile.ora
initSID.ora
默認是 startup 不帶參數的話,按open
各狀態下加載的文件和可以進行的操作:
NOMOUNT:讀初期化參數,SGA,后臺進程啟動,log文件和trace文件打開。可以做成數據庫和再作成控制文件
MOUNT:讀控制文件。可以進行的操作,文件名變更,在線REDO日志的archived的有效/無效化設定,數據庫的整體回復
OPEN:SMON執行
10.Alert日志文件
alert日志文件,BACKGROUND_DUMP_DUST初期化參數的目錄,alert_SID.log文件
內部錯誤(ORA-600),塊破損錯誤(ORA-1578),死鎖錯誤(ORA-60)
DDL
數據庫啟動/停止
數據庫recover操作
共有服務器的,dipatched進程的消息和錯誤
11.數據庫停止
shutdown [normal | transactional | immediate | abort]
第五章 網絡環境構成
1.靜態服務登錄:listener.ora
2.動態服務登錄:ORACLE服務器LOCAL_LISTENER指定的監聽器,INSTANCE_NAME和SERVICE_NAME初始化參數指定的值登錄。
3.命名方式的使用:sqlnet.ora文件的NAMES.DIRECTORY_PATH參數指定
4.默認的域名:sqlnet.ora文件的NAMES.DEFAULT_DOMAIN參數指定
5.接線時的FAIL OVER
load balance
fail over
6.TNSPing 服務名 [回數]
第六章 共有服務器構成
1.SGA,PGA,UGA(cursor領域,session領域)
2.UGA領域,如果是在專用服務器模式下 從PGA里得到,如果是共有則從SGA中得到
3.共有服務器初始化參數
DISPATCHERS:dispatch數
MAX_DISPATCHERS:最大dispatch數
SHARED_SERVERS:共有服務器數
MAX_SHARED_SERVERS:最大共有服務器數
LOCAL_LISTENER:
4.共有服務器確認:
lsnrctl services
5.共有服務器接線確認:
V$SESSION視圖專用[DEDICATED]共有是[NONE]或者[SHARED]
V$CIRCUIT視圖只顯示共有服務器接線相關的情報
6.共有服務器的監視視圖
v$session
v$circuit
v$shared_server
v$shared_server_monitor
v$dispatcher
v$QUEUE
第七章 用戶管理
1.創建用戶
CREATE USER 用戶名
IDENTIFIED {BY 用戶名 | EXTERNALLY | GLOBALLY AS '外部名'}
[PASSWORD EXPIRE]
[DEFAULT TABLESPACE 表領域名]
[TEMPORARY TABLESPACE 臨時表名]
[QUOTA {大小 | UNLIMITED} ON 表領域名]
[ACCOUNT {LOCK | UNLOCK}]
[PROFILE profile名]
1)認證方式
密碼認證
EXTERNALLY(OS 認證)
用戶名 OS_AUTHENT_PREFIX初始化參數指定前綴,比如 OS_AUTHENT_PREFIX=OPS$,創建用戶
create user ops$oracle ideneified EXTERNALLy;
3)GLOBALLY
Oracle Advanced Security可選認證方式,指紋認證,X.509證明書...
如果沒有指定表領域,則使用默認的表領域。
臨時表領域:用于SQL相關的ORDER BY和GROUP BY指定,內部sort用。
數據庫表級別定義內容,可以從 DATABASE_PROPERTIES數據字典視圖檢索。
PROFILE
數據庫使用率
對于實例的使用限制
密碼管理
參數 說明
SESSIONS_PER_USER 用戶使用同時session數
CPU_PER_SESSION 1個session的CPU時間
CPU_PER_CALL 1個call的CPU時間
CONNECT_TIME 每session的連接時間
IDLE_TIME session連接最長閑置時間
LOGICAL_READS_PER_SECOND
LOGICAL_READS_PER_CALL
PRIVATE_SGA
COMPOSITE_LIMIT
2.權限
系統權限
GRANT 系統權限 TO 用戶名 | PUBLIC [,] [WITH ADMIN OPTION];
UNLIMITED TABLESPACE 用戶可以使用所有的表領域 包括SYSTEM和SYSAUX。
2)對象權限
GRANT 對象權限名 | ALL ON 對象名 TO 用戶名 | [WITH GRANT OPTION];
3.角色 ROLE
事前定義的角色中,可以訪問數據字典視圖的 SELECT_CATALOG_ROLE,包含了 SELECT ANY DICTIONARY的系統權限
4. 角色作成
CREATE ROLE角色名
IDENTIFIED {BY 用戶名 | EXTERNALLY | GLOBALLY AS '外部名'}
5. 默認角色的定義 設置用戶的默認角色
ALTER USER 用戶名 DEFAULT ROLE 角色名
6.激活角色
SET ROLE 角色名 IDENTIFIED BU 密碼
7.應用角色,只適用于特定的PL/SQL
CREATE ROLE 角色名 IDENTIFIED USING 存儲過程名
第八章 數據庫的安全
數據庫安全
1.權限最小化原則實踐
默認用戶帳號管理
管理權限的限制
權限(系統權限和對象權限)的賦予權限
DROP ANY TABLE權限以及其他的管理員權限
DBA權限
SYSDBA,SYSOPER權限
具有DBA權限的用戶
SQL> select grantee from dba_role_privs where granted_role='DBA';
具有SYSDBA,SYSOPER權限的用戶
SQL>select * from v$pwfile_users;
2.數據字典的保護
07_DICTIONARY_ACCESSIBILITY=FALSE
使用GRANT命令,只賦予必須的用戶具有訪問數據字典的權限
SELECT ANY DICTIONARY系統權限,可以訪問所有的數據字典
3.PUBLIC 用戶的權限
UTL_SMTP :使用數據庫SMTP郵件服務器,可以發送任意信件
UTL_TCP:
UTL_HTTP:
UTL_FILE:
DBMS_OBFUSCATION_TOOLKIT: 數據加密
4.OS目錄訪問的權限
使用UTL_FILE_DIR初始化參數,PL/SQL對于操作系統目錄能進行設定。默認,能夠訪問目錄。
5.操作系統認證的無效化
REMOTE_OS_AUTHENT=FALSE
6.標準密碼安全技能的實現
FAILED_LOGIN_ATTEMPTS: 最多登錄失敗次數
PASSWORD_LOCK_TIME:超過失敗次數后,賬戶鎖定的天數(日)
PASSWORD_LIFE_TIME:密碼的有效期間
PASSWORD_GRACE_TIME:密碼變更的期間
PASSWORD_REUSE_TIME:密碼可再使用的天數(日)
PASSWORD_REUSE_MAX:最多可重用的回數
PASSWORD_VERIFY_FUNCTION:密碼復雜性評價的PL/SQL函數。$ORACLE_HOME/rdbms/admin/utlpwdmg.sql腳本來作成
7.數據庫活動的審查
8.數據庫審查
初始化參數 AUDIT_TRAIL:審查結果的保存的位置
NONE: 審查無效
DB: 審查結果保存到數據庫
OS: 審查結果保存到系統文件上
AUDIT_FILE_DEST:目錄指定
審查: SQL審查,系統權限,對象權限,session審查。
首先,SQL審查,CREATE TABLE,DROP TABLE,TRUNCATE TABLE。
SESSION審查:用戶名成功,失敗,連接到實例。保存
連接的時刻
切斷的時刻
處理理論 I/O
處理的物理I/O
審查option的表示
ALL_DEF_AUDIT_OPTS:默認審查
DBA_STMT_AUDIT_OPTS:sql審查
DBA_PRIV_AUDIT_OPTS:權限審查
DBA_OBJ_AUDIT_OPTS:schema對象權限審查
-: 不審查
S: session別的審查
A:Access類的審查
9.審查結果的表示
DBA_AUDIT_TRAIL:所有審查實體的確認
DBA_AUDIT_EXISTS:AUDIT EXISTS/AUDIT NOEXISTS記錄的確認
DBA_AUDIT_OBJECT:對象相關的確認
DBA_AUDIT_SESSION:Session相關記錄的確認
DBA_AUDIT_STATEMENT:SQL相關的確認
10.基于值的審查:使用trig
11.FGA
DBMS_FGA審查策略
FGA策略:DBMS_FGA.ADD_POLICY
DBMS_FGA.ENABLE_POLICY,DBMS_FGA.DISABLE_POLICY
已經存在的策略再追加,就會發生錯誤
SQL審查
所有的SQL審查,使用NULL條件
審查條件沒有效的情況下,訪問審查對象會發生錯誤
事件處理不存在的情況下,只做成記錄
FGA審查實體
DBA_FGA_AUDIT_TRAIL:所有FGA事件確認
ALL_AUDIT_POLICIES:現在用戶能夠訪問的所有FGA策略
DBA_AUDIT_POLICIES:數據庫內的所有FGA策略
USER_AUDIT_POLICIES:用戶對象的所有FGA策略
AUDIT_SYS_OPERATIONS
第九章 SCHEMA對象管理
1.同一SHCEMA內不能同名
表
視圖
順序
private別名
存儲過程
存儲函數
包
用戶定義類型
做成主鍵時,默認生成和主鍵同名的索引。
2.PL/SQL
build-in Package
DBMS_STATS: 優化統計的收集,表示和變更
DBMS_TTS:transport表領域的檢查
DBMS_WORKLOAD_REPOSITORY:ADDM的
DBMS_SESSION:使用PL/SQL來只能夠ALTER SESSION或者SET
DBMS_RESOURCE_MANAGER:資源的管理
3.PL/SQL性能控制的初始化函數
PLSQL_CODE_TYPE:是編譯好的二進制文件還是原始文件
PLSQL_DEBUG:是否可以調試,默認是否
PLSQL_OPTIMIZE_LEVEL:[1]編譯優化,代碼量大 [2]運行時優化,代碼量小 默認為2
PLSQL_WARNINGS:有兩個參數 第一個是是否產生警告,第二個是警告的范圍
ALL:所有
SERVER:重大
INFORMATIONAL:情報
PERFORMANCE:performance
第十章 數據管理
1.Data Dump
導出的單位
數據庫:但是不包含SYS,ORDSYS,ORDPLUGINS,CTXSYS,MDSYS,LABCSYS和XDB等系統shecma
schema:
表:特定的表,區域以及關聯的對想導出。
數據庫,自己以外的schema以及表導出,需要具有EXP_FULL_DATABASE角色。
2. SQL*Loader:外部文件數據,導入數據庫表中。
數據文件: 固定記錄形式,可變記錄形式,Stream記錄形式
控制文件:數據檢索位置,數據的解釋方法,數據的插入位置,導入必須的信息保存文件
日志文件:導入件數以及導入過程中發生錯誤的記錄文件
不良文件:因為錯誤而沒有被導入數據庫的數據記錄
廢棄文件:錯位以外的原因而沒有被導入的記錄保存文件
3.Stream形式的情況
INFILE ‘數據文件名’ ["str {char文字列 | 16進文字}"]
4.命令行sqlldr key=只
userid:Oracle的用戶名,密碼
control:控制文件名
log:日志文件名
bad:不良文件名
data:數據文件名
discard:廢棄文件名
discardmax:最大允許的廢棄文件書
skip:skip的理論數據數
load:導入的理論數據數
errors:允許的最大錯誤數
rows:
bindsize:
silent:執行中不顯示信息
direct:directpath是喲個
parfile:參數文件
parallel:并行處理(默認false)
file:擴展文件
4.導入的方法
從來型:就是按照正常的SQL INSERT 然后提交
直接:通過全數據庫塊上寫入數據庫,在最高水位開始寫入數據,事務并沒有結束,索引也沒有更新。
區別
從來型:常常是生成REDO實體,所有的制約施行,Insert trig啟動,可以導入到clust表,別的用戶表更新可以
直接:NOARCHIVELOG 模式下不生成REDO實體,只有NOT NULL,UNIQUE,主鍵實行,insert trig不執行,不能操作別的用戶的表
第11章 記憶域構造
1.理論構造
表領域:1個數據庫可以包含多個表領域,可以作為備份的管理單位
segment
extend
data block:DB_BLOCK_SIZE初始化參數設定,可以為2,4,8,16,32kb
2.LOCAL 管理表領域的優點
不是再歸的管理操作
因為不用操作數據字典,可以不用同其他操作來競爭資源
不用進行空的extend的碎片整理
不用設定extend和segment的大小
segment map的變更不用生成UNDO數據
3.LOCAL管理表領域的extend分割方法
自動(AUTOALLOCATE):ORACLE服務器自動管理extend的大小,用戶不需要進行設定
均一(UNIFORM) :表領域的extend大小,用戶指定的大小統一使用,默認是1MB。TEMP表領域通常是,均已,UNDO則不是均一
4. 自動segment領域管理,下面segment屬性自動調整,行的插入可能的數據塊的管理功能
PCTUSED
FREELISTS
FREELISTS GROUP
自動segment管理機能,在表領域上進行指定。
5.表領域的類型
PARMANENT(永續)
UNDO
TEMPORARY(臨時)
6.表領域的作成
CREATE [SMALLFILE | BIGFILE] TABLESPACE 表領域名
DATAFILE '數據文件名' SIZE {大小{k | M} | REUSE}
[AUTOEXTEND {OFF | ON} [NEXT 大小{K | M}]]
[MAXSIZE {UNLIMITED | 大小{K | M}}]
[,'數據文件名' SIZE {大小{k | M} | REUSE}...]
[BLOCKSIZE 大小[K]]
[EXTENT MANAGEMENT {DICTIONARY | LOCAL
{AUTOALLOCATE | UNIFORM [SIZE 大小[k | m]]}}]
[ONLINE | OFFLINE]
[SEGMENT SPACE MANAGEMENT {MANUAL | AUTO}]
[LOGGING | NOLOGGING];
7.表領域的變更
表領域可以進行下面的變更:
表領域名
狀態的變更(只讀,讀/寫,offline)
大小的變更(數據文件的追加,數據文件大小的自動擴張)
logging無效化
設定值的變更
ALTER TABLESPACE 表領域名
{RENAME 表領域名
| READ{WRITE | ONLY}}
|{ONLINE | OFFLINE [NORMAL | TEMPORARY | IMMEDIATE]}
|ADD DATAFILE '數據文件' SIZE 大小[K | M]
|{LOGGING | NOLOGGING}
如果要設定正使用的數據文件自增,則使用下面的SQL
ALTER DATABASE [數據庫名]
DATAFILE '數據文件名'
{RESIZE SIZE 大小[K | M]}
| AUTOEXTEND [OFF | ON[NEXT 大小[K | M]]]
MAXSIZE 大小[K | M]]};
8.OFFLINE
標準:產生CKPT,如果再ONLINE的時候不需要media recovery。
臨時:產生CKPT ,如果再ONLINE的時候需要media recovery
IMMEDIATE: 產生CKPT ,如果再ONLINE的時候需要media recovery
9.表領域和數據文件信息的相關視圖
表領域情報: DBA_TABLESPACE,V$TABLESPACE
數據文件情報:DBA_DATA_FILES,V$DATAFILE
10.表領域的刪除
DROP TABLESPACE 表領域
[INCLUDING CONTENTS [AND DATAFILES]
[CASCADE CONSTRAINTS]];
具有活動的segment的表領域不能刪除,include句指刪除表領域中包含的所有segment,如果不包含這句,這非空的表領域不能被刪除,
CASCADE句關聯的 制約刪除。
SYSTEM表領域不能被刪除,SYSAUX只能SYSDBA在MIGRATE模式下愛被刪除。
第12章 UNDO管理
1.UNDO數據和UNDO Segment
事務的回滾
讀取一致性
實例的recovery
falshback
2.UNDO數據和事務
1個UNDO Segment可以處理多個事務,INSERT的時候,保存ROWID
3.UNDO管理構成
自動UNDO管理的概念
CREATE UNDO TABLESPACE 表領域
DATAFILE '數據文件名' SIZE 大小
[AUTOEXTEND ON [NEXT 增加的大小]]
[MAXSIZE UNLIMITED | 最大大小]
UNDO表領域,下面的特征
LOCAL管理表領域
自動extend管理
UNDO segment 專用
4.自動UNDO管理的設定
自動UNDO管理相關的初期化參數
UNDO_MANAGEMENT: 自動UNDO管理的時候設為[AUTO],默認為[MANUAL],手動UNDO管理
UNDO_TABLSPACE: 現在的ORACLE實例的活動UNDO表領域
5.UNDO保存:UNDO數據用于事務的回滾,也可以用FLASHBACK
UNDO_RETENTION: 默認900秒
6.UNDO保存的保證
ALTERTABLESPACE 表領域名 RETENTION GUARNTEE;
DBA_TABLESPACES視圖可以確認RETENTION列;
如果對于非UNOD表領域實行RETENTION GUARNTEE,則會出現錯誤。
7.UNDO數據關聯的錯誤
[ORA-01555:snapshot太舊]回避的方法
UNDO保存期間的調整
UNDO表領域大小的調整
UNDO保存的保證使用UNDO保存期間被復寫的完全防止可能
8.UNDO ADVISE
UNDO ADVISE使用確認內容
UNDO數據保存必須的表領域大小
擴張可能的UNDO表領域的最大大小
現在的UNDO表領域可能保存的期間
第13章 備份以及復原的基本知識
1.數據庫關聯的障害
文障害:數據庫操作時的SQL語句失敗
用戶進程障害:應用程序異常結束,用戶session強制終了
網絡障害:不能連接listener,不能進行網絡接線
用戶錯誤:數據庫操作正常,但是系統操作不正常(表的刪除/錯誤的數據操作)
實例障害:內存障害,OS障害,Oracle實例被強制停止
媒體障害:Oracle數據庫文件的一部分損失(文件刪除硬盤破損等)
2.文障害的解決
無效的數據入力(ORA-01722:數值無效) 檢查SQL語句,確認 數據
權限不足(ORA-01031:權限不足):應該賦予適當的系統權限或者對象權限
領域不足:賦予用戶足夠的表領域
ORA-01653:表SCOTT.TEST不能進行擴張
ORA-01658:表領域TS01的segment不能作成INITAL的extend
4)應用的邏輯錯誤(計算結果):確認程序邏輯正確
3.用戶進程障害解決:PMON對應
4.網絡障害
listener接線錯誤(ORA-12541:沒有listener) : 構建多個listener,客戶端的配置failover=true
網絡接口錯誤(ORA-12154:指定的接線識別子不能解決):復數接線子配置,并確認硬件
5.用戶錯誤
誤刪表(DROP TABLE):從垃圾箱還原(flashback drop)
誤刪表(truncate table):flashbak database,執行表領域的point-in-point的恢復
誤提交(COMMIT)UPDATE,DELETE操作: 如果UNDO表中殘留有數據的話,flashback table;如果UNDO表中不存在數據的話,
使用Logminer,查找REDOLOG實體
事前行移動有效化必要。
6.實例障害:SMON,自己恢復
7.媒體錯誤解決:基本就是從BACKUP文件恢復,然后用REDO日志進行recover處理
平均障害間隔(MTBF:Mean TIme Between Failuer)
平均修復時間(MTTR:Mean Time To Repair)
8.實例恢復構成
CheckPoint
SCN(System Change Number):事務提交時的編號。Oracle用SCN來區分事務。
DBWn向數據文件寫變更的數據塊
CKPT向控制文件更新新的CheckPoint編號
CKPT向數據文件更新新的CheckPoint編號
CheckPoint的發生時機:
Log Switch
管理員的指定(ALTER SYSTEM CHECKPOINT)
表領域Offline
數據庫停止
9.實例回復:當實例重啟后,SMON會比較控制文件和數據文件的SCN,來判斷從什么地方開始實例回復
實例回復:只能回復到最后一次事務提交的狀態(最后的SCN號)
實例回復:使用REDO日志文件,進行Roll Foward,然后Roll Back
初始化參數:FAST_START_MTTR_TARGET,Oracle服務器調整CheckPoint的頻度,這個時間越短,實例回復的
時間越短,但是平凡的寫數據文件會導致數據庫文件效率低下,所以應該調整為合適的值。
10.要使實例回復時間越短:
FAST_START_MTTR_TARGET:值越小
REDO日志文件:文件大小越小
11.ARCHIVELOG初始化參數
LOG_ARCHIVE_DEST_1~LOG_ARCHIVE_DEST_10:Achive LOG日志文件保存的位置,最多10個,可以為本地磁盤或者是網絡服務名
LOG_ARCHIVE_FORMAT:Archive LOG日志文件名的格式
ARCHIVELOG模式切換,ALTER DATABASE ARCHIVELOG,在MOUNT的時候進行
12. LOGGING和NOLOGGING
NOLOGGING,不生成REDO日志實體
表領域,Segment級別指定
下面的命令可以指定為NOLOGGING
CREATE TABLE ... AS SELECT
CREATE INDEX...
ALTER INDEX...REBUILD
第14章 數據庫備份
1.一致性備份:要點,數據庫要暫時停止。使用[SHUTDOWN ABORT]以外的命令讓數據庫停止,在停止前產生CKPT。
數據庫停止
所有的REDO日志適用
恢復后就可以正常使用
2.非一致性備份
NOARCHIVELOG模式下只能進行一致性備份
ARCHIVELOG可以進行一致性備份或者非一致性備份
RMAN備份可以在MOUNT或者OPEN下進行。
3.backup-set image-copy區別
backupset可以拷貝到硬盤或者磁帶,image-copy只能拷貝到硬盤中
backupset可以包含復數的文件,image-copy只能拷貝1個文件
backupset不包含未使用的數據塊,image-copy包含未使用的數據塊
backupset能夠只備份從最后一次備份開始的數據,image-copy則不可能
backupset 進行restore時需要抽出需要的文件,image-copy則不需要
4.整體備份和增量備份
5.flashrecover領域管理
DB_RECOVERY_FILE_DEST:flash Recove領域場所的指定
DB_RECOVERY_FILE_DEST_SIZE:flash RECOVEY領域最大的大小
flash Recovery領域,archiveRDDO日志文件,備份文件,flashback日志保存的領域
Flash Recovery領域大小,推薦能夠保存備份文件(包含增分備份文件),ArchiveREDO日志,2個數據庫文件(flashback日志)的大小
6.控制文件的trace的備份
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;這個命令的結果,保存到初始化參數USER_DUMP_DEST指定的文件目錄。保存生成控制文件的SQL語句。
7.RMAN 基本命令
CATALOG:用戶管理的備份信息,登錄到RMANrepository。
DELETE:RMANrepository里備份信息和OS管理的備份文件都被刪除
CROSSCHECK:RMAN保存的信息和OS管理的備份文件進行整合確認
CHANGE:切換UNAVAILABLE和AVAILABLE狀態,只改變RMAN的情報
第15章 數據庫恢復
1.發生下面的情況下數據庫會停止
控制文件的損失
SYSTEM表領域,活動的UNDO表領域數據文件被破壞
REDO日志Group里的所有REDO日志成員被破壞
2.數據文件offline的方法(ALTERDATABASE DATAFILE... OFFLINE),ARCHIVELOG模式。
NOARCHIVELOG模式,(ALTER DATABASE DATAFILE... OFFLINE DROP)
臨時表領域的臨時文件有故障的話,表領域的數據文件offline的情況下數據庫可以OPEN
SYSTEM表領域,活動的UNDO表領域不能OFFLINE
3.從控制文件故障恢復
所有控制文件都損壞的情況下的恢復:
從備份控制文件復原,然后使用recover命令 使用RESETLOGS語句來OPEN
控制文件的再作成
4.從控制文件開始恢復,控制文件再作成是只有在NOMOUNT進行
5.REDO日志文件故障開始恢復
如果只是一部分REDO日志成員發生障害的,數據庫OPEN可以進行
如果所有的REDO日志發生障害的話,數據庫不能OPEN
6.ArchiveLOG日志文件作成后,不需要回復,直接使用下面的命令再作成
ALTER DATABASE CLEAR LOGFILEGROUP 組號
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 組號
REDO日志組消去
CHECKPOINT和ARCHIVEREDO日志作成完之后,REDO日志組使用
不作成ARCHIVEREDO日志文件的話[UNARCHIVED]句需要
7.數據文件故障開始恢復
NOARCHIVELOG模式時的recovery的手順
停止ORACLE服務器
從數據庫全體備份中恢復
數據庫OPEN
ARCHIVELOG模式
第16章 鎖競合的檢出以及解決方案
1.DML鎖
行鎖(排他)
表鎖(共有)
2.DML共有表所,競合DDL防止
3.手動行鎖
SELECT ... FOR UPDATE NOWAIT | WAIT 數秒
4.手動表鎖
LOCK TABLE 表名 IN 鎖定模式名 MODE [NOWAIT]
ROW SHARE:SELECT...FOR UPDATE;
ROW EXCLUSIVE:DML(INSERT,UPDATE,DELETE)
EXCLUSIVE:DDL
エンキューメカニズム
5.鎖競合發生的場合:
變更沒有提交
事務長時間的場合
不必要的高鎖級別
6.死鎖
如果檢出死鎖,Oracle服務器會自動回滾解決死鎖。
死鎖發生的時候,警告日志(BACKGROUND_DUMP_DEST初始化參數),警告日志記錄的
用戶trece文件(USER_DUMP_DEST初期化參數指定)
7.死鎖的詳細情報,USER_DUMP_DEST初始化參數指定的目錄文件里確認。
8.V$LOCK視圖,V$LOCKED_OBJECT視圖
9.ALTER SYSTEM KILL SESSION 'SID列值,SERIAL#列值'
第17章 性能監視
1.性能問題對應
數據字典視圖:領域相關
動態性能視圖(V$DATABASE,V$INSTANCE):內存使用量,待機時間按,實例的活動
2.個別的matric情報頁面包含
最新已知值
平均值
上限值,下限值
3.EM中性能頁的內容
host
session:待機和實行中
實例
4.如果REDO日志buffer待機時間多發的情況下
把REDO日志文件配置在能夠高速操作的硬盤上
REDO日志buffer小的話,增加 大小
5.數據文件的硬盤I/O集中的話可以考慮下面的方法
RAID
ASM
6.表優化統計DBA_TABLES
NUM_ROWS:表保存的行數
BLOCKS;行保存的block數
AVG_ROW_LEN:平均行長度
LAST_ANALYZED:最后分析的日時
NUM_FREELIST_BLOCKS:空list里面的塊數
CHAIN_CNT:移行連鎖的行數
7.索引的統計
BLEVEL:
LEAF_BLOCKS:
DISTINCT_KEYS:
AVG_LEAF_BLOCKS_PER_KEY:
AVG_DATA_BLOCKS_PER_KEYS:
CLUSTERING_FACTOR
NuM_ROWS
8.優化統計相關
優化統計在收集時也是變化的
Oracle服務器再啟動也不變化
表中行數據頻繁更新的話,應該考慮手動來進行統計分析
對于大規模表,進行預算的統計收集更適合
使用DBMS_STATS包進行統計收集
9. 無效對象的troubleshooting
PL/SQL對象的有效性可以通過數據字典DBA_OBJECT視圖的STATUS列來確認
無效的PL/SQL再編譯
下回需要運行PL/SQL時自動編譯
使用ALTER .. COMPILE來手動編譯
ALTER FUNCTION 函數名 COMPILE
ALTER PROCEDURE 存儲過程名COMPILE
9.索引的再構筑
如果使用ALTER TABLE...MOVE命令,索引將無效,這是因為ROWID發生改變。可以查看數據字典的DBA_INDEXES視圖的STATUS列
來確認。
再構筑
ALTER INDEX 索引名 REBUILD [ONLINE] [TABLESPACE 表領域名]
如果使用ONLINE再構筑中DML可能。
再構筑中需要2倍的領域。
第18章 預防性維護
1.服務器生成的警告分兩個階段
警告
危機
2.為了將來進行性能比較,需要指定一個基線
3.自動workloasrepository(AWR):性能相關的情報保存的地方
快照(snapshot)保存
MMON(Manageability Monitor)默認60分鐘1次,保存7天
SYSAUX表領域保存
SYS schema
SYSAUX表領域
4.AWR管理
為了進行快照手機,初始化參數STATISTICS_LEVEL可以設置為[TYPICAL]或者[ALL],如果這個參數
為[BASIC]的話,不能進行快照收集
5.刪除快照的方法
手動page
調整snapshot的保存期間
6.為了進行對比需要作成[保存snapshot set]
7.診斷advise,advise的種類
ADDM:對于數據庫整體進行分析建議
SQL tuning advise:對SQL語句進行優化
SQL Access advise:對workload進行分析,索引的追加
memory advise:
segment advise:
undo advise:
MTTR advise:現在預計的平均回復時間,
8.segment縮小
ALTER TABLE ... SHRINK SPACE
local管理表領域
行管理有效(ALTER TABLE ... ENABLE ROW MOVEMENT)
9.SQL Tunning Set
Snapshot
保存snapshot set
10.自動共有內存管理
1)SGA_TARGET,最大SGA大小SGA_MAX_SIZE指定。
11.ADDM 在兩個snapshot之間進行分析,分析結果,保存在AWR中。