第九章 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模式下愛被刪除。