明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

Oracle數(shù)據(jù)庫(kù)管理腳本說(shuō)明

[摘要]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)行這些腳本。