NOARCHIVELOG 모드 에서 냉 백업 데이터베이스 복원!
SQL> show user
USER "SYS"
SQL> select INSTANCE_NAME,STATUS from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
data OPEN
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/data/users01.dbf
/u01/app/oracle/oradata/data/sysaux01.dbf
/u01/app/oracle/oradata/data/undotbs01.dbf
/u01/app/oracle/oradata/data/system01.dbf
SQL> select name from v$controlfile;
NAME
--------------------------------------------------
/u01/app/oracle/oradata/data/control01.ctl
/u01/app/oracle/oradata/data/control02.ctl
/u01/app/oracle/oradata/data/control03.ctl
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------
/u01/app/oracle/oradata/data/redo03.log
/u01/app/oracle/oradata/data/redo02.log
/u01/app/oracle/oradata/data/redo01.log
SQL> shutdown immediate
。
。
ORACLE 。
임시 파일 은 백업 하지 않 아 도 되 고 실제 적 으로 매개 변수 파일 도 백업 해 야 합 니 다.여기 서 나 는 위의 모든 파일 을 / u01 / datafile / 아래로 복사 한 다음 백업 전의 모든 파일 을 삭제 하고 디스크 고장 을 모 의 한다.
[oracle@linux datafile]$ pwd
/u01/datafile
[oracle@linux datafile]$ cp /u01/app/oracle/oradata/data/* /u01/datafile/
[oracle@linux datafile]$ ll
954144
-rw-r----- 1 oracle oinstall 7061504 10-08 07:46 control01.ctl
-rw-r----- 1 oracle oinstall 7061504 10-08 07:46 control02.ctl
-rw-r----- 1 oracle oinstall 7061504 10-08 07:46 control03.ctl
-rw-r----- 1 oracle oinstall 52429312 10-08 07:46 redo01.log
-rw-r----- 1 oracle oinstall 52429312 10-08 07:46 redo02.log
-rw-r----- 1 oracle oinstall 52429312 10-08 07:46 redo03.log
-rw-r----- 1 oracle oinstall 262152192 10-08 07:46 sysaux01.dbf
-rw-r----- 1 oracle oinstall 503324672 10-08 07:46 system01.dbf
-rw-r----- 1 oracle oinstall 20979712 10-08 07:46 temp01.dbf
-rw-r----- 1 oracle oinstall 26222592 10-08 07:46 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 10-08 07:46 users01.dbf
[oracle@linux datafile]$ rm -rf temp01.dbf
[oracle@linux datafile]$ ll
953560
-rw-r----- 1 oracle oinstall 7061504 10-08 07:46 control01.ctl
-rw-r----- 1 oracle oinstall 7061504 10-08 07:46 control02.ctl
-rw-r----- 1 oracle oinstall 7061504 10-08 07:46 control03.ctl
-rw-r----- 1 oracle oinstall 52429312 10-08 07:46 redo01.log
-rw-r----- 1 oracle oinstall 52429312 10-08 07:46 redo02.log
-rw-r----- 1 oracle oinstall 52429312 10-08 07:46 redo03.log
-rw-r----- 1 oracle oinstall 262152192 10-08 07:46 sysaux01.dbf
-rw-r----- 1 oracle oinstall 503324672 10-08 07:46 system01.dbf
-rw-r----- 1 oracle oinstall 26222592 10-08 07:46 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 10-08 07:46 users01.dbf
[oracle@linux datafile]$ rm -rf /u01/app/oracle/oradata/data/
데이터베이스 가 정상적으로 작 동 하지 않 는 것 을 볼 수 있 습 니 다.
SQL> conn /as sysdba
。
SQL> startup
ORACLE 。
Total System Global Area 167772160 bytes
Fixed Size 1266392 bytes
Variable Size 67112232 bytes
Database Buffers 96468992 bytes
Redo Buffers 2924544 bytes
ORA-00205: ?????????, ??????, ???????
SQL> select status from v$instance;
STATUS
------------------------
STARTED
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 。
다음 기록 복원 작업:
1. pfile 매개 변수 파일 을 만 들 고 제어 파일 의 저장 경 로 를 수정 합 니 다.
SQL> create pfile from spfile;
。
*.control_files='/u01/datafile/control01.ctl','/u01/datafile/control02.ctl','/u01/datafile/control03.ctl'
2. mount 데이터베이스.
SQL> conn /as sysdba
。
SQL> startup nomount pfile='/u01/app/oracle/product/10.2.0/db_1/dbs/initdata.ora'
ORACLE 。
Total System Global Area 167772160 bytes
Fixed Size 1266392 bytes
Variable Size 67112232 bytes
Database Buffers 96468992 bytes
Redo Buffers 2924544 bytes
SQL> alter database mount;
。
데이터베이스 파일, 로그 파일 의 경로 가 잘못 되 었 기 때문에 데이터 베 이 스 를 열 수 없습니다.
SQL> alter database open;
alter database open
*
1 :
ORA-01157: ????/?????? 1 - ??? DBWR ????
ORA-01110: ???? 1: '/u01/app/oracle/oradata/data/system01.dbf'
SQL> select status from v$instance;
STATUS
------------
MOUNTED
3. 경로 수정
SQL> select name from v$datafile;
NAME
--------------------------------------------------
/u01/app/oracle/oradata/data/system01.dbf
/u01/app/oracle/oradata/data/undotbs01.dbf
/u01/app/oracle/oradata/data/sysaux01.dbf
/u01/app/oracle/oradata/data/users01.dbf
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------
/u01/app/oracle/oradata/data/redo03.log
/u01/app/oracle/oradata/data/redo02.log
/u01/app/oracle/oradata/data/redo01.log
SQL> alter database rename file '/u01/app/oracle/oradata/data/system01.dbf' to '/u01/datafile/system01.dbf';
。
SQL> alter database rename file '/u01/app/oracle/oradata/data/undotbs01.dbf' to '/u01/datafile/undotbs01.dbf';
。
SQL> alter database rename file '/u01/app/oracle/oradata/data/sysaux01.dbf' to '/u01/datafile/sysaux01.dbf';
。
SQL> alter database rename file '/u01/app/oracle/oradata/data/users01.dbf' to '/u01/datafile/users01.dbf';
。
SQL> alter database rename file '/u01/app/oracle/oradata/data/redo01.log' to '/u01/datafile/redo01.log';
。
SQL> alter database rename file '/u01/app/oracle/oradata/data/redo02.log' to '/u01/datafile/redo02.log';
。
SQL> alter database rename file '/u01/app/oracle/oradata/data/redo03.log' to '/u01/datafile/redo03.log';
。
SQL> select name from v$datafile;
NAME
--------------------------------------------------
/u01/datafile/system01.dbf
/u01/datafile/undotbs01.dbf
/u01/datafile/sysaux01.dbf
/u01/datafile/users01.dbf
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------
/u01/datafile/redo03.log
/u01/datafile/redo02.log
/u01/datafile/redo01.log
4. 데이터베이스 검증 열기
SQL> alter database open;
。
SQL> select count(*) from tab;
COUNT(*)
----------
3657
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.