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啟動了。