Oracle9i 資料庫管理實務講座(一)

oracle

Oracle 9i 資料庫管理實務講座(一)
如何安裝Oracle 9i Enterprise Edition for Linux

原文出處 : 2001年11月Linuxer雜誌
作者: 何致億
下載 PDF 檔

前言
Oracle 9i資料庫系統可算是近幾年來Oracle公司一項殺手級的產品,其功能與應用面之廣,連研究Oracle多年的我在第一次接觸到產品規格時也不禁嚇了一跳!突然間一大堆的技術文件與白皮書排山倒海而來,一時之間還不知道該從何著手。所以我花了幾個月的時間在各種平台上進行環境測試以及新功能研究,並將手邊的資料大致整理了一下,希望在未來的專欄內容中都能陸續介紹給各位Linuxer雜誌的忠實讀者。

在這裡有一點要先跟讀者致歉:之前我曾經寫過數篇有關Oracle 8i資料庫管理的文章,因為自己工作實在太忙(這可能只是我的藉口!),加上Oracle 9i已經released。所以我決定先暫時停掉該部分的專欄,專心整理Oracle 9i的相關資料。也非常謝謝這段期間來信鼓勵以及給予建議的讀者朋友們,在能力允許的範圍內,我將會盡最大的努力為大家整理最新的Oracle技術資料。當然除了資料庫管理技術之外,未來我也會應讀者要求,加入利用Java設計Oracle 9i資料庫應用的文章,請大家繼續給予批評指導!

Oracle 試用軟體之取得方式

因為Oracle 9i在Linux平台上正式通過認證的只有SuSE Linux (7.1與7.2),所以我就利用SuSE Linux 7.1 Professional版本為平台做為示範。Oracle資料庫則是使用Oracle 9i Enterprise Edition for Linux Intel release 1(9.0.1)。

大家一定覺得非常奇怪,為什麼Redhat Linux沒有經過Oracle 9i認證?說實在的,這點我也不清楚!據Redhat的說法好像是來不及將最新版本交給 Oracle 作認證與測試,所以...。不過Redhat已經在日前正式提出新聞稿表示在未來新的Oracle版本一定會大力支援了(可能是被罵到受不了吧!?),請大家拭目以待囉。
相信有許多人對於Oracle 9i已經垂涎許久了。我先為各位說明如何進行安裝前的準備動作。除了Linux作業系統之外,大家最關心的應該是如何"取得"Oracle 9i軟體?關於這點我在二月份的專欄已經說明過,各位可以到Oracle Technology Network(OTN)網站註冊成為OTN會員,一但您成為OTN的正式會員,就可以下載任何Oracle最新的技術文件以及軟體。但是要注意的是所有下載的軟體其授權方式為"程式開發者授權"(Developer License),雖然具備完整版的功能,但是您只能運用於開發測試或是進行評估,可不能進行商業用途!
OTN網址為:http://otn.oracle.com
圖一:Oracle Technology Network
如果您尚未註冊,就趕快點選首頁右上角的【Membership】圖示註冊一個新帳號吧!成功註冊之後再回到OTN首頁,點選左邊【Software】下的【Downloads】,就可以點選您要下載的Oracle試用軟體。

圖二:Oracle軟體下載區

請您在簽署"程式開發授權同意書"(Oracle Technology Network Development License Agreement)之後請直接下載Oracle 9i Enterprise Edition for Linux。Oracle 9i安裝程式共有三個檔案,分別是Linux9i_Disk1.cpio.gz、Linux9i_Disk2.cpio.gz、Linux9i_Disk3.cpio.gz。因為這三個檔案都是壓縮檔,您可以參考下列步驟進行解壓縮:

1. 執行gunzip,例如:
       > gunzip Linux9i_Disk1.cpio.gz
    > gunzip Linux9i_Disk2.cpio.gz
    > gunzip Linux9i_Disk3.cpio.gz

2. 解開.cpio檔:
註:如果您覺得這樣的下載方式不太方便的話,OTN網站還提供了軟體訂閱服務,不過這項服務因為系統維護的關係,大概在12月左右才會再上線,請自行注意網站上的訊息!

安裝時之系統需求
作業系統需求SuSE 7.1 (Kernel 2.4.4.) make-3.79 , binutils-2.10
CPUPII 233 MHz 以上
硬體需求記憶體建議至少512MB
SWAP空間建議為實體記憶體的兩倍,至少需要512MB以上
磁碟空間資料庫系統:2 ~ 2.5 GB
預設資料庫:約1GB
資料暫存目錄:至少需400MB

註:Oracle 9i安裝程式Oracle Universal Installer在執行安裝動作時會使用/tmp作為資料暫存目錄。如果/tmp目錄之剩餘空間不足,建議您設定TMP或是TMPDIR等環境變數,指向具有足夠空間之目錄即可。但是該目錄必須開放可寫入之權限。

安裝Oracle 9i之前置處理動作

1. 在安裝Oracle 9i之前,請先下載以下兩個檔案:

下載檔名下載位址
orarun9i.rpmftp://ftp.suse.com/pub/suse/i386/supplementary/commercial/Oracle/orarun9i.rpm
Java Development Kit(JDK)1.3.1http://java.sun.com/j2se/1.3/download-linux.html

2. 設定oracle使用者帳戶密碼(optional)
之前有安裝過Oracle 8i for Linux的讀者應該記得,安裝之前必須先在Linux作業系統下新增一個名為oracle之使用者帳戶,以及一個oracle DBA所專用的群組。但是SuSE Linux 7.1版在作業系統安裝完畢時預設就有一個oracle帳戶,甚至連群組(名稱為oinstall)都已經設定好了!(只差在不知道oracle帳戶的密碼是什麼!如果有讀者知道的話也請發個mail告訴我)所以建議您先利用root身分更改oracle使用者之密碼,以免以後需要用oracle帳戶登入時不知道密碼。更改密碼的方式如下:
> passwd oracle
3. 執行orarun9i.rpm
這個步驟大概是各位覺得比較奇怪的部分,在此也先做個說明:
因為安裝Oracle 9i時,必須先設定相關的環境變數以及Shared memory組態。說實在的,這些工作還真的相當繁瑣!所以SuSE公司就提供了這個rpm檔,執行之後會自動將大部分的組態設定完成(這點是我最欣賞SuSE的地方,希望R公司也能多多學習!) 。當然您也可以依實際需要再作必要的調整。

請您利用root身分執行以下指令:
> rpm -Uvh orarun9i.rpm

執行之後會在作業系統加入以下兩個檔案,分別是
/etc/profile.d/oracle.sh設定ORACLE_HOME、ORACLE_BASE、ORACLE_SID…等環境變數。
/etc/rc.config.d/oracle.rc.config設定Shared memory之各參數值。

 

這些檔案您都可以依照實際環境再予以修改,但如果您是第一次安裝的讀者建議您還是盡量使用預設的設定較好。

圖三:/etc/profile.d/oracle.sh檔案內容

圖四:/etc/rc.config.d/oracle.rc.config之檔案內容。
註1:在/etc/profile.d/oracle.sh所設定的Oracle_SID名稱為orcl,如果不想使用這個名字的話,可以在更改掉檔案的唯讀屬性之後予以修改。例如我將 ORACLE_SID更改成ora901。
註2:最重要的Shared Memory參數為SHMMAX,建議的設定值為(實體記憶體的一半)。例如我安裝用的伺服器記憶體為512MB,則SHMMAX可設為256MB,換算方式如下:
256 MB = (1MB=1048576 bytes) *256 = 268435456 bytes

4. 安裝JDK
在Sun網站上提供下載的JDK for Linux有兩種格式,一種是.bin檔,另一種是.rpm檔。安裝的方式分別如下:

j2sdk-1_3_1-linux-i386.bin的安裝方式

1) 將j2sdk-1_3_1-linux-i386.bin複製到欲安裝的目錄下,例如: /usr/local。
2) 更改檔案屬性為"可執行":
> chmod a+x j2sdk-1_3_1-linux-i386.bin
3) 執行JDK安裝程式
> ./j2sdk-1_3_1-linux-i386.bin

j2sdk-1_3_1-linux-i386-rpm.bin的安裝方式
1) 執行j2sdk-1_3_1-linux-i386-rpm.bin:

> chmod a+x j2sdk-1_3_1-linux-i386-rpm.bin
> ./j2sdk-1_3_1-linux-i386-rpm.bin

執行之後會在目前工作目錄下產生一個jdk-1.3.1.i386.rpm檔案。
2) 利用rpm指令安裝JDK程式套件:
> rpm -iv jdk-1.3.1.i386.rpm

當您完成以上幾項準備工作之後。接下來就可以正式開始安裝Oracle 9i了。
 
使用Oracle Universal Installer進行安裝

當您完成所有前置準備動作後,請利用oracle帳戶重新登入系統。建議您執行env指令確認所有環境變數是否設定無誤:
# env
接下來請切換至Oracle 9i第一片所在目錄以執行安裝程式,我是利用光碟片安裝,執行安裝程式的方式為:
# ./cdrom/runInstaller
(/cdrom 為光碟機mount之目錄名稱)
註:如果您也是利用光碟安裝,請不要切換至/cdrom目錄下才執行runInstaller,原因容後說明。
Oracle Universal Installer安裝程式順利啟動之後,您可以看到如下圖五之畫面:

圖五:啟動Oracle Universal Installer 2.0.1

跳過歡迎畫面後就可以開始正式的安裝囉!

Step1: 設定Oracle Inventory之位置
首先您必須指定Oracle Inventory之所在目錄。Oracle Inventory是用來記錄所有安裝過的Oracle產品清單,如果沒有特殊的需求就請依照預設的目錄/opt/oracle/oraInventory即可。

圖六:設定Oracle Inventory之所在目錄。

Step2:設定可更新Oracle軟體之作業系統群組
在這裡所設定的群組是用來更新Oracle軟體所用,如果您決定只讓root使用者具備更新Oracle軟體的權利,就不要指定任何群組名稱。因為SuSE Linux安裝完畢就自動將oracle帳戶加至oinstall群組,所以Unix Group Name欄位就先顯示了oinstall,按下【Next】繼續吧!

圖七:設定可更新Oracle軟體之作業系統群組。

Step3:建立Oracle Inventory
Oracle Universal Installer已準備一個建立Oracle Inventory所用的orainstRoot.sh檔案(位置是在/tmp/orainstRoot.sh),不過這個檔案需利用root身分執行。此時您可以再開啟一個終端機視窗來執行該檔案,如圖九所示。待執行完畢再回到如圖八的視窗按下【Continue】。

圖八:執行orainstRoot.sh之提示視窗。

圖九:執行orainstRoot.sh建立Oracle Inventory目錄。
Step4:指定Oracle安裝程式來源與目的地所在目錄
Oracle Home為Oracle資料庫系統所在之主要目錄。因為在/etc/profile.d/oracle.sh內已設定ORACLE_HOME為/opt/oracle/product/9.0.1,所以下方Destination的Path欄位會出現ORACLE_HOME之設定值。這裡也不需要做變更。

圖十:指定Oracle安裝程式來源與目的地所在目錄

Step5:選擇欲安裝的Oracle 9i產品種類
這裡請勾選【Oracle 9i Database 9.0.1.0.0】,按下【Next】。

圖十一:選擇欲安裝的Oracle 9i產品種類。

Step6:選擇Oracle 9i資料庫版本
如果您是第一次安裝Oracle資料庫系統,建議您選擇【Enterprise Edition】或是【Standard Edition】。而已有安裝經驗的讀者則可以選擇【Custom】方式自行決定要安裝的套件。

圖十二:選擇Oracle 9i資料庫版本。

Step7:決定資料庫基本組態
假定您上一個步驟是選擇Enterprise Edition或是Standard Edition,則會出現Database Configuration的視窗。您可以依照Oracle資料庫的實際用途選擇最佳的組態。舉例來說,如果是為了建置資料倉儲所用的線上分析環境,則您可以選擇使用【Data Warehouse】選項。這裡我們先選擇一般用途【General Purpose】。

圖十三:決定資料庫基本組態。

Step8:設定Oracle資料庫之識別資料
Oracle資料庫從8i以後的版本都是使用Global Database Name唯一識別每一個Oracle資料庫。建議您設定資料庫的名稱為Oracle SID名稱.網域名稱。例如我將Oracle SID設定為ora901,資料庫名稱就可設為ora901.uuu.com.tw。

圖十四:設定Oracle SID與資料庫名稱。

Step9:指定資料庫所使用的字元集。
字元集(Character Set)是建立Oracle資料庫時最重要的一項設定,如果設定錯誤的話,很可能無法正常存取中文資料喔!預設的字元集為WE8ISO8859P1,您可以由下方第三個選項的下拉式選單點選可存放中文字的"Traditional Chinese.ZHT16BIG5"字元集。

圖十五:設定資料庫所使用之字元集。

Step10:設定JDK之目錄位置
最後一個設定動作是指定JDK的安裝目錄。請設定為您實際安裝JDK的目錄位置。

圖十六:設定JDK之目錄位置。
按下【Next】之後,Oracle Universal Installer會顯示等下要安裝的Oracle 9i產品摘要,確認無誤之後按下【Install】就會開始檔案複製與安裝動作了。

圖十七:要安裝的Oracle產品摘要。
依照您所使用的硬體環境不同,安裝的時間可能需要數十分鐘,甚至一、兩個鐘頭。麻煩的是中途還需更換光碟片,所以只能在旁邊看雜誌囉!
過了一會兒以後畫面上將會跳出一個視窗,提醒您放入Oracle 9i的第二片安裝程式光碟。如果您是從硬碟的解壓縮後的資料來源所安裝,則只要切換至第二片安裝程式所在目錄即可。但如果是從光碟片安裝的讀者們可能會發現此時光碟機無法退片!?這時候請參考下列步驟更換光碟片:

1. 開啟另一個終端機視窗。

2. 執行umount指令,卸載光碟機。
> unmount /cdrom
3. 更換為第二片安裝程式。
4. 重新mount光碟機。
> mount /cdrom
然後就可以繼續安裝動作了!

圖十八:安裝程式正在進行檔案複製動作。
註:也許某些讀者會發現一個問題:在執行umount指令之後卻收到"device is busy"的訊息,無法卸載光碟機以及更換光碟片!還記得在執行runInstaller時,我有提醒各位不要在/cdrom下執行嗎?如果您切換至/cdrom下才執行runInstaller,這時光碟機會被系統鎖定,無法umount。除非您可以找出是哪一個process鎖住光碟機,利用root身分將其kill掉!否則………只好重來一次囉!!

Step11:系統安裝後的組態設定
等到安裝程式將所有檔案複製到系統之後,安裝程式會再度要求您以root身分執行root.sh程式 (位於 ORACLE_HOME 所指向的目錄下,如 /opt/oracle/product/9.0.1)。

圖十九:進行系統環境設定之提示視窗。

圖二十:利用root身分執行root.sh程式。
此時您可以在另一個終端機視窗執行root.sh (注意身分需切換為root)。該程式會詢問您bin目錄之位置,如果與預設值相同的話請直接按下【Enter】鍵,否則需輸入正確的bin目錄位置。執行root.sh之後再回到圖十九的視窗內按下【OK】即可繼續後續的設定工作。
Step12:執行Oracle資料庫組態工具
系統安裝的最後一個階段會自動執行資料庫組態工具程式,其中包含兩個特殊的輔助精靈:Oracle網路設定輔助精靈(Oracle Net Configuration Assistant)與Oracle 資料庫建置輔助精靈(Oracle Database Configuration Assistant)。

圖二十一:執行Oracle資料庫組態工具。

第一個自動執行的是Oracle網路設定輔助精靈,您可以藉由本精靈組態Oracle 資料庫伺服器所監聽的Oracle Instance、網路服務名稱(Net Service Name)以及透過網路管理其他Oracle 9i資料庫之相關設定。因為我們是第一次安裝Oracle 9i,所以您可以先按下【Cancel】取消本精靈的執行,往後如果需要進行相關設定,再執行netca指令就可以啟動該程式。

圖二十二:Oracle網路設定輔助精靈歡迎畫面。

第二個步驟會在port 7777安裝Oracle Web Server。完畢之後會啟動最重要的Oracle資料庫建置組態精靈(Oracle Database Configuration Assistant,簡稱 DBCA)。這個步驟是必要的,因為目前Oracle Universal Installer只在您的系統中安裝了Oracle 9i資料庫伺服器,尚未建置任何Oracle資料庫!(感覺有點像是建置了一間圖書館,可是卻裡面沒有任何書籍!這間圖書館能用嗎?) 所以必須藉由DBCA協助我們建置第一個Oracle 9i資料庫。當然了,DBCA並不是建立Oracle資料庫的唯一方法,往後我會詳細為大家介紹Oracle 9i資料庫內部運作的原理,到時候再介紹其他建立Oracle資料庫的方法以及相關注意事項。

利用Oracle Database Configuration Assistant建立Oracle 9i資料庫

DBCA精靈啟動之後會出現如下圖之歡迎畫面,請按下【Next】繼續。

圖二十三:Oracle Database Configuration Assistant歡迎畫面。
1. 選定DBCA所要執行的工作
Oracle資料庫建置組態精靈主要提供三項資料庫的管理工作,分別是資料庫建立與刪除,以及更改資料庫組態設定。而Oracle 9i的DBCA還加入一項新功能:資料庫範本管理功能(Manage Templates)。這裡請選擇第一項【Create Database】。

圖二十四:選定DBCA所要執行的工作。
2. 選擇建立資料庫所需之範本檔。

DBCA提供三種預設的範本檔:
(1). Data Warehouse:建置資料倉儲、線上分析系統用資料庫。
(2). Transaction Processing:建置線上交易系統用資料庫。
(3). General Purpose:建立一般功能性資料庫。

圖二十五:選擇建立資料庫需之範本檔。

建議第一次安裝之讀者選擇【General Purpose】選項。
表一、二、三、四、五則整理出【General Purpose】選項中各參數之系統預設值,,
供各位讀者參考。
表一:一般性參數之預設值

Option Name Selected
Example Schemas true
Oracle Intermedia true
Oracle JVM true
Oracle Label Security false
Oracle OLAP Services true
Oracle Spatial true
Oracle Ultra Search true

 

 

 

表二:起始參數(Initialization parameter)之預設值
Name Value
background_dump_dest {ORACLE_BASE}/admin/{DB_NAME}/bdump
compatible 9.0.0
control_files ("{ORACLE_BASE}/oradata/{DB_NAME}/control01.ctl", "{ORACLE_BASE}/oradata/{DB_NAME}/control02.ctl", "{ORACLE_BASE}/oradata/{DB_NAME}/control03.ctl")
core_dump_dest {ORACLE_BASE}/admin/{DB_NAME}/cdump
db_block_size 8192
db_cache_size 67108864
db_name  
dispatchers (PROTOCOL=TCP)(SER=MODOSE), (PROTOCOL=TCP)(PRE=oracle.aurora.server.GiopServer), (PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)
fast_start_mttr_target 300
java_pool_size 117440512
Large_pool_size 1048576
Open_cursors 300
processes 150
remote_login_passwordfile EXCLUSIVE
resource_manager_plan SYSTEM_PLAN
shared_pool_size 117440512
sort_area_size 524288
Timed_statistics TRUE
Undo_management AUTO
Undo_tablespace UNDOTBS
user_dump_dest {ORACLE_BASE}/admin/{DB_NAME}/udump

表三:資料庫檔案相關之參數預設值

Name Tablespace Size(M)
{ORACLE_BASE}/oradata/{DB_NAME}/cwmlite01.dbf CWMLITE 20
{ORACLE_BASE}/oradata/{DB_NAME}/drsys01.dbf DRSYS 20
{ORACLE_BASE}/oradata/{DB_NAME}/example01.dbf EXAMPLE 160
{ORACLE_BASE}/oradata/{DB_NAME}/indx01.dbf INDX 25
{ORACLE_BASE}/oradata/{DB_NAME}/system01.dbf SYSTEM 325
{ORACLE_BASE}/oradata/{DB_NAME}/tools01.dbf TOOLS 10
{ORACLE_BASE}/oradata/{DB_NAME}/undotbs01.dbf UNDOTBS 260
{ORACLE_BASE}/oradata/{DB_NAME}/users01.dbf USERS 25
{ORACLE_BASE}/oradata/{DB_NAME}/temp01.dbf TEMP 40

 

 

 

 

 

 

表四:控制檔之參數預設值

Control file
{ORACLE_BASE}/oradata/{DB_NAME}/control01.ctl
{ORACLE_BASE}/oradata/{DB_NAME}/control02.ctl
{ORACLE_BASE}/oradata/{DB_NAME}/control03.ctl

表五:重置交易紀錄檔群組之參數預設值

Group Size(K)
1 102400
2 102400
3 102400

如果您已經熟悉如何設定各資料庫參數,不想使用以上三種範本建立資料庫的話。可利用第四個選項【New database】自行設定所有Oracle資料庫參數。但如果您對於這方面不是很有經驗的話,建議您盡量不要使用該選項建立資料庫!
表六、七、八、九、十、十一則整理出【New Database】選項中各參數之系統預設值,供各位讀者作為設定時之參考:

表六:一般性參數之預設值
Option Name Selected
Example Schemas true
Oracle Intermedia true
Oracle JVM true
Oracle Label Security false
Oracle Spatial true
Oracle Ultra Search true
 
 
 
 
 
 
表七:起始參數(Initialization parameter)之預設值 
Name Value
background_dump_dest {ORACLE_BASE}/admin/{DB_NAME}/bdump
compatible 9.0.0
control_files ("{ORACLE_BASE}/oradata/{DB_NAME}/control01.ctl", "{ORACLE_BASE}/oradata/{DB_NAME}/control02.ctl", "{ORACLE_BASE}/oradata/{DB_NAME}/control03.ctl")
core_dump_dest {ORACLE_BASE}/admin/{DB_NAME}/cdump
db_block_size 8KB
db_cache_size 50MB
dispatchers "(PROTOCOL=TCP)(SER=MODOSE)", "(PROTOCOL=TCP)(PRE=oracle.aurora.server.GiopServer)", "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"
fast_start_mttr_target 300
java_pool_size 50MB
large_pool_size 1MB
open_cursors 300
processes 150
remote_login_passwordfile EXCLUSIVE
resource_manager_plan SYSTEM_PLAN
shared_pool_size 50MB
sort_area_size 524288
timed_statistics TRUE
undo_management AUTO
undo_tablespace UNDOTBS
user_dump_dest {ORACLE_BASE}/admin/{DB_NAME}/udump

表八:控制檔之參數預設值
Control file
{ORACLE_BASE}/oradata/{DB_NAME}/control01.ctl
{ORACLE_BASE}/oradata/{DB_NAME}/control02.ctl
{ORACLE_BASE}/oradata/{DB_NAME}/control03.ctl

表九:表格空間之參數預設值
Status Name Type Extent management
ONLINE DRSYS PERMANENT LOCAL
ONLINE EXAMPLE PERMANENT LOCAL
ONLINE INDX PERMANENT LOCAL
ONLINE SYSTEM PERMANENT DICTIONARY
ONLINE TEMP TEMPORARY LOCAL
ONLINE TOOLS PERMANENT LOCAL
ONLINE UNDOTBS PERMANENT , UNDO LOCAL
ONLINE USERS PERMANENT LOCAL

表十:資料庫檔案相關之參數預設值
Status Name Tablespace Size(M)
ONLINE {ORACLE_BASE}/oradata/{DB_NAME}/drsys01.dbf DRSYS 20480
ONLINE {ORACLE_BASE}/oradata/{DB_NAME}/example01.dbf EXAMPLE 10240
ONLINE {ORACLE_BASE}/oradata/{DB_NAME}/indx01.dbf INDX 25
ONLINE {ORACLE_BASE}/oradata/{DB_NAME}/system01.dbf SYSTEM 325
ONLINE {ORACLE_BASE}/oradata/{DB_NAME}/temp01.dbf TEMP 40
ONLINE {ORACLE_BASE}/oradata/{DB_NAME}/tools01.dbf TOOLS 10
ONLINE {ORACLE_BASE}/oradata/{DB_NAME}/undotbs01.dbf UNDOTBS 200
ONLINE {ORACLE_BASE}/oradata/{DB_NAME}/users01.dbf USERS 25
 

 

 

 

 

3. 輸入新資料庫之識別資料
也許大家會覺得很奇怪,為什麼還要指定一次資料庫的識別資料,在安裝時Step8不是設定過一次了嗎?因為一台Oracle資料庫伺服器允許您建置多個Oracle資料庫,所以您每次執行DBCA指令啟動Oracle資料庫建置組態精靈時,精靈都會詢問您新資料庫的識別資料。這裡請您確認輸入的資料與Step8所輸入的資料
一致即可。

圖二十六:確認新資料庫之識別資料。
 
4. 決定資料庫之運作模式
Oracle 9i資料庫針對客戶端的連線處理分為兩種模式:
Dedicated Server Mode對於每一個客戶端連線,資料庫都會配置獨立的系
統資源。適用於以下兩種情況:
I.   客戶端連線數目不是很多。
II.  客戶端所執行的為例行性處理之批次作業,執行時間較長。
Shared Server Mode多個客戶端連線共用相同的系統資源,適用於客戶端連線數目較多的情況。選擇此運作模式時會同時啟動Oracle之多執行緒伺服器功能。

因為是測試用環境,所以請先選擇【Dedicated Server Mode】。

5. 設定Oracle資料庫起始參數
因為起始參數設定的優劣將會直接影響資料庫之執行效能,除非您了解各參數之意義與設定方式,否則盡量不要隨意更動其設定值。請直接按下【Next】進行下一步驟。

圖二十八:設定資料庫起始參數。
 
6. 確認資料檔案存放位置
在Database Storage視窗的左半部會以樹狀圖列出目前資料庫設定下各檔案的存放位置。如果您想自行更改檔案儲存位置,可按下右下角的【File Location Variables】按鈕進行調整。

圖二十九:確認資料檔案存放位置。
 

7. 選擇是否建立新的資料庫範本
最後您可以將DBCA所做的設定儲存為一個新的資料庫範本,以便未來建立新資料庫時可以參考。方式是勾選【Save as a Database Templates】選項,然後在【Name】欄位中輸入新的範本名稱。

圖三十:選擇是否建立新的資料庫範本。
 

在圖三十的視窗中按下【Finish】按鈕後會出現如圖三十一之視窗,提醒您系統中的某些重置交易紀錄檔會在資料庫建立時被覆寫。此時無須理會此項警告,按下【Yes】即可。

圖三十一:DBCA之警告訊息。
 
8. 最後確認所有資料庫組態設定
DBCA最後會將所有資料庫的組態設定值整理出一張清單,按下【OK】後DBCA就會開始建置新資料庫。

圖三十二:確認所有資料庫組態設定。
當出現圖三十三之視窗時就算大功告成了!請先記下SYS與SYSTEM這兩個系統管理預設帳號之密碼,分別為change_on_install與manager。為了資料庫安全性考量,請記得在登入資料庫之後更改這兩個帳號之密碼。按下【Exit】後就可以結束Oracle Universal Installer安裝程式了。

圖三十三:資料庫建置完畢之提示視窗。

測試安裝後之Oracle 9i資料庫
好不容易將Oracle 9i資料庫系統安裝完畢,接下來就來驗收一下成果吧!此時您可以利用Oracle資料庫的客戶端工具SQL*Plus登入Oracle資料庫,方式 是在作業系統下執行sqlplus指令:
> sqlplus

啟動SQL*Plus後,您可以利用系統提供的使用者帳號scott(密碼為tiger)登入Oracle資料庫。然後試著執行以下指令查詢資料庫內的emp表格:
SQL> select empno,ename,sal from emp;

圖三十四:利用SQL*Plus登入Oracle資料庫。

後記

不曉得大家是否可以順利跟隨我所說明的各項步驟完成Oracle 9i的安裝?也許有部分的讀者已感覺到有點吃不消了!事實上,Oracle資料庫系統在眾家資料庫中真的算是相當複雜的,不僅是安裝系統的步驟繁瑣,資料庫的管理技術更是博大精深!不過也因為如此,學會Oracle資料庫之後身價真的是不同凡響喔!從下一期開始,我將從基本的Oracle資料庫使用方式開始介紹,正式帶領各位進入Oracle 9i的世界,我們下次見!

作者簡介
何致億,美商甲骨文公司特約顧問
經歷恆逸資訊系統開發部技術顧問。
專長為Oracle、SQL Server 等大型關聯式資料庫系統管理,資料倉儲規劃建置,以及資料庫應用程式系統開發。擁有 MCSD、MCDBA,Oracle OCP,RHCE,SCJP,Borland JBuilder Product Certified等十餘項國際認證。目前正致力於Oracle9i應用系統開發,並負責Oracle9i系列書籍中文化與Oracle Press技術校稿工作。他同時也是美商甲骨文公司、昇陽公司等原廠認證講師。您可以透過 hochihyi@ms64.hinet.net 與他聯繫
譯作Oracle9i 入門手冊 (Oracle9i A Beginner's Guide)
Oracle9i 技術手冊 (Oracle9i DBA Handbook)

时间: 2024-11-03 21:42:58

Oracle9i 資料庫管理實務講座(一)的相关文章

如何處理資料庫中的Null

對於初學者, 在處理資料庫中的 Null 資料型態是有一點麻煩的事, 在這篇文章文章中我們將談談 Null , 你將會了解到如何知道一個值是 Null , 哪些函數可以或不可以處理 Null 首先, 我們必須知道在 VBScript 中, Variant 是唯一的一種資料型態, 對於那些已經熟悉其他語言的程式開發者, 可能會感到有點不習慣. 使用 Variant 的好處在於其相當有彈性, 因為 Variant 可以儲存任何資料類型, 例如, 整數, 字串, 日期時間, 甚至包括物件及陣列.然而彈

PHP如何透過ODBC來存取資料庫

odbc 使用的環境 先建立一個測試用的資料庫 接著建立一個ODBC連結 再建個測試用的PHP Script 咱們來測試吧 作者 感謝 使用的環境 本文件主要是在Win32的環境下作說明, 您需要的是台跑Windows 9x/NT/2000的電腦, 並裝有任何一種web server和PHP3或PHP4, 且可正確執行PHP Script. 並有一種以上的SQL資料庫軟體, 例如:Access... 本文件以MS-Access資料庫來作說明, 其它種的資料庫端, 皆可以類似的方法來作ODBC連結

如何利用資料庫儲存圖檔

在 SQL Server 當中有一款資料類型號作 Image , 除了可以儲存圖檔外它還可以儲存大型的二進位資料檔, 對這一個欄位大部分的人是聽過但是不知影按怎來用, 今日的文章就要來討論如何將圖檔存入去資料庫 準備工作 為了降低這篇文章的篇幅及複雜度, 咱決定借用 Upload 元件來替我們完成檔案上傳的工作, 所要使用的是 Dundas 所提供免錢的上傳元件, 請到下底的網址下載 Dundas Upload 元件並安裝 http://www.dundas.com/創造資料表 在這個例咱要用到

rails資料庫長時間查詢,導致無法接受request?

问题描述 今天在寫報表產生功能的時候發現 報表產生中的這段時間rails server無法繼續接受request我開了另一個瀏覽器 卻無法request到網頁一定要等到報表產生完後 才可以進入網頁!即使關掉瀏覽器也一樣得等資料庫比對查詢完才行自己推斷可能是下面這個原因..之前資料庫資料較少 我沒有遇過這個問題由於 rails處理client的request是單線程的處理完才能接受下一個request當資料庫需大筆比對查詢大料資料的時候 (假設要花十分鐘!)rails的server無法接受另一個r

避免重複insert 資料庫

问题描述 想請問小弟把很多資料存進去data裡想避免重複存取該如何使用datatable是News比對的欄位是Nname求解希望大神們給個Where完整一點的code感激還有想請問一下如果想抓一個網頁裡某張照片用HtmlAgilityPack小弟是使用html[1]/body[1]/div[1]...... 這種方式因為用innerHtml抓得到圖片但是會連htmltag一起抓下來我只想要抓到圖片其他都不要想清除(也就是說只會顯是img,src那一行)請問可以用什麼方法請求給個完整code因為小

SQL Server7.0 Web資料搜尋技巧

server|web|技巧 「資料庫資料」搜尋:使用SQL指令的LIKE語法.或Microsoft SQL Server 7.0的中文全文檢索(Full Text Search)功能. Microsoft Index Server 於Windows NT Option Pack當中所包括的Microsoft Index Server,提供中文全文檢索的搜尋功能,可以搜尋網站中Microsoft Word 或Microsoft Excel檔案.text.html.ASP等檔案格式內的資料. SQL

將 ASP .NET WebForm 的 DataGrid 中的資料 匯出至 Microsoft Excel

datagrid|excel|web 將 ASP .NET WebForm 的 DataGrid 中的資料 匯出至 Microsoft Excel本文將逐步帶領您產生 ASP.NET WebForm 上的 DataGrid Web 伺服器控制項,然後將 DataGrid 內容匯出至 Microsoft Excel. 技術本文將說明兩種匯出 DataGrid 資料的技術: 使用 Excel MIME 類型 (或內容類型) 您可以使用伺服器端的程式碼將 DataGrid 連結至資料,然後在用戶端電腦

如何做到多筆資料的同步_php基础

一次叫出多筆資料,然後在同一個網頁中「逐一」「分別」做不同的處理,最後「同時」對資料庫 update or insert .每一筆資料所收到的update .insert數據並不相同! ============================  處理要點在於 _____ loop + array   1.從資料庫叫出資料:  db_query進行looping的同時,把相關欄位需要update的資料通通納入array.  依照各人需求,這些資料可以用text.checkbox.或者hidden等

C++ 檔案、資料夾、路徑處理函式庫:boost::filesystem

原帖:https://tokyo.zxproxy.com/browse.php?u=uG7kXsFlW1ZmaxKEvCzu8HrCJ0bXIAddA1s5dtIUZ%2FYzM1u9JI7jjKLTXvXJlIqeavUo1Ak%3D&b=6   如果要在 C++ 裡對特定的檔案做存取,其實透過 STL 的 fstream(參考)來做,一般是不會有什麼問題的:相對的,問題比較大的部分,可能會是在於對於資料夾(folder.directory)的處理,以及對於路徑的操作上.像是以路徑來說,Win