天天看點

手動建立資料庫以及解決ora-01092和ora-12560

手動建立資料庫以及解決ora-01092和ora-12560

今天第一次手動建立資料庫,遇到一大堆的問題,都有點想放棄了,平時都是利用Databaseconfiguration Assistant來建立,下面我來講述自己建立oracle資料庫的過程和建立過程中遇到的錯誤以及解決的辦法.

安裝環境:

作業系統:Window xp professional

資料庫版本:Oracle Database 10g Release 10.1.0.2.0 -Production

安裝步驟:

1.首先我從原來存在的資料庫中拷貝init.ora,對其進行修改(主要是改一些資料庫檔案存放的位置和資料庫名),同時建立存放資料庫檔案的目錄(資料檔案,控制檔案,日志檔案,歸檔日志檔案)

2.設定oracle_home,set ORACLE_HOME=目錄名

3.建立一個新的執行個體,oradim new -sid sid syspwd password

4.修改系統資料庫中的ORACLE_SID為新建立的執行個體名 --否則(在建立完該資料庫後用如sqlplus  / as sysdba登入該資料庫時)就會出現ora-12560 :TNS:protocol  adaptererror

5.以sys身份登陸,startup pfile=剛才建立的 nomount

6.下面開始建立資料庫

 (1)create database db

 (2)maxlogfiles 10

 (3)maxlogmembers 5

 (4)maxdatafiles 20

 (5)maxloghistory 200

 (6)maxinstances 5

 (7)logfile

 (8)group 1 'D:\oradate\db\redo01.log' size10m,

 (9)group 2 'D:\oradate\db\redo02.log' size10m,

 (10) group 3 'D:\oradate\db\redo03.log' size10m

 (11)datafile 'D:\oradate\db\system01.dbf' size100m

 (12)sysaux datafile 'D:\oradate\db\sysaux01.dbf'size 50m

 (13)undo tablespace UNDOTBS1

 (14)datafile 'D:\oradate\db\undo01.dbf' size40m

 (15)default temporary tablespace temp

 (16)tempfile 'D:\oradate\db\temp01.dbf' size20m

 (17)extent management local uniform size128k

 (18)character set ZHS16GBK

 (19)national character set AL16UTF16

--(12)是必須的,開始寫的時候是按照ocp031中的來建立,老提是說,sysauxdatafiles是必須的--(好象意思就差不多這樣,我也記不清楚),後來就上網找,才知道在10g中建立資料庫必須指定sysaux表空間

--(13)注意這裡undo tablespace的名字必須是 UNDOTBS1

否則就出現啟動的時候就會出現ora-1092,alter.log中的具體錯誤如下

ORA-30012 signalled during: CREATE UNDO TABLESPACE UNDO1DATAFILE  'D:\oradate...

Sun Apr 08 11:43:56 2007

Errors in file d:\app\admin\db\udump\db_ora_3720.trc:

ORA-00604: error occurred at recursive SQL level 1

ORA-30012: undo tablespace 'UNDOTBS1' does not exist or of wrongtype

看到這個錯誤提示,就嘗試把undo tablespace改名為UNDOTBS1,結果資料庫就安裝成功了

上網找過ora-01092,其實有位大哥已經給出了解決辦法,但是那時候沒仔細去看,後來裝完資料庫後有去看了一遍ora-01092的解決辦法,才發現自己白忙了半天,人家早就寫好了解決辦法,但是就是不會用,建完資料庫後,又回頭看了遍那文章

到此資料庫的建立部分就完成了,接下來就是安裝腳本,發現很多腳本沒安裝成功

(11)--system 表空間不足.引起一下後果

Alert.log中的錯誤提示

ORA-1653: unable to extend table SYS.OBJ$ by 13in  tablespaceSYSTEM  --開始不知道啥意思,這個應該是提示說system表空間大小不夠,這個錯誤是在後來自己建立資料表的時候,也報system表空間不足,後來就加大了system表空間就正常的(答案也是網上找到的)

最後的一個問題是在安裝sqlplus幫助的時候發現的,在網上看到安裝sqlplus的幫助就用到helpbld.sql和helpus.sql,但是我一運作腳本老提示要輸入第二個參數,我也不知道輸什麼,後來去看了helpbld.sql和hlpbld.sql的源檔案,發現前者是需要兩個參數,後者隻需要輸入一個參數,就用hlpbld.sql來建立參數就是helpus.sql

最後就是建立spfile

create spfile from pfile=初始檔案路徑

今天建立資料庫的整個過程就這些了.

繼續閱讀