熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle9i 數據庫管理實務講座(五)-手動建立 Oracle9i 數據庫

2013-11-13 15:25:57  來源: Oracle 

  作者: 何致億 美商甲骨文公司台灣分公司特約顧問
  
  
  
  前幾期我們分別探討 Oraclei 核心要素與數據庫實體組成相信大家對於 Oraclei 數據庫服務器已經具有一定程度的了解了本期我將介紹手動建置 Oraclei 數據庫的步驟與相關注意事項
  
  
  
  本文內容將涵蓋下列主題
  
  n 建立數據庫的前置工作
  
  n 起始參數檔的重要參數
  
  n 手動建立 Oraclei 數據庫的步驟
  
  n 如何移除 Oraclei 數據庫
  
  
  
  不管原因為何當您准備自行建立 Oraclei 數據庫時都必須事先做好妥善准備因為手動建立 Oraclei 數據庫並不是件容易的事可能的話應該盡量使用 Oraclei 提供的「數據庫建置輔助精靈」來建立新數據庫但是要想成為一個合格的 Oracle DBA您也必須熟稔手動建立數據庫的方式才能面對建置 Oraclei 數據庫所可能碰到的任何問題
  
  
  
  首先我們先看看建立 Oraclei 數據庫之前應注意那些事情
  
  
  
  建立 Oraclei 數據庫的前置處理工作
  
  在開始建立新的 Oraclei 數據庫之前建議您先做好下列准備工作
  
  n 評估資料表與索引的存放位置並預估其所需空間(如果可能的話)
  
  n 規劃操作系統下數據庫實體檔案的部署方式 — 良好的檔案配置將大幅改善資料存取效能不管是安裝 Oracle 服務器軟件或是建置新數據庫時都必須特別注意這點例如說您可以將重置日志文件 (Redo Log files) 置於其它磁盤或是 RAID 磁盤陣列上而將數據文件置於 RAID 磁盤陣列上
  
  n 選定「全域數據庫名稱」(global database name) — 它是在網際網絡上識別 Oraclei 數據庫的方式由 數據庫名稱 與 網域名稱 組成分別設定在起始參數檔的 DB_NAME 與 DB_DOMAIN 參數內
  
  n 熟悉起始參數檔內較重要的參數甚至「服務器參數檔」(server parameter file)的使用時機與其功用
  
  n 選定適當的數據庫字符集所有字符資料都是依照特定字符集存入數據庫因此您必須在建立數據庫時指定適當字符集 (注[])
  
  n 選定「標准資料區塊」大小 — 設定在起始參數檔的 DB_BLOCK_SIZE 參數除了 SYSTEM 資料表空間其它資料表空間也可以遵循「標准資料區塊」的設定此外在 Oraclei 數據庫中您可以設定額外四種「非標准資料區塊」需要注意的是「標准資料區塊」大小在數據庫建立完成後即無法更改
  
  n 針對未來數據庫的運作情況訂立一份良好的數據庫備份計劃以便數據庫毀損時能在最短時間內予以修復
  
  n 熟悉 Oraclei 數據庫的激活/關閉方式與其搭配的各種選項(如 STARTUP 指令的 nomountmountopen 選項)
  
  n 確認物理內存是否足以激活 Oraclei Instance
  
  n 確認 Oraclei 服務器機的磁盤空間足夠以建置新數據庫
  
  
  
  除了本文提及的注意事項您也可以查閱各種操作系統專屬的 Oraclei 安裝指南以獲取更詳盡的信息
  
  
  
  選擇數據庫建置方式
  
  Oraclei 數據庫建置過程包含下列三項主要工作
  
  n 建置新的數據庫實體檔案包含資料文件重置日志文件
  
  n 建立控制檔並予以初始化
  
  n 建置 Oraclei 存取數據庫系統時必要的數據字典(data dictionary)
  
  
  
  實際上您可能經由下列三種方式之一來建置新的 Oraclei 數據庫時
  
  n 使用 Oracle「數據庫建置組態精靈」(Database Configuration AssistantDBCA)
  
  Oracle Universal Installer 在安裝過程中會適時激活 DBCA 協助您建立數據庫視您選擇的安裝種類而定DBCA 將以圖形接口方式引導您逐步完成 Oraclei 數據庫的建置工作若是安裝過程未激活 DBCA您也可以事後單獨激活 DBCA 建立新數據庫甚至建立第二個 Oraclei 數據庫
  
  n 執行指令文件(script)手動建立 Oraclei 數據庫
  
  如果您手邊恰好保存著上次建立 Oraclei 數據庫所用的指令文件那麼您可以直接編修該指令文件並予以執行否則建議您使用 Oraclei 提供的范例指令文件進行編修Oraclei 不僅提供了數據庫建置范例指令文件也提供了起始參數范例文件您可視實際需要進行必要調整
  
  n 移轉(migrate)或升級(upgrade)既有數據庫
  
  如果您的應用系統正在存取既有 Oracle 數據庫除非您需要一個全新的數據庫或是測試用環境否則應該不需要建立新數據庫在此情況下您所面臨的將是數據庫移轉或升級議題有關這方面的詳盡信息請參閱《Oraclei Database Migration》手冊
  
  
  
  再談起始參數檔
  
  還記得上一期曾經提過的起始參數檔嗎?因為手動建立 Oraclei 數據庫之前必須先激活 Oraclei Instance因此您必須先建立一個起始參數檔建立新的起始參數檔時最快速的方式就是編輯 Oraclei 提供的范例檔案然後另存新檔我較習慣的方式是直接編輯既有起始參數檔之復本然後視實際需要進行調整因為起始參數檔可供設定的參數非常多如果某些參數未經過明確設定Oraclei 會自動代入默認值
  
  第一次以手動方式建立 Oracle 數據庫時建議您盡可能不要修改各起始參數值等到您熟悉每個參數的意義與使用時機之後再利用文字編輯器調整或新增其它參數除此之外Oraclei 允許您建立服務器參數文件(以二進制格式存放)該檔案內的參數可在 Oraclei Instance 激活後執行 ALTER SYSTEM 指令予以修改
  
  
  
  以下是建置新數據庫之前必須新增或編輯的起始參數包括
  
  n 全域數據庫名稱
  
  n 控制文件名稱與路徑
  
  n 資料區塊大小
  
  n 影響 SGA 容量的起始參數
  
  n 設定處理程序最大數目
  
  n 設定空間回復(Undo)管理方法
  
  
  
  設定全域數據庫名稱
  
  Oraclei 的全域數據庫名稱由「數據庫名稱」與「網域名稱」所組成其中「數據庫名稱」設定於 DB_NAME 起始參數而「網域名稱」則是設定於 DB_DOMAIN 參數這兩個參數合並之後就可以在網際網絡上唯一識別每一個 Oraclei 數據庫舉例來說假設我們欲建立的 Oraclei 數據庫之全域數據庫名稱為 tw那麼可在起始參數檔內設定下列兩參數
  
  DB_NAME = mydb
  
  DB_DOMAIN = tw
  
  Tips
  
  您可以執行 ALTER DATABASE RENAME GLOBAL_NAME 指令更改 Oraclei 數據庫的全域數據庫名稱在您更改 DB_NAME 與 DB_DOMAIN 這兩個起始參數後必須將 Oraclei 數據庫重新激活才會生效此外控制檔也必須重新建立
  
  關於 DB_NAME 起始參數
  
  DB_NAME 必須是文字字符串且不能超過 個字符在建立數據庫的過程中DB_NAME 設定值會記錄在資料文件控制文件以及重置日志文件之中如果您激活 Oraclei Instance 的時候起始參數檔內設定的 DB_NAME 不同於控制文件內所紀錄的那麼數據庫將無法激活
  
  
  
  關於 DB_DOMAIN 起始參數
  
  DB_DOMAIN 通常是數據庫主機所在位置的網域名稱如果您欲建立的數據庫將加入分布式數據庫運算環境請特別注意此參數的設定
  
  
  
  設定控制檔
  
  如前所述控制文件是 Oraclei 數據庫內相當重要的檔案因此您必須在新的起始參數檔內加入 CONTROL_FILE 參數以設定控制文件之文件名與路徑當您執行 CREATE DATABASE 時列在 CONTROL_FILE 之中的控制檔將隨之建立如果起始參數檔忽略了此項參數則 Oraclei 會在執行 CREATE DATABASE 指令時自動建立控制文件並命名之然後放在系統預設路徑下
  
  那麼如果 CONTROL_NAME 內設定的控制文件已經存在於操作系統下該怎麼辦呢?此時 Oraclei 會自動覆蓋既有的控制檔如果您想建立全新的控制檔請確定 CONTROL_NAME 設定的控制文件名不會與操作系統下任何文件名重復
  
  依照過去經驗Oracle 強烈建議您為每個數據庫至少規劃兩個控制檔並分散在兩個實體磁盤上如此可避免任一控制文件毀損時造成系統停擺
  
  
  
  
  
  設定資料區塊大小
  
  Oraclei 數據庫內存放資料的最小單位為「資料區塊」(data block)數據庫內「標准資料區塊」大小是設定在起始參數檔之 DB_BLOCK_SIZE 參數Oraclei 數據庫內最重要的 SYSTEM 資料表空間就是以 DB_LOCK_SIZE 設定值為基礎所建立此外 DB_BLOCK _SIZE 也是建立新資料表空間時預設的資料區塊大小除了標准資料區塊大小之外Oraclei 支持額外 種「非標准資料區塊」大小
  
  
  
  關於 DB_BLOCK_SIZE 起始參數
  
  從 Oraclei 開始DB_BLOCK_SIZE 所設定的僅是標准資料區塊大小絕大多數的數據庫環境只需要設定該參數即可一般來說DB_BLOCK_SIZE 可設定為 K 或 K如果此參數未經設定則 Oraclei 會自動依照數據庫所在操作系統平台自行決定適當的資
From:http://tw.wingwit.com/Article/program/Oracle/201311/16692.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.