通过使用resetlog恢复控制文件恢复数据库
环境: rhel 5.5,Oracle10.2.0.1 xmanager4.0 通过备份控制文件后,对数据库进行一系列的操作,关闭数据库;恢复控制文件,启动到
环境:
rhel 5.5,Oracle10.2.0.1
xmanager4.0
通过备份控制文件后,对数据库进行一系列的操作,关闭数据库;恢复控制文件,启动到mount阶段在使用resetlogs重新创建控制文件,找回我们的数据。
备份控制文件
backupdatafile 1;
RMAN>backup datafile 1;
RMAN>backup datafile 1;
Startingbackup at 26-JUN-12
usingchannel ORA_DISK_1
channelORA_DISK_1: starting compressed full datafile backupset
channelORA_DISK_1: specifying datafile(s) in backupset
inputdatafile fno=00001 name=/opt/oracle/product/10.2.0/oradata/cuug/system01.dbf
channelORA_DISK_1: starting piece 1 at 26-JUN-12
channelORA_DISK_1: finished piece 1 at 26-JUN-12
piecehandle=/opt/oracle/product/10.2.0/flash_recovery_area/CUUG/backupset/2012_06_26/o1_mf_nnndf_TAG20120626T114501_7yld1y1q_.bkptag=TAG20120626T114501 comment=NONE
channelORA_DISK_1: backup set complete, elapsed time: 00:08:06
channelORA_DISK_1: throttle time: 0:06:39
Finishedbackup at 26-JUN-12
StartingControl File Autobackup at 26-JUN-12
piecehandle=/opt/oracle/product/10.2.0/flash_recovery_area/CUUG/autobackup/2012_06_26/o1_mf_n_786973989_7yldk6mm_.bkpcomment=NONE
FinishedControl File Autobackup at 26-JUN-12
做一些操作和日志切换
SQL>select group#,sequence#,status from v$log;
GROUP# SEQUENCE# STATUS
-------------------- ----------------
1 9 INACTIVE
2 10 CURRENT
3 7 INACTIVE
4 8 INACTIVE
[oracle@rhel5cuug]$ cp cuug01.dbf cuug01.dbf_bak
SQL>select username,default_tablespace from dba_users where username='SCOTT';
USERNAME DEFAULT_TABLESPACE
------------------------------------------------------------
SCOTT CUUG
SQL>create table scott.a as select * from tab;
Tablecreated.
SQL>create table scott.aa as select * fromtab;
SQL>select count(*) from scott.a;
COUNT(*)
----------
3642
SQL>create tablespace test datafile'/opt/oracle/product/10.2.0/oradata/cuug/test01.dbf' size 100m;
Tablespacecreated.
Tablespacecreated.
SQL>alter system switch logfile;
Systemaltered.
SQL>select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
/opt/oracle/product/10.2.0/oradata/cuug/cuug01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/rmans01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/users01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/sysaux01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/undotbs01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/system01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/test01.dbf
SQL>select group#,status,sequence# from v$log;
GROUP#STATUS SEQUENCE#
-------------------------- ----------
1INACTIVE 9
2CURRENT 10
3INACTIVE 7
4INACTIVE 8
SQL>shutdown abort
ORACLEinstance shut down.
删除控制文件,修改cuug的数据文件
[oracle@rhel5cuug]$ mkdir bak
[oracle@rhel5cuug]$ mv *.ctl bak/
[oracle@rhel5cuug]$ mv cuug01.dbf cuug01.bak
SQL>startup
ORACLEinstance started.
TotalSystem Global Area 218103808 bytes
FixedSize 1218604 bytes
VariableSize 62916564 bytes
DatabaseBuffers 150994944 bytes
RedoBuffers 2973696 bytes
ORA-00205:error in identifying control file, check alert log for more info
恢复控制文件
[oracle@rhel510.2.0]$ rman target /
RecoveryManager: Release 10.2.0.1.0 - Production on Mon Jun 25 10:26:22 2012
Copyright(c) 1982, 2005, Oracle. All rightsreserved.
connectedto target database: orcl (not mounted)
RMAN>restore controlfile from'/opt/oracle/product/10.2.0/flash_recovery_area/CUUG/autobackup/2012_06_26/o1_mf_n_786973989_7yldk6mm_.bkp';
Startingrestore at 26-JUN-12
usingchannel ORA_DISK_1
channelORA_DISK_1: restoring control file
channelORA_DISK_1: restore complete, elapsed time: 00:00:03
outputfilename=/opt/oracle/product/10.2.0/oradata/cuug/control01.ctl
outputfilename=/opt/oracle/product/10.2.0/oradata/cuug/control02.ctl
outputfilename=/opt/oracle/product/10.2.0/oradata/cuug/control03.ctl
Finishedrestore at 26-JUN-12
把控制文件
标记trace文件
SQL>alter session set tracefile_identifier='cuug';
Sessionaltered.
SQL>alter database mount;
Databasealtered.
SQL>alter database backup controlfile to trace;
Databasealtered.
重建控制文件,先关闭数据库,删除之前从备份中恢复出来的控制文件,启动到nomount阶段
SQL>shutdown immediate
ORA-01109:database not open
Databasedismounted.
ORACLEinstance shut down.
SQL>startup nomount;
ORACLEinstance started.
TotalSystem Global Area 218103808 bytes
FixedSize 1218604 bytes
VariableSize 79693780 bytes
DatabaseBuffers 134217728 bytes
RedoBuffers 2973696 bytes
使用noresetlogs创建,因为联机日志还在,所以可以使用noresetlogs的方法创建
[oracle@rhel5orcl]$ ls *.ctl
control01.ctl control02.ctl control03.ctl
[oracle@rhel5orcl]$ rm *.ctl
[oracle@rhel5udump]$ vi cuug_ora_4744_cuug.trc
CREATECONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG
MAXLOGFILES16
MAXLOGMEMBERS3
MAXDATAFILES100
MAXINSTANCES8
MAXLOGHISTORY292
LOGFILE
GROUP 1'/opt/oracle/product/10.2.0/oradata/orcl/redo01.log' SIZE 50M,
GROUP 2'/opt/oracle/product/10.2.0/oradata/orcl/redo02.log' SIZE 50M,
GROUP 3'/opt/oracle/product/10.2.0/oradata/orcl/redo03.log' SIZE 50M,
GROUP 4'/opt/oracle/product/10.2.0/oradata/orcl/redo04.log' SIZE 50M
--STANDBY LOGFILE
DATAFILE
'/opt/oracle/product/10.2.0/oradata/orcl/system01.dbf',
'/opt/oracle/product/10.2.0/oradata/orcl/undotbs01.dbf',
'/opt/oracle/product/10.2.0/oradata/orcl/sysaux01.dbf',
'/opt/oracle/product/10.2.0/oradata/orcl/users01.dbf',
'/opt/oracle/product/10.2.0/oradata/orcl/rmans01.dbf',
'/opt/oracle/product/10.2.0/oradata/orcl/cuug01.dbf',
'/opt/oracle/product/10.2.0/oradata/orcl/ORCL/datafile/o1_mf_zxm_7ycm0twl_.dbf',
'/opt/oracle/product/10.2.0/oradata/orcl/ORCL/datafile/o1_mf_cuug_7ycm20jq_.dbf'
CHARACTERSET UTF8
;
此时打开数据库会提示错误
首先要恢复数据文件
查询数据文件
SQL>select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/opt/oracle/product/10.2.0/oradata/cuug/system01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/undotbs01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/sysaux01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/users01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/rmans01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/cuug01.dbf
/opt/oracle/product/10.2.0/db_1/dbs/UNNAMED00007
SQL>alter database rename file '/opt/oracle/product/10.2.0/db_1/dbs/UNNAMED00007'to '/opt/oracle/product/10.2.0/oradata/cuug/test01.dbf';
SQL>select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/opt/oracle/product/10.2.0/oradata/cuug/system01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/undotbs01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/sysaux01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/users01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/rmans01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/cuug01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/test01.dbf
目前数据文件还不一致,需要进行介质恢复,,但是不用using子句
SQL>recover database using backup controlfile;
ORA-00279:change 708399 generated at 06/26/2012 12:11:13 needed for thread 1
ORA-00289:suggestion :
/opt/oracle/product/10.2.0/flash_recovery_area/CUUG/archivelog/2012_06_26/o1_mf_
1_10_%u_.arc
ORA-00280:change 708399 for thread 1 is in sequence #10
Specifylog: {
/opt/oracle/product/10.2.0/oradata/cuug/redo02.log
Logapplied.
Mediarecovery complete
SQL>alter database open resetlogs;
Databasealtered.
查询恢复状态
selectfile_name,tablespace_name,bytes/1024/1024 MB fromdba_data_files
FILE_NAME TABLESPACE_NAME MB
------------------------------------------------------------------------------------------ ----------
/opt/oracle/product/10.2.0/oradata/cuug/cuug01.dbf CUUG 200
/opt/oracle/product/10.2.0/oradata/cuug/rmans01.dbf RMANS 500
/opt/oracle/product/10.2.0/oradata/cuug/users01.dbf USERS 5
/opt/oracle/product/10.2.0/oradata/cuug/sysaux01.dbf SYSAUX 250
/opt/oracle/product/10.2.0/oradata/cuug/undotbs01.dbf UNDOTBS1 25
/opt/oracle/product/10.2.0/oradata/cuug/system01.dbf SYSTEM 480
/opt/oracle/product/10.2.0/oradata/cuug/test01.dbf TEST 100
SQL>select count(*) from scott.a
2 ;
COUNT(*)
----------
3642
SQL>select count(*) from scott.aa;
COUNT(*)
----------
3642
恢复完成。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 MySQL의 Alter Table 문을 사용하여 열 추가/드롭 테이블/열 변경 및 열 데이터 유형 변경을 포함하여 테이블을 수정하는 것에 대해 설명합니다.

기사는 인증서 생성 및 확인을 포함하여 MySQL에 대한 SSL/TLS 암호화 구성에 대해 설명합니다. 주요 문제는 자체 서명 인증서의 보안 영향을 사용하는 것입니다. [문자 수 : 159]

InnoDB의 전체 텍스트 검색 기능은 매우 강력하여 데이터베이스 쿼리 효율성과 대량의 텍스트 데이터를 처리 할 수있는 능력을 크게 향상시킬 수 있습니다. 1) InnoDB는 기본 및 고급 검색 쿼리를 지원하는 역 색인화를 통해 전체 텍스트 검색을 구현합니다. 2) 매치 및 키워드를 사용하여 검색, 부울 모드 및 문구 검색을 지원합니다. 3) 최적화 방법에는 워드 세분화 기술 사용, 인덱스의 주기적 재건 및 캐시 크기 조정, 성능과 정확도를 향상시키는 것이 포함됩니다.

기사는 MySQL Workbench 및 Phpmyadmin과 같은 인기있는 MySQL GUI 도구에 대해 논의하여 초보자 및 고급 사용자를위한 기능과 적합성을 비교합니다. [159 자].

기사는 MySQL에서 파티셔닝, 샤딩, 인덱싱 및 쿼리 최적화를 포함하여 대규모 데이터 세트를 처리하기위한 전략에 대해 설명합니다.

이 기사에서는 Drop Table 문을 사용하여 MySQL에서 테이블을 떨어 뜨리는 것에 대해 설명하여 예방 조치와 위험을 강조합니다. 백업 없이는 행동이 돌이킬 수 없으며 복구 방법 및 잠재적 생산 환경 위험을 상세하게합니다.

기사는 외국 열쇠를 사용하여 데이터베이스의 관계를 나타내고 모범 사례, 데이터 무결성 및 피할 수있는 일반적인 함정에 중점을 둡니다.

이 기사에서는 PostgreSQL, MySQL 및 MongoDB와 같은 다양한 데이터베이스에서 JSON 열에서 인덱스를 작성하여 쿼리 성능을 향상시킵니다. 특정 JSON 경로를 인덱싱하는 구문 및 이점을 설명하고 지원되는 데이터베이스 시스템을 나열합니다.
