前幾天手工刪除測試資料庫並重建的指令碼

orchidllh發表於2005-04-15

原來的dwtest測試庫壞掉了,因為是測試庫,也懶得去研究如何修復了,徵求了幾個DBA的意見,乾脆重建好了。

首先刪除原來的資料庫:

刪除原來的資料檔案、控制檔案、密碼檔案、日誌檔案等等,目錄都保留


首先刪除資料檔案
/home/oracle/oradata/dwtests/*.dbf

刪除日誌檔案
/home/oracle/admin/dwtest/bdump/*.*
/home/oracle/admin/dwtest/cdump/*.*
/home/oracle/admin/dwtest/udump/*.*
/home/oracle/admin/dwtest/create/*.*

pfile目錄裡面的內容沒有刪,引數檔案還是用的原來的那個

刪除控制檔案
/home1/oracle/oradata/dwtest/*.ctl

刪除密碼檔案
$ORACLE_HOME/dbs/orapwdwtest

刪除原來的歸檔日誌
/home1/oracle/oradata/dwtest/arch/*.arc

刪除重做日誌:
/home/oracle/oradata/dwtest/*.log

建立密碼檔案
orapwd file=/home/oracle/product/9.2/dbs/orapwdwtest password=manager entries=5

在linux下面沒有找到oradim命令,可能linux下面不需要刪除例項的,只要清空了上面的檔案直接建庫就可以了。

用原來的pfile啟動例項
startup nomount pfile="$ORACLE_BASE/admin/dwtest/pfile/initdwtest.ora.2192004102648"

建立資料庫:
CREATE DATABASE dwtest
LOGFILE '/home/oracle/oradata/dwtest/redo01.log' SIZE 2048K,
    '/home/oracle/oradata/dwtest/redo02.log' SIZE 2048K,
    '/home/oracle/oradata/dwtest/redo03.log' SIZE 2048K
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXLOGHISTORY 1
DATAFILE '/home/oracle/oradata/dwtest/system01.dbf' SIZE 58M  REUSE AUTOEXTEND ON NEXT 10M
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/home/oracle/oradata/dwtest/temp.dbf' size 10M AUTOEXTEND ON NEXT 10M
UNDO TABLESPACE UNDOTBS1 DATAFILE '/home/oracle/oradata/dwtest/undotbs1.dbf' SIZE 20M
MAXDATAFILES 254
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET UTF8;

修改system的預設儲存
ALTER TABLESPACE SYSTEM DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 50);
ALTER TABLESPACE SYSTEM MINIMUM EXTENT 64K;

建立使用者表空間
CREATE TABLESPACE USERS DATAFILE '/home/oracle/oradata/users01.dbf' SIZE 100M REUSE
 AUTOEXTEND ON NEXT 1280K
 MINIMUM EXTENT 128K
 DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);

建立工具表空間
CREATE TABLESPACE TOOLS DATAFILE '/home/oracle/oradata/tools01.dbf' SIZE 64M REUSE
 AUTOEXTEND ON NEXT 320K
 MINIMUM EXTENT 32K
 DEFAULT STORAGE ( INITIAL 32K NEXT 32K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);

--建立索引表空間
CREATE TABLESPACE INDX DATAFILE '/home/oracle/oradata/indx01.dbf' SIZE 32M REUSE
 AUTOEXTEND ON NEXT 1280K
 MINIMUM EXTENT 128K
 DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);

設定預設的臨時表空間
alter user sys temporary tablespace TEMP;

建資料字典(這些指令碼執行的時候有的提示錯誤,沒有注意,應該沒有什麼問題)
@$ORACLE_HOME/rdbms/admin/catalog.sql;
@$ORACLE_HOME/rdbms/admin/catexp7.sql
@$ORACLE_HOME/rdbms/admin/catproc.sql
@$ORACLE_HOME/rdbms/admin/caths.sql

connect internal/oracle
@$ORACLE_HOME/rdbms/admin/catrep.sql
exit

alter user system default tablespace SYSTEM;
alter user system temporary tablespace TEMP;

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

相關文章