Oracle管理指令碼介紹
今天開始準備OCM的考試,但對第一部分建庫裡要執行的幾個指令碼有些疑問,catalog.sql,catproc.sql因為他們執行的時間太長了,至少需要20分鐘左右,我就有些疑惑,這些指令碼到底是做什麼的,到底要不要執行這些指令碼。剛才到網上搜了搜,整理了一下,也對這些指令碼有了些系統的瞭解吧:
這些指令碼和資料字典有很大的關係,資料字典的建立,是在Oracle資料庫建立完畢後,執行一些相關的資料庫管理指令碼來完成的。當採用Oracle統一安裝器(Oracle Universal Installer),就是OUI,建立資料庫時,Oracle伺服器有關的字典檢視和指令碼最後會被自動安裝。但當需要升級目前的Oracle資料庫伺服器,或者手動建立完資料庫的時候,DBA必須要手工重新執行建立這些檢視或指令碼的SQL。安裝完資料庫後,Oracle資料庫管理指令碼就存放在作業系統中。指令碼存放在: $ORACLE_HOME/rdbms/admin
Oracle中幾乎所有的系統管理指令碼都儲存在該檔案目錄下,目錄下有上百個不同檔案。該目錄下的檔案按照功能不同可分為4大類,Oracle為了容易區分這幾類不同的檔案,對於檔案的命名遵從一定的規則。
命名規則 功能描述
cat*.sql 關於目錄和資料字典資訊
dbms*.sql 資料庫中關於包的說明
prvt*.plb 加密過的包程式碼
utl*.sql 資料庫其他功能的表和檢視
下面來詳細介紹這四種不同型別的指令碼功能:
1、cat*.sql 指令碼
該類指令碼主要用於建立資料字典檢視。其中,指令碼catalog.sql 和 catproc.sql 是建立資料庫後必須要執行的兩個指令碼。這兩個指令碼的功能說明見表3所示。
指令碼 指令碼說明
catalog.sql 建立系統常用的資料字典檢視和同義詞
catproc.sql 執行伺服器端所需要的PL/SQL指令碼
(1) catalog.sql
該指令碼建立相對於系統基表的檢視和系統動態效能檢視以及他們的同義詞。該指令碼又同時執行建立其他物件的指令碼,主要有:
基本PL/SQL環境,包括PL/SQL的宣告:資料型別,預定義例外,內建的過程和函式,SQL操作等。還有審計,匯入/匯出,SQL*Loader,安裝選項。
(2)catproc.sql
該指令碼主要用於建立PL/SQL功能的使用環境。此外,還建立幾個PL/SQL包用於擴充套件RDBMS功能。該指令碼同時還為下面的一些RDBMS功能建立另外的一些包和檢視:
警告(Alerts),管道(Pipes),日誌分析(LogMiner),大物件(Large objects),物件(Objects),高階佇列(Advanced queuing),複製選項( Replication option),其他的一些內建包和選項(Other built-ins and options)
(3)其他指令碼
在該目錄下還有其他一些指令碼用來擴充套件Oracle資料庫伺服器功能。如,catadt.sql 指令碼用來建立RDBMS中用來顯示兆資料資訊的資料字典檢視。catnoadt.sql 指令碼用來刪除這些表和檢視。
2、dbms*.sql 和 prvt*.plb 指令碼
這兩類指令碼用來建立擴充套件Oracle伺服器功能的系統預定義的一些Oracle包的物件。這些程式均用來完成資料庫管理任務。大多數的SQL指令碼在執行catproc.sql指令碼時被執行。一些額外的指令碼必須由資料庫管理員另外單獨執行。例如,dbmspool.sql 指令碼,用來顯示在共享池中物件的大小並且為了減少共享池碎塊可以將其在SGA中標記為保持或可刪除。
3、utl*.sql 指令碼
該類指令碼只有在資料庫需要另外的檢視和表時才需要執行。例如,指令碼utlxplan.sql,用來建立一個表,該表用於觀察SQL語句的執行計劃(Execution Plan)。
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25116248/viewspace-1057955/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫管理指令碼介紹 (RDBMS目錄下)Oracle資料庫指令碼
- Shell指令碼介紹與使用指令碼
- catalog.sql指令碼介紹SQL指令碼
- meterpreter常見指令碼介紹指令碼
- Linux shell 指令碼基礎介紹Linux指令碼
- javascript指令碼非同步載入介紹JavaScript指令碼非同步
- MySQL使用XtraBackup的shell指令碼介紹MySql指令碼
- TCL指令碼語言基礎介紹指令碼
- XSS跨站指令碼攻擊介紹指令碼
- 原始碼管理工具Github介紹原始碼Github
- 原始碼管理工具介紹-github原始碼Github
- Laravel 8 - 路由指令介紹Laravel路由
- docker之Dockerfile指令介紹Docker
- linux常用指令介紹Linux
- 介紹ORACLE DATA GUARD——DATA GUARD概念和管理Oracle
- 介紹一個自己寫的crs_stat指令碼指令碼
- 陣列-在Shell指令碼中的基本使用介紹陣列指令碼
- 【管理】Oracle 常用的V$ 檢視指令碼Oracle指令碼
- github原始碼管理工具——使用介紹Github原始碼
- 主流原始碼管理工具Github介紹原始碼Github
- ORACLE OWI介紹Oracle
- ORACLE ORION介紹Oracle
- oracle VPD介紹Oracle
- Oracle recyclebin介紹Oracle
- ORACLE鎖介紹Oracle
- Oracle ACE 介紹Oracle
- oracle job 介紹Oracle
- Oracle Spatial 介紹Oracle
- QuickTask動態指令碼支援框架整體介紹篇UI指令碼框架
- 程式碼管理工具介紹——Git與GitHubGithub
- Oracle 資料庫管理指令碼命名規範Oracle資料庫指令碼
- ORACLE DBA常用SQL指令碼工具->管理篇(zt)OracleSQL指令碼
- 詳細介紹Linux指令odLinux
- Oracle DRM原理介紹Oracle
- Oracle ADR介紹Oracle
- Oracle BBED 工具介紹Oracle
- Oracle RAC 概念介紹Oracle
- 【轉】Oracle ASM介紹OracleASM