前幾天手工刪除測試資料庫並重建的指令碼
原來的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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 指定刪除幾天前的索引資料索引
- 刪除資料庫指令碼資料庫指令碼
- 手工刪除oracle資料庫Oracle資料庫
- 手工建立/刪除資料庫的步驟資料庫
- EM資料庫重建 手動刪除資料庫資料庫
- 指令碼:刪除某一日前的資料指令碼
- oracle刪除超過N天資料指令碼的方法Oracle指令碼
- 在WINDOWS下刪除幾天前的檔案Windows
- 如何手工刪除oracle資料庫和軟體Oracle資料庫
- 手工建立、刪除11gR2資料庫資料庫
- loadrunner 資料庫測試指令碼資料庫指令碼
- 重建控制檔案,並且不乾淨的關閉資料庫測試資料庫
- Linux實現定時備份MySQL資料庫並刪除30天前的備份檔案LinuxMySql資料庫
- windows刪除幾天前檔案的批處理命令Windows
- 刪除七天以前檔案的指令碼指令碼
- 手工建立資料庫及刪除資料庫示例--附建庫時alert日誌資料庫
- 手工建立資料庫的全部指令碼及說明(轉)資料庫指令碼
- 教你手工建立資料庫的全部指令碼及說明資料庫指令碼
- 手工建立資料庫的全部指令碼及說明 (轉)資料庫指令碼
- MySQL 批量更新、刪除資料shell指令碼MySql指令碼
- 生成指令碼,得到所有表的外來鍵約束,然後刪除並重建這些約束指令碼
- Oracle 11g刪除庫重建Oracle
- 刪除當前資料庫連線使用者資料庫
- Windows Linux 刪除N天之前的檔案指令碼WindowsLinux指令碼
- shell指令碼之刪除固定天數之前的檔案指令碼
- 給資料庫做上線前的測試(1)資料庫
- Code First 遷移更新資料庫 無需刪除當前資料庫資料庫
- 在 Linux 中使用 Bash 指令碼刪除早於 “X” 天的檔案/資料夾Linux指令碼
- Oracle10g下手工重建CRS和RAC資料庫Oracle資料庫
- windows/linux自動備份mysql並刪除7天前的備份WindowsLinuxMySql
- oracle-手工建庫指令碼Oracle指令碼
- indexedDB 刪除資料庫Index資料庫
- Laravel 資料庫裡的資料刪除Laravel資料庫
- 批量刪除Oracle資料庫的資料Oracle資料庫
- 【RAC】刪除RAC資料庫節點(一)——刪除資料庫例項資料庫
- 刪除指定資料夾的檔案內容的sh指令碼指令碼
- SQL Server無法刪除資料庫 "xxx",因為該資料庫當前正在使用(如何刪除一個Sql Server資料庫)SQLServer資料庫
- 墨者學院-SQL手工注入漏洞測試(MySQL資料庫)MySql資料庫