手工建立資料庫
Oracle資料庫的啟動分為三個狀態nomount,mount,open,三個狀態需要的檔案了spfile,controlfile,datafile,log file。第一次看eygle的《循序漸進》的第一章就是手工建立資料庫解析。當時由於是5個月前剛接觸oracle,很多東西都不會很理解,現在這幾天又好好看了下,期間我也手工建立資料庫一兩次,曬下其中的有些注意的地方。
1 首先我們先做點準備工作吧,oracle軟體肯定需要安裝的吧,然後資料庫檔案的儲存目錄
Mkdir oracle_baseadminsfadump
Mkdir oracle_baseadminsfbdump 準備用於儲存警告日誌檔案和後臺跟蹤日誌
Mkdir oracle_baseadminsfcdump
Mkdir oracle_baseadminsfudump 準備用於儲存使用者跟蹤日誌
Mkdir oracle-baseoradatasf 準備儲存資料檔案 日誌檔案 控制檔案
2 資料庫是由例項來訪問的,首先需要我們利用oradim工具來建立一個資料庫例項
C:>Oradim -new -sid sf
資料庫例項sf的服務已經註冊到windows services中去,此時例項並不是os上面的提示的建立成功,例項在nomount建立成功啟動需要sga和後臺程式。
3 但是此時例項是已經建立完畢了,但是如何啟動例項了,首先我們需要sys使用者連入未啟動的資料庫例項,這個時候是需要sys使用者密碼驗證檔案,利用工具orapwd來建立
C:>Orapwd file=oracle_homedatabaseorapwsf. Entries=2 password=oracle
上述的entries是sys指定的最大使用者數。因為資料庫例項未啟動,普通使用者無法連入此時sys使用者可以透過密碼驗證檔案來啟動資料庫,就需要密碼驗證檔案。
4 例項建立已經完成,密碼驗證檔案也已經生成,但是此時由於沒有spfile或者pfile引數檔案,我們只能
C:>Set oracle_sid=sf
指定oracle_sid,讓作業系統可以透過oracle_sid來啟動資料庫對應的後臺程式
C:>sqlplus sys/oracle as sysdba;
此時是無法startup nomount的了。
此時我們可以手工建立一個pfile。
Mkdir oracle_homedatabaseinitsf.ora
此時我們建立了一個pfile引數檔案或者cp一個別的例項pfile來修改,不過還是手工建立吧,pfile檔案中在我以前的nomount狀態資料庫詳解中記載到pfile檔案中只需要一個引數就能啟動資料庫,那就是db_name=sf,我們在pfile預設引數下建立一個只有一個db_name引數的pfile檔案。
Sql>startup nomount
資料庫例項此時已經可以啟動了,此時我們已經只用了上面三步就把一個只安裝oracle軟體的機器成功的建立了資料庫例項並啟動到nomount狀態。
5 nomount狀態是oracle例項啟動過程,此時資料庫分配sga和oracle後臺程式,此時我們並沒有涉及到控制檔案和資料檔案 日誌檔案中物理檔案的建立,接下來我們需要執行建庫指令碼。
create database sf
datafile 'd:oracleproduct
default temporary tablespace temp tempfile 'd:oracleproduct
undo tablespace "undotb" datafile 'd:oracleproduct
sysaux datafile 'd:oracleproduct
logfile group 1 ('d:oracleproduct
group 2 ('d:oracleproduct
group 3 ('d:oracleproduct
今天早上我執行此指令碼,出現很多次的失敗,由於是oracle10G,我在上述指令碼中
default temporary tablespace temp tempfile 'd:oracleproduct
pfile檔案:
db_name=sf
control_files=("D:oracleproduct
undo_management='AUTO'
undo_tablespace='undotb'
後面的undo的兩個引數,經過測試在建庫成功後是即使刪除上述undo兩個引數資料庫都能從nomout mount open,等於如果pfile中只有db_name引數,資料庫是無法mount狀態的,需要pfile來指定controlfile。
(由於此pfile中沒有設定background_dump_dest,user_dump_dest等用於存放後臺日誌 警告日誌 使用者跟蹤日誌,預設的都儲存在oracle_homerdbmstrace下了,最好還是指定上述引數吧跟蹤日誌儲存在在開頭的指定的目錄中,方便檢視)
6 用catalog.sql建立資料字典
start d:oracleproduct
7 用catproc.sql建立系統包
start d:oracle]product
8執行pupbld.sql
connect system/manager
start d:oracleproduct
9 重新關閉資料庫並開啟
shutdown immediate
startup nomount
alter database mount
alter database open
關於上述的6,7,8指令碼由於內容較多,個人沒有過多分析裡面的指令碼,個人覺得有些有些oracle的東西剛開始接觸第一次不是一下子就弄明白的,需要反覆的檢視複習。例如這篇原創筆記大概5個月前我是絕對寫不出來的,而且看eygle的書基本上是90%以上完全不懂,現在回過頭來看裡面的手工建庫雖然有點複雜,但是自己確實能理清楚了,而且還能有點自己的想法!學習就是一個反覆的過程!堅持!
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1053687/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 手工命令建立資料庫資料庫
- Oracle 手工建立資料庫Oracle資料庫
- 手工建立oracle資料庫Oracle資料庫
- 手工建立oracle資料庫(轉)Oracle資料庫
- 【手工建庫】手工方式建立 ORACLE資料庫全程記錄Oracle資料庫
- 【原創】手工建立Oracle資料庫Oracle資料庫
- 4, 手工建立資料庫(筆記)資料庫筆記
- 2.4.10 Step 9:手工建立資料庫資料庫
- Oracle11g 手工建立資料庫Oracle資料庫
- 手工建立ORACLE 11g 資料庫Oracle資料庫
- 手工建立資料庫的完整步驟資料庫
- oracle10g手工建立資料庫Oracle資料庫
- Oracle 10g手工建立資料庫Oracle 10g資料庫
- 手工建立oracle資料庫的過程Oracle資料庫
- 手工建立/刪除資料庫的步驟資料庫
- Oracle 中手工建立資料庫的語法Oracle資料庫
- 手工建立、刪除11gR2資料庫資料庫
- 手工建立一個資料庫的步驟參考資料庫
- 手工建立(Create)一個Oracle 10g資料庫Oracle 10g資料庫
- 手工建立oracle示例資料庫schema (Database Examples 安裝)Oracle資料庫Database
- oracle xe 10g 手工建立資料庫 for windows XPOracle資料庫Windows
- 手工建立資料庫及刪除資料庫示例--附建庫時alert日誌資料庫
- 【手工建庫】(二)在原有資料庫的基礎上再建立一個資料庫資料庫
- 手工建立資料庫的全部指令碼及說明(轉)資料庫指令碼
- 教你手工建立資料庫的全部指令碼及說明資料庫指令碼
- 手工建立資料庫的全部指令碼及說明 (轉)資料庫指令碼
- 手工刪除oracle資料庫Oracle資料庫
- Oracle 10g 手工建立一個最簡單的資料庫Oracle 10g資料庫
- Oracle 11g靜默安裝軟體+手工建立資料庫Oracle資料庫
- Linux平臺下Oracle 10.2.0.1 手工建立資料庫過程LinuxOracle資料庫
- Oracle 11g r2基於OMF方式手工建立資料庫Oracle資料庫
- 單例項資料庫手工轉化多例項資料庫單例資料庫
- Oracle學習系列—Window作業系統下Oracle資料庫的手工建立Oracle作業系統資料庫
- 建立資料庫資料庫
- Oracle xe 手工建立新資料庫後,更改啟動停止指令碼,監聽 for windowsOracle資料庫指令碼Windows
- Oracle學習系列—Window作業系統下Oracle資料庫的手工建立(zt)Oracle作業系統資料庫
- MySQL 建立資料庫 建立表MySql資料庫
- 手工的雙機熱備資料庫配置資料庫