Oracle 10g手工建立資料庫

atlantisholic發表於2011-05-24
個人經驗總結:Oracle 10g手工建立資料庫的方法。

      1、建立目錄

      mkdir d:\oracle\product\10.1.0\database
  mkdir e:\oracle\admin\Ora10g\bdump
  mkdir e:\oracle\admin\Ora10g\cdump
  mkdir e:\oracle\admin\Ora10g\create
  mkdir e:\oracle\admin\Ora10g\pfile
  mkdir e:\oracle\admin\Ora10g\udump
  mkdir e:\oracle\flash_recovery_area
  mkdir e:\oracle\oradata
  mkdir e:\oracle\oradata\Ora10g

  2、生成windows服務,建立密碼檔案,在cmd命令下執行

  set ORACLE_SID=dbca --綠色部分設定oracle 例項名為 為ora10g

  d:\oracle\product\10.1.0\DB_1\bin\oradim.exe -new -sid ORA10G -startmode manual -spfile d:\oracle\product\10.1.0\DB_1\bin\oradim.exe -edit -sid ORA10G -startmode a -spfile

  --建立一個例項名為dbca 並且有手動啟動方式改為自動啟動

  d:\oracle\product\10.1.0\DB_1\bin\orapwd.exe file=d:\oracle\product\10.1.0\db_1\PWDOra10g.ora password=sysPassword force=y

  --用oracle自帶的orapwd 為sys使用者建立一個預設的密碼為sysPassword

  3、執行建立資料庫指令碼

      D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\CreateDB.sql
  D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\CreateDBFiles.sql
  D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\CreateDBCatalog.sql
  D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\postDBCreation.sql

--黑體部分就是建立資料庫要呼叫的指令碼

  第一 CreateDB.sql

      connect SYS/change_on_install as SYSDBA --這是剛剛我們設定的密碼以sysdba身份連線到資料庫
  connect SYS/change_on_install as SYSDBA --這是剛剛我們設定的密碼以sysdba身份連線到資料庫
  set echo on
  spool D:\oracle\ora92\assistants\dbca\logs\CreateDB.log 寫日誌
  startup nomount pfile="D:\oracle\admin\dbca\scripts\init.ora"; 呼叫引數檔案 啟動資料庫到只裝載例項階段
  CREATE DATABASE dbca
  MAXINSTANCES 1
  MAXLOGHISTORY 1
  MAXLOGFILES 5
  MAXLOGMEMBERS 3
  MAXDATAFILES 100 --控制檔案記錄的相關最大日誌數,日誌組,最大資料檔案數等限制
  DATAFILE 'D:\oracle\oradata\dbca\system01.dbf' SIZE 250M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
  EXTENT MANAGEMENT LOCAL
  DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE 'D:\oracle\oradata\dbca\temp01.dbf' SIZE 40M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
  UNDO TABLESPACE "UNDOTBS1" DATAFILE 'D:\oracle\oradata\dbca\undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED --建立系統,臨時,回滾
  CHARACTER SET ZHS16GBK
  NATIONAL CHARACTER SET AL16UTF16 --字符集
  LOGFILE GROUP 1 ('D:\oracle\oradata\dbca\redo01.log') SIZE 102400K,
  GROUP 2 ('D:\oracle\oradata\dbca\redo02.log') SIZE 102400K,
  GROUP 3 ('D:\oracle\oradata\dbca\redo03.log') SIZE 102400K; --建立日誌檔案租和成員
  spool off
  exit;

  第二.CreateDBFiles.sql

     connect   SYS/change_on_install as SYSDBA
  set echo on
  spool D:\oracle\ora92\assistants\dbca\logs\CreateDBFiles.log
  CREATE TABLESPACE "INDX" LOGGING DATAFILE 'D:\oracle\oradata\dbca\indx01.dbf' SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
  CREATE TABLESPACE "TOOLS" LOGGING DATAFILE 'D:\oracle\oradata\dbca\tools01.dbf' SIZE 10M REUSE AUTOEXTEND ON NEXT 320K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
  CREATE TABLESPACE "USERS" LOGGING DATAFILE 'D:\oracle\oradata\dbca\users01.dbf' SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ; --建立相關使用者要用到的表空間
  spool off
  exit;

  第三:CreateDBCatalog.sql  

     --建立system資料字典,存放到system表空間,相關表,檢視等
  connect SYS/change_on_install as SYSDBA
  set echo on
  spool D:\oracle\ora92\assistants\dbca\logs\CreateDBCatalog.log
  @D:\oracle\ora92\rdbms\admin\catalog.sql;
  @D:\oracle\ora92\rdbms\admin\catexp7.sql;
  @D:\oracle\ora92\rdbms\admin\catblock.sql;
  @D:\oracle\ora92\rdbms\admin\catproc.sql;
  @D:\oracle\ora92\rdbms\admin\catoctk.sql;
  @D:\oracle\ora92\rdbms\admin\owminst.plb;
  connect SYSTEM/manager
  @D:\oracle\ora92\sqlplus\admin\pupbld.sql;
  connect SYSTEM/manager
  set echo on
  spool D:\oracle\ora92\assistants\dbca\logs\sqlPlusHelp.log
  @D:\oracle\ora92\sqlplus\admin\help\hlpbld.sql helpus.sql;
  spool off
  spool off
  exit;

  第四: postDBCreation.sql

     connect SYS/change_on_install as SYSDBA
  set echo on
  spool D:\oracle\ora92\assistants\dbca\logs\postDBCreation.log
  @D:\oracle\ora92\rdbms\admin\utlrp.sql; --編譯相關檢視,包物件等
  shutdown ; --關閉資料庫
  connect SYS/change_on_install as SYSDBA
  set echo on
  spool D:\oracle\ora92\assistants\dbca\logs\postDBCreation.log
  create spfile='D:\oracle\ora92\database\spfiledbca.ora' FROM pfile='D:\oracle\admin\dbca\scripts\init.ora';

--建立伺服器引數檔案代替檔案初始化引數檔案,方便有時在不重啟資料庫的情況下可以使引數生效

    從上面可以看到spfile檔案的存放位置

  startup ; --啟動資料庫 ,建立資料庫完成

  exit;

  從上面可以看出,建立資料庫有以下10個步驟

  Step 1: 建立相關trace目錄資料夾

  Step 2:建立例項,密碼 啟動方式

  Step 3:建立初始化引數檔案 init.ora

  Step 4: 連線到例項

  Step 5: 啟動例項到nomount狀態

  Step 6:建立資料庫

  Step 7:建立表空間

  Step 8: 執行指令碼建立資料字典

  Step 9: 建立伺服器引數檔案(這步不是必須的,但oracle建議做這步) 好處會在以後的總結中列出

  下面也貼出linux下指令碼,和windows下幾乎差不多 

      #!/bin/sh
  mkdir /oradata/ora9i
  mkdir /oradata/ora9i/controlfile
  mkdir /oradata/ora9i/redofile
  mkdir /orasys/oracle/admin
  mkdir /orasys/oracle/admin/ora9i
  mkdir /orasys/oracle/admin/ora9i/bdump
  mkdir /orasys/oracle/admin/ora9i/cdump
  mkdir /orasys/oracle/admin/ora9i/create
  mkdir /orasys/oracle/admin/ora9i/udump
  mkdir /orasys/oracle/admin/ora9i/pfile
  cp init.ora /orasys/oracle/product/9.2.0/dbs/.
  export ORACLE_BASE=/orasys/oracle
  export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
  export ORACLE_SID=ora9i
  export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
  LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
  export LD_LIBRARY_PATH
  export PATH=$PATH:$ORACLE_HOME/bin
  echo Add this entry in the oratab: ora9i:/orasys/oracle/product/9.2.0:Y
  /orasys/oracle/product/9.2.0/bin/orapwd file=/orasys/oracle/product/9.2.0/dbs/orapwora9i password=change_on_install
  /orasys/oracle/product/9.2.0/bin/sqlplus /nolog @/home/oracle/create_script/CreateDB.sql
  /orasys/oracle/product/9.2.0/bin/sqlplus /nolog @/home/oracle/create_script/CreateDBFiles.sql
  /orasys/oracle/product/9.2.0/bin/sqlplus /nolog @/home/oracle/create_script/CreateDBCatalog.sql
  /orasys/oracle/product/9.2.0/bin/sqlplus /nolog @/home/oracle/create_script/postDBCreation.sql

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

相關文章