.dbf) 完好保留CREATE CONTROLFILE)RESETLOGS 開啟資料庫關鍵參數(必須與原資料庫一致):
control_files, db_name, instance_name,
background_dump_dest, core_dump_dest, user_dump_dest,
db_block_size=8192, db_cache_size, db_domain,
large_pool_size, pga_aggregate_target, shared_pool_size,
sort_area_size, undo_management, undo_retention, undo_tablespace
來源途徑:
CREATE PFILE='path' FROM SPFILE;⚠️ 必須檢查 background_dump_dest 等目錄是否存在,不存在需建立
確認 SID_LIST_LISTENER 中 GLOBAL_DBNAME、SID_NAME、ORACLE_HOME 正確
export ORACLE_SID=your_sid
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
oradim -NEW -SID your_sid -STARTMODE M
orapwd FILE=$ORACLE_HOME/dbs/orapwyour_sid PASSWORD=strong_password
⚠️ 路徑必須正確,否後續步驟會報錯
sqlplus "/ as sysdba"
-- 參數檔在預設位置
SQL> STARTUP NOMOUNT;
-- 或指定參數檔
SQL> STARTUP NOMOUNT PFILE='/path/to/init.ora';
CREATE CONTROLFILE SET DATABASE "db_name" RESETLOGS NOARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 453
LOGFILE
GROUP 1 '/path/to/redo01.log' SIZE 100M,
GROUP 2 '/path/to/redo02.log' SIZE 100M,
GROUP 3 '/path/to/redo03.log' SIZE 100M
DATAFILE
'/path/to/system01.dbf',
'/path/to/sysaux01.dbf',
'/path/to/undotbs01.dbf',
'/path/to/users01.dbf',
-- 所有資料檔完整路徑,不可遺漏
CHARACTER SET ZHS16GBK;
關鍵點:
RESETLOGS:重置日誌序列,必須指定CHARACTER SET:必須與原資料庫一致
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE "TEMP" ADD TEMPFILE
'/path/to/temp01.dbf' REUSE SIZE 200M;
控制檔不包含暫存檔案定義,必須手工添加,否則排序/雜湊操作會報錯
SELECT NAME, OPEN_MODE FROM V$DATABASE;
SELECT TABLESPACE_NAME, FILE_NAME FROM DBA_DATA_FILES;
SELECT * FROM V$TEMPFILE;
-- 執行業務核心查詢驗證資料完整性