rman数据库恢复;关键/非关键文件、影像副本、控制文件、还原点
执行完全恢复:在 ARCHIVELOG 模式下 丢失了系统关键数据文件: 如果某个数据文件丢失或损坏,且该文件属于 SYSTEM 或 UNDO 表空间,请执行以下步骤: 1. 实例可能会也可能不会自动关闭。 2.如果未自动关闭,请使用 SHUTDOWN ABORT 关闭实例。 3. 装载数据库
执行完全恢复:在 ARCHIVELOG 模式下 丢失了系统关键数据文件:
如果某个数据文件丢失或损坏,且该文件属于 SYSTEM 或 UNDO 表空间,请执行以下步骤:
1.
实例可能会也可能不会自动关闭。
2.如果未自动关闭,请使用 SHUTDOWN ABORT 关闭实例。
3.
装载数据库。
4.
还原并恢复缺失的数据文件。
5.打开数据库。
1.归档模式丢失非关键数据文件 完全恢复
第一种方法:
shutdown abort;
startup mount;
alter database create datafile '/home/oracle/test.dbf' as '/home/oracle/test.dbf';
recover datafile;
第二种方法:
create tablespace test datafile '/home/oracle/test.dbf' size 10m;
rman target /
backup datafile 5;
rm test.dbf
sq> alter database datafile 5 offline;
restore datafile 5;
recover datafile 5;
sq> alter database datafile 5 online;
select FILE#,STATUS from v$datafile;
2. 归档模式丢失关键数据文件 完全恢复
利用备份,同上第二种方法。
--------------------------------------------------------------------------------------------------------------
恢复映像副本:
RMAN> recover copy of database with tag 'daily_inc';
RMAN> backup incremental level 1 for recover of copy
with tag 'daily_inc' database;
RECOVER BACKUP
第 1 天 无 创建映像副本
第 2 天 无 创建 1 级增量备份
第 3 天和以后 根据增量备份恢复副本 创建 1 级增量备份
恢复映像副本:示例
如果每天都运行以上命令,则可以随时获得所有数据库数据文件的连续更新的映像副本。
图表显示了每次运行所发生的操作。请注意,这种算法需要一段准备期间;到第 3 天后策略才会起作用。
第 1 天
RECOVER 命令没有执行任何操作。尚不存在要恢复的映像副本。BACKUP 命令可用于创建映像副本。
第 2 天
RECOVER 命令仍没有执行任何操作。因为尚不存在增量备份。由于已在第 1 天创建了基准映像副本,BACKUP 命令会创建增量备份。
第 3 天
RECOVER 命令将增量备份中的更改应用于映像副本。BACKUP 命令将执行另一个增量备份,该备份将在第 4 天用于恢复映像副本,依此进行循环。
执行到映像副本的快速切换
执行以下步骤
可以使用数据文件的映像副本进行快速恢复:
1.使数据文件脱机。
2.使用 SWITCH TO ...COPY 命令指向这些文件的映像副本。
3.恢复数据文件。
4.使数据文件联机。
此时,数据库是可用的,且数据文件已恢复。但是,如果您希望将数据文件放回其原始位置,请继续执行以下步骤:
5.使用 BACKUP AS COPY 命令在原始位置创建数据文件的映像副本。
6.使数据文件脱机。
7.使用 SWITCH TO COPY 命令切换到在步骤 5 中创建的副本。
8.恢复数据文件。
9.使数据文件联机。
可以使用此命令来恢复数据文件、表空间、临时文件或整个数据库。切换到的目标文件必须为映像副本。
3. 映像副本的快速切换
backup as copy datafile 6;
rm a.dbf
sql:alter database datafile 6 offline;
rman >switch datafile '/home/oracle/test.dbf' to copy;
recover datafile 6;
--回复后数据文件的路径和名称为 '/home/oracle/test.dbf';
alter database datafile 4 online;
select FILE#,STATUS from v$datafile;
select file_name from dba_data_files;
backup as copy datafile 4 format '/u01/app/oracle/oradata/orcln/users01.dbf';
alter database datafile 4 offline;
switch datafile ' /home/oracle/backup/db_data_D-ORCL_I-4115975543_TS-TEST_FNO-6_38otbf5q.bak' to copy;
switch datafile 4 to copy;
recover datafile 4;
alter database datafile 4 online;
select file_name from dba_data_files;
-----------------------------------------------------------------------------------------------------------------
4. set newname 改名字
backup as copy datafile 6;
list copy of datafile 6;
select FILE#,STATUS from v$datafile;
run{
allocate channel c1 device type disk;
sql "alter database datafile 6 offline";
set newname for datafile '/home/oracle/test.dbf' to '/home/oracle/test_new.dbf';
restore datafile 6;
switch datafile all;
recover datafile 6;
sql "alter database datafile 6 online";
}
--------------------------------------------------------------------------------------------------------------
从自动备份还原控制文件:
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP;
RMAN> ALTER DATABASE MOUNT;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN RESETLOGS;
7. 丢失控制文件,参数文件 --数据库必须在nomount状态
查看文件信息:
SQL>select name from v$controlfile;
SQL>show parameter spfile;
SQL> select name from v$datafile;
配置控制文件自动备份恢复控制文件
rman target /
connected to target database: ORCL (DBID=1353286769)
RMAN>show all;
RMAN>CONFIGURE CONTROLFILE AUTOBACKUP ON;
数据库全备份:
RMAN>backup as compressed backupset full database;
删除,参数文件,控制文件,数据文件
rm /opt/oracle/oradata/orcl/control01.ctl
rm /opt/oracle/flash_recovery_area/orcl/control02.ctl
rm /opt/oracle/oradata/orcl/control03.ctl
rm /opt/oracle/product/11.2.2/dbs/spfileorcl.ora
rm /opt/oracle/oradata/orcl/system01.dbf
rm /opt/oracle/oradata/orcl/sysaux01.dbf
rm /opt/oracle/oradata/orcl/undotbs01.dbf
rm /opt/oracle/oradata/orcl/users01.dbf
rm /home/oracle/tbs_ctl01.dbf
rman target /
RMAN> set dbid 1353286769 --如果备份在
startup nomount --虽然没有参数文件但是也可以启动实例
恢复参数文件:
restore spfile from '/data/backup/ctl_c-1353286769-20131102-04.bak';
/* 从快速恢复区恢复参数文件:
run {
restore spfile from autobackup
recovery area = 'flash recovery area destination'
db_name = 'db_name';
}
*/
查看是否有需要改的参数:主要看文件位置
SQL> create pfile from spfile;
恢复控制文件:
restore controlfile to '/opt/oracle/oradata/orcl/control01.ctl' from '/data/backup/ctl_c-1353286769-20131102-04.bak';
恢复数据文件:
RMAN> shutdown immediate
RMAN> startup mount
RMAN> restore database;
RMAN> recover database;
RMAN> alter database open;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 11/02/2013 12:10:46
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
RMAN> alter database open resetlogs;
--------------------------------------------------------------------------------------------------------------
使用增量备份恢复处于 NOARCHIVELOG 模式的数据库:
STARTUP FORCE NOMOUNT;
RESTORE CONTROLFILE;
ALTER DATABASE MOUNT;
RESTORE DATABASE;
RECOVER DATABASE NOREDO;
ALTER DATABASE OPEN RESETLOGS;
8. 使用增量备份恢复处于NOARCHIVELOG 模式的数据库
1) 撤销数据库archivelog模式
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database noarchivelog;
SQL>alter database open;
SQL>archive log list;
2) 创建测试用表及数据
conn zhuxy/zhuxy
create table c (id number);
insert into c values(1);
commit;
3) 在noarchivelog模式下,0级备份
RMAN> run{
shutdown immediate;
startup mount;
backup as backupset incremental level 0 database;
alter database open;
}
4) 在noarchivelog模式下,1级备份
insert into c values(2);
commit;
RMAN> run{
shutdown immediate;
startup mount;
backup as backupset incremental level 1 database;
alter database open;
}
6) 删除所有日志文件, 某些数据文件
7) 执行恢复
rman target /
RMAN>startup mount;
--执行全库的还原
RMAN> restore database;
-- 使用noredo子句进行恢复
RMAN> recover database noredo;
--恢复完成,resetlogs方式打开数据库,完成所有文件丢失的恢复
RMAN> alter database open resetlogs;
8)验证在测试前(增量备份前)插入的数据
select * from c;
6.非归档丢失文件
不完全恢复: SCN, 时间,还原点,或日志序列号
1确定目标还原点:SCN、时间、还原点或日志序列号。
2设置 NLS 环境变量。
3装载数据库。
4使用 SET UNTIL、RESTORE 和 RECOVER 命令准备并运行 RUN 块。
5用 RESETLOGS 打开数据库。
-----不完全恢复之--基于时间的恢复
1) 准备环境:RMAN全库备份
RMAN> backup as compressed backupset full database;
2) 准备环境:测试表及数据
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
create table d (c date);
insert into d values(sysdate);
commit;
create table ff (c date);
insert into ff values(sysdate);
commit;
启动到mount模式,进行基于时间的恢复
shutdown immediate;
startup mount;
run
{sql 'alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"';
set until time = ' 2014-03-30 00:39:34';
restore database;
recover database;
alter database open resetlogs;
}
时间也可以这么写:
set until time="to_date('2013-11-01 15:29:34','yyyy-mm-dd hh24:mi:ss')";
-----还原点:
select count(*) from copy_emp;
创建还原点:
create restore point before_delete;
delete from copy_emp where ID >=10;
commit;
alter table copy_emp enable row movement;
flashback table copy_emp to restore point b;
--------------------------------------------------------------------------------------------------------------
将数据库还原到新主机:
为了还原数据库,请在还原主机上执行以下步骤:
1.配置 ORACLE_SID 环境变量。
2.启动 RMAN 并在 NOCATALOG 模式下连接到目标实例。
3.设置数据库标识符 (DBID)。
4.在 NOMOUNT 模式下启动实例。
5.
从备份集中还原服务器参数文件。
6.关闭实例。
7.
编辑还原的初始化参数文件。
8.
在 NOMOUNT 模式下启动实例
9.创建 RUN 块以执行下列任务:
--还原控制文件
--
装载数据库
10.创建 RMAN 恢复脚本以还原和恢复数据库。
11.执行 RMAN 脚本。
12.使用 RESETLOGS 选项打开数据库。
9 利用备份将数据库还原到新主机:目标库需要有oracle软件
1)准备工作
源库数据库全备及控制文件自动备份,当然也包括参数文件
RMAN> backup as backupset database;
2)拷贝RMAN备份文件到目标库
可以用scp
3)配置目标库
目标库设置环境变量
export ORACLE_SID=new_orcl
启动rman到nomount状态,设置dbid(即源库dbid)
$ rman target /
RMAN> set dbid 1357901988
RMAN> startup nomount; --没有参数文件,会报错,但是可以启动实例
4)恢复参数文件
RMAN> restore spfile to pfile '' from '';
编辑pfile参数文件:文件位置,数据库实例名..,创建相应的目录
5) 启动数据库到nomount模式
SQL> create spfile from pfile;
SQL> startup nomount;
6)还原控制文件
$ rman target /
RMAN> restore controlfile to '' from '';
RMAN> alter database mount;
7) 还原数据文件
run{
SET NEWNAME FOR DATAFILE 1 TO '/u01/app/oracle/oradata/orcl/system01.dbf';
SET NEWNAME FOR DATAFILE 2 TO '/u01/app/oracle/oradata/orcl/sysaux01.dbf';
SET NEWNAME FOR DATAFILE 3 TO '/u01/app/oracle/oradata/orcl/undotbs01.dbf';
SET NEWNAME FOR DATAFILE 4 TO '/u01/app/oracle/oradata/orcl/users01.dbf';
SET NEWNAME FOR DATAFILE 5 TO '/u01/app/oracle/oradata/orcl/example01.dbf';
SET NEWNAME FOR DATAFILE 6 TO '/u01/app/oracle/oradata/orcl/test.dbf';
RESTORE DATABASE;
SWITCH DATAFILE ALL;
RECOVER DATABASE;}
--rename日志文件
run{
SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/ENMOEDU/redo01.log'' TO
''/u01/app/oracle/oradata/orcl/redo01.log'' ";
SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/ENMOEDU/redo02.log'' TO
''/u01/app/oracle/oradata/orcl/redo02.log'' ";
SQL "ALTER DATABASE RENAME FILE ''/u01/app/oracle/oradata/ENMOEDU/redo03.log'' TO
''/u01/app/oracle/oradata/orcl/redo03.log'' ";
}
RMAN> alter database open resetlogs;
8)临时文件位置不对
SQL> select file_name from dba_temp_files;
SQL>create temporary tablespace tempa tempfile
'/u01/app/oracle/oradata/orcl/tempa01.dbf' size 10m reuse autoextend on maxsize 200m;
SQL>alter database default temporary tablespace tempa;
SQL>drop tablespace temp;
SQL>select file_name from dba_temp_files;
注:这个测试改变了实例名
--------------------------------------------------------------------------------------------------------------
执行灾难恢复 :
灾难意味着丢失了整个目标数据库、恢复目录数据库、所有当前控制文件、所有联机重做日志文件和所有参数文件。
灾难恢复包括还原和恢复目标数据库。
备份集的最低要求:
1.数据文件的备份
2.
相应的归档重做日志文件
3.
至少一个控制文件自动备份
基本过程:
1.
还原服务器参数文件的自动备份。
2.启动目标数据库实例。
3.从自动备份还原控制文件。
4.装载数据库。
5.还原数据文件。
6.恢复数据文件。
7.使用 RESETLOGS 选项打开数据库。

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

Apple의 최신 iOS18, iPadOS18 및 macOS Sequoia 시스템 릴리스에는 사진 애플리케이션에 중요한 기능이 추가되었습니다. 이 기능은 사용자가 다양한 이유로 손실되거나 손상된 사진과 비디오를 쉽게 복구할 수 있도록 설계되었습니다. 새로운 기능에는 사진 앱의 도구 섹션에 '복구됨'이라는 앨범이 도입되었습니다. 이 앨범은 사용자가 기기에 사진 라이브러리에 포함되지 않은 사진이나 비디오를 가지고 있을 때 자동으로 나타납니다. "복구된" 앨범의 출현은 데이터베이스 손상으로 인해 손실된 사진과 비디오, 사진 라이브러리에 올바르게 저장되지 않은 카메라 응용 프로그램 또는 사진 라이브러리를 관리하는 타사 응용 프로그램에 대한 솔루션을 제공합니다. 사용자는 몇 가지 간단한 단계만 거치면 됩니다.

P 시리즈의 발전 역사는 곧 영상 발전의 역사입니다. P 시리즈 탄생 12주년을 맞아 화웨이는 모바일 이미징과 미래 계획에 대한 깊은 이해를 바탕으로 다시 한 번 출발합니다. 동영상이라는 개념의 출현부터 점진적인 발전과 성장에 이르기까지 화웨이는 항상 리더로서 중요한 역할을 수행해 왔으며 수백만 명의 사용자가 자신의 삶을 기록하는 주요 수단이 되었습니다. 오늘날 업계가 하드웨어 스택, 이미지 품질 향상, 전통적인 이미징 브랜드 스타일 묶음이라는 3차원에서 필사적으로 혁신하고 있는 상황에서, 동질적인 하드웨어 스택과 알고리즘 최적화로는 각 브랜드를 진정으로 차별화할 수 없다는 것을 분명히 알 수 있습니다. 그리고 더 중요한 것은 특정 이미지 스타일이 소비자의 개별 요구에 적응하기 어려웠다는 것입니다. 더 높은 차원에 서서 모바일 이미징의 다음 개발 방향을 생각하는 화웨이는 선두주자입니다.

MySQLi를 사용하여 PHP에서 데이터베이스 연결을 설정하는 방법: MySQLi 확장 포함(require_once) 연결 함수 생성(functionconnect_to_db) 연결 함수 호출($conn=connect_to_db()) 쿼리 실행($result=$conn->query()) 닫기 연결( $conn->close())

PHP에서 데이터베이스 연결 오류를 처리하려면 다음 단계를 사용할 수 있습니다. mysqli_connect_errno()를 사용하여 오류 코드를 얻습니다. 오류 메시지를 얻으려면 mysqli_connect_error()를 사용하십시오. 이러한 오류 메시지를 캡처하고 기록하면 데이터베이스 연결 문제를 쉽게 식별하고 해결할 수 있어 애플리케이션이 원활하게 실행될 수 있습니다.

빠르게 변화하는 시대에 OPPO Find X7은 이미징 능력을 활용하여 우리가 인생의 모든 아름다운 순간을 즐길 수 있도록 해줍니다. 웅장한 산, 강, 호수, 바다, 따뜻한 가족 모임, 거리에서의 만남과 놀라움 등 무엇이든 "비할 데 없는" 화질로 기록하는 데 도움이 될 수 있습니다. 외관상 파인드잇의 카메라 데코 디자인은 인지도가 매우 높으며 고급스러운 느낌을 줍니다. 기본적인 하드웨어 구성부터 시작해 내부도 독특하다. FindX7은 이전을 유지합니다

한때 Huawei의 수석 이미징 엔지니어였던 Luo Wei가 조용히 Honor의 이미징 팀에 합류한 것으로 알려졌으며, 이는 Honor 휴대폰의 이미징 성능에 확실히 질적인 향상을 가져올 것입니다. 바로 오늘 Luo Wei는 자신의 개인 Weibo에 Honor Magic 6 Ultimate Edition과 Honor Magic 5 Pro의 Huanghuashui 만리장성 테마 사진 세트를 "시험해 보세요"라는 텍스트와 함께 게시했습니다. 이는 Luo Wei가 Honor에 합류하여 활동을 시작했다는 진술을 의심할 여지 없이 뒷받침합니다. 웨이보 댓글에서 일부 네티즌들은 아너 매직 6 프로의 매크로 문제에 대해 질문했다. 근접 촬영 시 광각 렌즈와 망원 렌즈가 충돌해 렌즈가 렌즈를 반복해서 뛰어넘는 현상이 발생한다. 이에 대해 Luo Wei는 버전을 업그레이드하면 문제가 없을 것이라고 신속하게 답변했습니다. 또한 Honor MagicV3가 출시되었습니다.

사진을 찍을 때 가장 좋아하는 렌즈는 무엇입니까? 내 대답은 35mm 고정 초점입니다(동등한 풀프레임 초점 거리를 기준으로 계산, 아래와 동일). 휴대폰 시장에서 Nubia는 네이티브 35mm 메인 카메라를 탑재한 유일한 제품입니다. 모두가 "이미지 플래그십"이라고 주장할 때 Nubia Z60 Ultra의 선두 버전은 왜곡이 적은 18mm 초광각, 35mm 휴머니즘 메인 카메라 및 85mm 망원을 갖춘 올해 우리가 사용한 휴대폰 중에서 가장 카메라와 유사한 제품입니다. 렌즈 품질이 매우 좋고 슬라이딩 버튼으로 빠르게 카메라를 켜고 끌 수 있어 카드 카메라 같은 느낌을 줍니다. 이 전화기는 매우 특별하기 때문에 이 경험도 조금 특별할 것입니다. 저는 이 Nubia Z60 Ultra 선도 버전을 사용하여 Zhaoqing에서 보낸 주말을 기록할 것입니다. 기분 전환

Golang의 데이터베이스 콜백 기능을 사용하면 다음을 달성할 수 있습니다. 지정된 데이터베이스 작업이 완료된 후 사용자 정의 코드를 실행합니다. 추가 코드를 작성하지 않고도 별도의 함수를 통해 사용자 정의 동작을 추가할 수 있습니다. 삽입, 업데이트, 삭제, 쿼리 작업에 콜백 함수를 사용할 수 있습니다. 콜백 함수를 사용하려면 sql.Exec, sql.QueryRow, sql.Query 함수를 사용해야 합니다.
