unix系統?

SCO UNIX環境下重建Oracle7數據庫

  ORACLE7安裝成功之後便建有一數據庫ora7或or71,如果自己做應用開發,則可能要重建 數據庫或建一新的數據庫以滿足自己的需要,而ORACLE重建數據庫不但要用SQL命令create database創建,還要指定大量的參數,如控制文件、日誌文件、參數文件、數據庫實例名。 並且要建立相關的系統段、回滾段、用戶段等,及其對應的數據文件。其步驟如下:

  以oracle用戶登錄UNIX系統

  SCOSYSV!LOGIN:oracle

  備份後刪除原數據庫文件和控制文件

  $cd ./dbs

  $rm*.dbf

  $rm*.ctl

  $cd /*進入oracle用戶目錄*/

  編輯文件.profile,在$ORACLE_HOME目錄中(假設為/u/oracle)

  $vi .profile

  #插入以下各行,設置環境變量

  ORACLE_HOME=/u/oracle;export ORACLE_HOME

  TK2DEV=ANSI

  #ORACLE_SID是庫實例名,建議四個字母或數字

  ORACLE_SID=olib

  PATH=/usr/bin:/u/bin:/u/sbin:$ORACLE_HOME/bin

  exprot TK2DEV

  exprot ORACLE_SID

  exprot PATH

  :wq! 存盤退出

  進入ORACLE_HOME/dbs目錄設置參數文件

  $cd ./dbs

  編輯init$ORACLE_SID.ora文件

  $cp init.ora initolib.ora #用原始的初始化文件設置

  $cp init_0.ora initolib_0.ora #原始的初始化文件用於create database

  $vi initolib_0.ora

  #設置參數文件

  #ifile=$ORACLE

  _HOME/dbs/config

  $ORACLE_SID.ora

  ifile =/u/oracle/dbs/configolib.ora

  rollback_segments =( ) #先設回滾段為空,在initolib.ora中為#(r01,r02,r03,r04

  :qw!存盤退出

  編輯config$ORACLE_SID.ora文件

  $vi configolib.ora

  # 設置控制文件

  control_files=(/u/oracle/dbs/ctr1olib.ctl #三個控制文件最好

  /u/oracle/dbs/ctr2olib.ctl,#放在不同目錄或

  /u/oracle/dbs/ctr3olib.ctl)#磁盤上

  db_block_size=2048 #可自行確定

  db_name=olib #設置數據庫名

  :wq! 存盤退出

  編輯建庫SQL命令文件

  $cd ./dbs

  $cp crora7.sql crolib.sql #用原始的SQL文件編輯

  $cp cr2ora7.sql cr2olib.sql #用原始的SQL文件編輯

  $vi crolib.sql

  set termout on

  set echo on

  spool/u/oracle/dbs/crolib.lst /*輸出到文件crilib.lst*/

  connect internal /*dba連接到internal*/

  /*用參數文件initolib_0.ora啟動數據庫實例,但不安裝實例*/

  startup nomount pfile=/u/oracle/dbs/initolib_0.ora

  create database"olib" /*數據庫名*/

  maxinstances 1 /*可同時打開數據庫實例的最大值*/

  maxlogfiles 16 /*可建的日誌文件組的最大值*/

  datafile /*指定用於SYSTEM表空間的數據文件*/

  `/u/oracle/dbs/systolib.dbf' size 25M

  logfile /*指定日誌文件,最好放在不同磁盤上*/

  `/u/oracle/dbs/log1olib.dbf' size 500k,

  `/u/oralce/dbs/log2olib.dbf' size 500k,

  `/u/oracle/dbs/log3olib.dbf' size 500k;

  disconnect

  spool off

  <EOF:>

  編輯建數據字典與表空間SQL命令文件

  $vi cr2olib.sql

  …/*由於文件較大,未錄。需要者請與作者聯繫*/

  開始建庫

  重新以ORACLE用戶登錄,讓.profile文件起作用.

  $cd ./dbs /*進入/dbs目錄*/

  $sqldba mode=line /*以行命令方式啟動DBA工具*/

  SQLDBA>@CROLIB.SQL /*執行建庫SQL命令文件/

  SQLDBA>@CR2OLIB.SQL /*執行建數據字典SQL命令文件*/

  SQLDBA>EXIT

  $

  此時已建立數據庫olib,並建用戶sys/change_on_install和sys-tem/manager

  如需創建其他用戶可以用system用戶進入SQLDBA後

  SQLDBA>CREATE USER MYUSER IDENTIFIED BY MYPAS-WORD

  DEFAULT TABLESPACE USERS

  TEMPORARY TABLESPACE TEMP

  QUOTA UNLIMITED ON USERS

  QUOTA 5M ON SYSTEM

  QUOTA 5M ON TEMP

  ;

  再授予用戶特權

  SQLDBA>GRANT DBA TO MYUSER;

  這樣重建數據庫的過程就全部完成,之後就可以建立表空間和自己設計的表進行開發或 應用了。

  如想用原命令$dbstart啟動新的數據庫只要修改文件oratab即可。

  $vi /etc/oratab

  olib :/u/oracle:Y /*第一個參數為數據庫名,

  第二個參數為$ORACLE_HOME路徑,

  第三個參數為自定義$ORACLE_SID庫名,即第

  一個參數的存在情況是Yes.

  */

  :wq! /*存盤退出*/

  這樣就可用$dbstart啟動了。

相關問題答案