windows 上的手工建庫過程 (原創)

risowangzz發表於2010-04-23

平臺: winxp  + oracle 10.2.0.1.0

一,確定全域性資料庫名及例項名:  riso

二,準備引數檔案,用記事本寫入如下內容.注意標點符號,先不建議定義redo項:引數檔案如下:
sga_target=167772160
audit_file_dest=c:\ORACLE\product\10.2.0/admin/riso/adump
remote_login_passwordfile=EXCLUSIVE
pga_aggregate_target=16777216
db_domain=""
db_name=riso
control_files=("c:\ORACLE\product\10.2.0\oradata\riso\control01.ctl", "c:\ORACLE\product\10.2.0\oradata\riso\control02.ctl", "c:\ORACLE\product\10.2.0\oradata\riso\control03.ctl")
db_recovery_file_dest=c:\ORACLE\product\10.2.0\flash_recovery_area
db_recovery_file_dest_size=2147483648
undo_management=AUTO
undo_tablespace=UNDOTBS
background_dump_dest=c:\ORACLE\product\10.2.0/admin/riso/bdump
core_dump_dest=c:\ORACLE\product\10.2.0/admin/riso/cdump
user_dump_dest=c:\ORACLE\product\10.2.0/admin/riso/udump
processes=150
db_block_size=8192
db_file_multiblock_read_count=16
用記號本儲存為initriso.ora ,把此檔案放到$ORACLE_HOME/dbs下

三,根據軟體安裝目錄來確定database相關檔案目錄.現確定
ORALCE_HOME=c:\ORACLE\PRODUCT\10.2.0\DB_1
ORACLE_BASE=c:\ORACLE

所以接下來幾個目錄就好確定了.建目錄如下:
mkdir c:\ORACLE\product\10.2.0\admin\riso\adump
mkdir c:\ORACLE\product\10.2.0\admin\riso\bdump
mkdir c:\ORACLE\product\10.2.0\admin\riso\cdump
mkdir c:\ORACLE\product\10.2.0\admin\riso\dpdump
mkdir c:\ORACLE\product\10.2.0\admin\riso\udump
mkdir c:\ORACLE\product\10.2.0\db_1\cfgtoollogs\dbca\riso
mkdir c:\ORACLE\product\10.2.0\db_1\database
mkdir c:\ORACLE\product\10.2.0\oradata\riso
* mkdir c:\ORACLE\product\10.2.0\flash_recovery_area                  這一行可能會已經建立

四,在dos視窗用oradim 工具來建立例項名稱及口令檔案

C:\Documents and Settings\wangzz > ORADIM -NEW -SID riso

例項已建立。

檢查$ORACLE_HOME\network\admin\sqlnet.ora檔案中的引數 SQLNET.AUTHENTICATION_SERVICES,不同平臺需要設定不同的引數,在windows平臺:此引數設定為NTS,或者 ALL才能使用作業系統認證,不設定或設定其他引數都不能啟用作業系統認證
在linux/unix平臺:此引數設定為ALL,或者不設定,才能啟用作業系統認證, 設定為其他任何值無法使用作業系統認證
如果使用口令檔案驗證,則還要生成口令檔案

C:\> ORAPWD FILE=c:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PWDriso.ORA PASSWORD=riso

五,準備建庫

設定環境變數,指定登陸例項
c:\ set ORACLE_SID=riso
如果是系統管理驗證
c:\ sqlplus "/as sysdba"  來連線
再用建好的初始化引數檔案來啟動到nomount狀態
STARTUP NOMOUNT PFILE=$ORACLE_HOME/dbs/initriso.ora
有可能出錯,提示引數找不到引數檔案,請調整位置
ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? ' $ORACLE_HOME/dbs/initriso.ora'

去掉問題的方法:
原系統可能是 SIMPLIFIED   CHINESE_CHINA.ZHS16GBK
c:\  set NLS_LANG='american_america.ZHS16GBK'
   export NLS_LANG='american_america.ZHS16GBK'

啟動到nomount狀態後,就可以建立資料庫了.指令碼如下:

create database riso
user sys identified by sys
user system identified by system
logfile group 1 ('c:\oracle\product\10.2.0\oradata\riso\redo01.log') size 50m,
group 2 ('c:\oracle\product\10.2.0\oradata\riso\redo02.log') size 50m,
group 3 ('c:\oracle\product\10.2.0\oradata\riso\redo03.log') size 50m
maxlogfiles 5 maxlogmembers 5 maxloghistory 1
maxdatafiles 100 maxinstances 1
character set zhs16gbk national character set al16utf16
datafile 'c:\oracle\product\10.2.0\oradata\riso\system01.dbf' size 500m reuse
extent management local
sysaux datafile 'c:\oracle\product\10.2.0\oradata\riso\sysaux01.dbf' size 250m autoextend on next 10M maxsize unlimited
default temporary tablespace temp
tempfile 'c:\oracle\product\10.2.0\oradata\riso\temp01.dbf' size 260m reuse
undo tablespace undotbs datafile 'c:\oracle\product\10.2.0\oradata\riso\undotbs01.dbf' size 60m reuse autoextend on maxsize unlimited;

很快完成,建立完後系統會啟動到open狀態.

新增使用者表空間及索引表空間,指定使用者的預設表空間和臨時表空間
create tablespace users logging
datafile 'c:\oracle\product\10.2.0\oradata\riso\user01.dbf' size 25m reuse
autoextend on next 1280k maxsize unlimited extent management local;

create tablespace indx logging
datafile 'c:\oracle\product\10.2.0\oradata\riso\indx01.dbf' size 25m reuse
autoextend on next 1280k maxsize unlimited extent management local;

ALTER DATABASE DEFAULT TABLESPACE USERS;
ALTER USER SYS TEMPORARY TABLESPACE TEMP;


建立資料字典及其他檢視,
SQL> @c:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catalog.sql       
SQL> @c:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catproc.sql       
SQL> @c:\oracle\product\10.2.0\db_1\rdbms\admin\catexp7.sql;       
SQL> @c:\oracle\product\10.2.0\db_1\rdbms\admin\catblock.sql;
SQL> @c:\oracle\product\10.2.0\db_1\rdbms\admin\catoctk.sql;
SQL> @c:\oracle\product\10.2.0\db_1\rdbms\admin\owminst.plb;
檢視日誌,看是否有不可調和的錯誤

修改sys 使用者 system 使用者密碼
alter user sys identified by  kkk
alter user system identified by kkk

重啟restart force
conn sys/kkk 切換使用者來執行以下幾個包
SQL> @c:\oracle\product\10.2.0\db_1\sqlplus\admin\pupbld.sql
SQL> @c:\oracle\product\10.2.0\db_1\sqlplus\admin\help\hlpbld.sql helpus.sql

完成,

生成spfile :
create spfile from pfile;

六:配置網路連線:
tnsnames.ora的修改
c:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下
riso =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = wangzz )(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = riso)
    )
  )
把這些加進去修改

listener.ora的修改:
c:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = c:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
     )
    (SID_DESC=
(GLOBAL_DBNAME=riso)
(ORACLE_HOME = c:\oracle\product\10.2.0\db_1)
(SID_NAME=riso)
     )

  )
注意粗體部分是要加進去的.

修改完成

七,關資料庫,關dos視窗,重啟系統後可能出現的問題:


ORA-12560: TNS: 協議介面卡錯誤
把服務啟起來.net OracleServiceriso start
set ORACLE_SID=riso
可解決

可能重新進入有這種錯誤 sqlplus "/ as sysdba"
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
語言包問題
c:\ set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

八: 建立em
SQL> $emca -repos drop

SQL> $emca -config dbcontrol db -repos create

完成,

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16349480/viewspace-660531/,如需轉載,請註明出處,否則將追究法律責任。

相關文章