Oracle數(shù)據(jù)庫(kù)管理腳本說(shuō)明
發(fā)表時(shí)間:2024-05-30 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Oracle中的數(shù)據(jù)字典是數(shù)據(jù)庫(kù)中的非常重要的一部分,提供了相關(guān)數(shù)據(jù)庫(kù)的信息,它是所有Oracle用戶(hù)(從應(yīng)用的最終用戶(hù)、應(yīng)用的設(shè)計(jì)開(kāi)發(fā)者到數(shù)據(jù)庫(kù)管理員)的非常重要的信息來(lái)源。數(shù)據(jù)字典的創(chuàng)建,是在Oracle數(shù)據(jù)庫(kù)創(chuàng)建完畢后,運(yùn)行一些相關(guān)的數(shù)據(jù)庫(kù)管理腳本來(lái)完成的。當(dāng)采用Oracle統(tǒng)一安裝器(Or...
Oracle中的數(shù)據(jù)字典是數(shù)據(jù)庫(kù)中的非常重要的一部分,提供了相關(guān)數(shù)據(jù)庫(kù)的信息,它是所有Oracle用戶(hù)(從應(yīng)用的最終用戶(hù)、應(yīng)用的設(shè)計(jì)開(kāi)發(fā)者到數(shù)據(jù)庫(kù)管理員)的非常重要的信息來(lái)源。數(shù)據(jù)字典的創(chuàng)建,是在Oracle數(shù)據(jù)庫(kù)創(chuàng)建完畢后,運(yùn)行一些相關(guān)的數(shù)據(jù)庫(kù)管理腳本來(lái)完成的。當(dāng)采用Oracle統(tǒng)一安裝器(Oracle Universal Installer)創(chuàng)建數(shù)據(jù)庫(kù)時(shí),Oracle服務(wù)器有關(guān)的字典視圖和腳本最后會(huì)被自動(dòng)安裝。但當(dāng)需要升級(jí)目前的Oracle數(shù)據(jù)庫(kù)服務(wù)器時(shí),數(shù)據(jù)庫(kù)管理員必須要手工重新運(yùn)行創(chuàng)建這些視圖或腳本的SQL。安裝完數(shù)據(jù)庫(kù)后,Oracle數(shù)據(jù)庫(kù)管理腳本就存放在操作系統(tǒng)中。對(duì)于UNIX和NT操作系統(tǒng),分別位于不同的物理目錄下。
操作系統(tǒng) 腳本目錄位置
UNIX $ORACLE_HOME/rdbms/admin
NT %ORACLE_HOME%\rdbms\admin
Oracle中幾乎所有的系統(tǒng)管理腳本都保存在該文件目錄下,該目錄下含有上百個(gè)不同文件。這些不同的文件都有什么作用呢?本文將詳細(xì)討論組成Oracle數(shù)據(jù)庫(kù)管理腳本的命名規(guī)范。這樣用戶(hù)看到某個(gè)文件大概就可以知道該文件主要用途是什么。該目錄下的文件按照功能不同可分為4大類(lèi),Oracle為了容易區(qū)分這幾類(lèi)不同的文件,對(duì)于文件的命名遵從一定的規(guī)則。見(jiàn)表2所示。
命名規(guī)則 功能描述
cat*.sql 關(guān)于目錄和數(shù)據(jù)字典信息
dbms*.sql 數(shù)據(jù)庫(kù)中關(guān)于包的說(shuō)明
prvt*.plb 加密過(guò)的包代碼
utl*.sql 數(shù)據(jù)庫(kù)其他功能的表和視圖
下面來(lái)詳細(xì)介紹這四種不同類(lèi)型的腳本功能:
1、cat*.sql 腳本
該類(lèi)腳本主要用于創(chuàng)建數(shù)據(jù)字典視圖。其中,腳本catalog.sql 和 catproc.sql 是創(chuàng)建數(shù)據(jù)庫(kù)后必須要運(yùn)行的兩個(gè)腳本。這兩個(gè)腳本的功能說(shuō)明見(jiàn)表3所示。
腳本 腳本說(shuō)明
catalog.sql 創(chuàng)建系統(tǒng)常用的數(shù)據(jù)字典視圖和同義詞
catproc.sql 運(yùn)行服務(wù)器端所需要的PL/SQL腳本
(1) catalog.sql
該腳本創(chuàng)建相對(duì)于系統(tǒng)基表的視圖和系統(tǒng)動(dòng)態(tài)性能視圖以及他們的同義詞。該腳本又同時(shí)運(yùn)行創(chuàng)建其他對(duì)象的腳本,主要有:
基本PL/SQL環(huán)境,包括PL/SQL的聲明:
- 數(shù)據(jù)類(lèi)型
- 預(yù)定義例外
- 內(nèi)建的過(guò)程和函數(shù)
- SQL操作等
審計(jì)
導(dǎo)入/導(dǎo)出
SQL*Loader
安裝選項(xiàng)
(2)catproc.sql
該腳本主要用于建立PL/SQL功能的使用環(huán)境。此外,還創(chuàng)建幾個(gè)PL/SQL包用于擴(kuò)展RDBMS功能。該腳本同時(shí)還為下面的一些RDBMS功能創(chuàng)建另外的一些包和視圖:
警告(Alerts)
管道(Pipes)
日志分析(LogMiner)
大對(duì)象(Large objects)
對(duì)象(Objects)
高級(jí)隊(duì)列(Advanced queuing)
復(fù)制選項(xiàng)( Replication option)
其他的一些內(nèi)建包和選項(xiàng)(Other built-ins and options)
(3)其他腳本
在該目錄下還有其他一些腳本用來(lái)擴(kuò)展Oracle數(shù)據(jù)庫(kù)服務(wù)器功能。如,catadt.sql 腳本用來(lái)創(chuàng)建RDBMS中用來(lái)顯示兆數(shù)據(jù)信息的數(shù)據(jù)字典視圖。catnoadt.sql 腳本用來(lái)刪除這些表和視圖。
2、dbms*.sql 和 prvt*.plb 腳本
這兩類(lèi)腳本用來(lái)創(chuàng)建擴(kuò)展Oracle服務(wù)器功能的系統(tǒng)預(yù)定義的一些Oracle包的對(duì)象。這些程序均用來(lái)完成數(shù)據(jù)庫(kù)管理任務(wù)。大多數(shù)的SQL腳本在運(yùn)行catproc.sql腳本時(shí)被執(zhí)行。一些額外的腳本必須由數(shù)據(jù)庫(kù)管理員另外單獨(dú)執(zhí)行。例如,dbmspool.sql 腳本,用來(lái)顯示在共享池中對(duì)象的大小并且為了減少共享池碎塊可以將其在SGA中標(biāo)記為保持或可刪除。
3、utl*.sql 腳本
該類(lèi)腳本只有在數(shù)據(jù)庫(kù)需要另外的視圖和表時(shí)才需要運(yùn)行。例如,腳本utlxplan.sql,用來(lái)創(chuàng)建一個(gè)表,該表用于觀察SQL語(yǔ)句的運(yùn)行計(jì)劃(Execution Plan)。
需要注意的是,絕大多數(shù)數(shù)據(jù)庫(kù)管理腳本都必須在用戶(hù)SYS下運(yùn)行。數(shù)據(jù)庫(kù)管理員如果打算運(yùn)行這些腳本,最好首先閱讀腳本內(nèi)容中的相關(guān)信息,了解應(yīng)該以什么用戶(hù)來(lái)運(yùn)行這些腳本。