问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

oracle自动备份的文件怎么恢复

发布网友 发布时间:2022-04-20 11:04

我来回答

3个回答

懂视网 时间:2022-04-08 01:41

干净的关闭数据库,做一个完全的冷备份。

提示:a.使用showdown命令;  b.复制数据文件、日志文件和控制文件到安全地方

(2) 把数据库改为归档模式

SQL> startup mount

SQL> alter database archivelog;

SQL> alter database open;

设置成自动归档

SQL> alter system set log_archive_start = true scope=spfile;

 

1.数据库系统数据文件和回退段遭破坏的情况下的恢复。此时数据库的状态是关闭的。

(1) 先启动数据库,用scott用户建立test表,并插入两条数据。

SQL> create table scott.test (id int);

表已创建。

SQL> insert into scott.test values(1);

已创建 1 行。

SQL> insert into scott.test values(2);

已创建 1 行。

SQL> commit;

提交完成。

 

(2)模拟数据库遭意外被迫关闭,并且系统数据文件丢失。

SQL> shutdown abort

 

把oracle服务停掉,移除SYSTEM01.dbf和UNDOTBS01.DBF文件(即将这两个文件移到其他文件夹下)。

 

(3)启动服务,启动数据库, 提示如下错误

a. 启动服务

 

b. 启动数据库

SQL> startup

请给执行结果:

 

 

 

(4)把备份的SYSTEM01.dbf和UNDOTBS01.DBF文件复制回去

a. 执行以下命令:

 

请给执行结果:

 

 

然后就可以打开数据库,查看scott用户的test表。

SQL> alter database open;

SQL> select * from scott.test;

   请给执行结果:

 

 

实2:

数据库是打开的,这时损坏的文件是用户的数据文件而不是system和undo文件。

(1)用scott用户在users表空间建立test1表

SQL> create table scott.test1(id int)

  2  tablespace users;

表已创建。

(2) 插入两条数据

SQL> insert into scott.test1 values(1);

已创建 1 行。

SQL> insert into scott.test1 values(2);

已创建 1 行。

SQL> commit;

提交完成。

 

 

(3)当前日志归档

SQL> alter system archive log current;

系统已更改。

(4)现在破坏users表空间,使其离线,然后移除users01.dbf到一个指定文件夹(备份)

SQL> alter tablespace users offline;

表空间已更改。

执行:SQL> alter tablespace users online;

 请给执行结果:

 

 

此时出现错误,users表空间不能在线了。这时把备份的users01.DBF还原回去。

然后,执行:SQL> recover tablespace users;

 

 

(5)完成介质恢复。

SQL> alter tablespace users online;

表空间已更改。

SQL> select * from scott.test1;

      请给执行结果:

 

 

实3:数据文件没有备份(不能使system和undo文件)的恢复。

(1)创建表空间testspace

在SQL Plus中依次执行以下语句,给出最后的执行结果:

SQL>  create tablespace testspace  datafile ‘C:oracleproduct10.1.0db_1TestDB estspace.dbf‘ size 10m;

SQL> create table scott.test3(id int)

       tablespace testspace;

SQL> commit;

SQL> alter system switch logfile;

SQL> insert into scott.test3 values(1);

SQL> commit;

SQL> alter tablespace testspace offline;

SQL> select * from scott.test3;

 请给执行结果:

 

 

 

(2)由于没有备份数据文件,需重新创建一个

SQL> alter database create datafile

       ‘C:oracleproduct10.1.0db_1TestDB estspace.dbf‘;

SQL> recover tablespace testspace;

 

 

(3) 完成恢复

SQL> alter tablespace testspace online;

表空间已更改。

SQL> select * from scott.test3;

请给执行结果:

 

2)逻辑备份:导入导出实验

实4:模式的导入导出

案例:将scott/tiger用户对应的模式导出,通过导出文件将其导入到Test用户(为一个空用户)对应的模式中,包括该模式中的所有对象的定义和数据。

 

1.准备工作

(1)创建用户:

Create user test

Identified by test;

(2)授权:

 

注:这儿做了简化处理,实际工作中,尽量不要授DBA权限给一般用户。

2.数据的导出与导入

(1)数据准备

以scott身份登录: conn scott/tiger

①创建测试用表:

create table  jobs(

  name  varchar2(20),

job    varchar2(40),

  sales   number);

加入数据:

insert into jobs values(‘IT_Test‘,‘software testing‘,3000);

提交:

 commit;

 

②创建测试用表scott_test

 create table scott_test(

 name  varchar2(10),

 age    number);

加入数据:

 insert into scott_test values(‘manager‘,‘40‘);

 

(2)以管理员身份登录:

 conn as sysdba;

 alter system enable restricted session;

 

 (3)导出数据库:

 在DOS提示符下执行:

exp system/ testdb full=y file=test.dmp

执行时,会要求输入system的口令,请根据实际情况输入。

 (4)恢复数据库运行状态

 conn as sysdba;

 alter system disable restricted session;

 

 (5)进行数据库的导入:

以下是一示例:

imp system/testdb fromuser=scott touser=test tables=(scott_test,jobs) file=test.dmp ignore=y;

 

请给执行结果:

 

3.结果检验

对导入的数据进行查询,以确定导入是否成功,给出结果截图:

(1)以test身份登录到数据库

 

 

(2)查询刚才导出(导入)表中的某个表(如Jobs):

 

请给执行结果:

 

 

 

实验小结:

1. 备份原则与策略:在刚建立数据库时,应该立即进行数据库的完全备份;

将所有的数据库备份保存在一个独立磁盘上(必须是与当前数据库系统正在使用的文件不同的磁盘);

应该保持控制文件的多路复用,且控制文件的副本应该存放在不同磁盘控制器下的不同磁盘设备上;

应该保持多个联机日志文件组,每个组中至少应该保持两个日志成员,同一日志组的多个成员应该分散存放在不同磁盘上;

至少保证两个归档重做日志文件的归档目标,不同归档目标应该分散于不同磁盘;

如果条件允许,尽量保证数据库运行于归档模式;

根据数据库数据变化的频率情况确定数据库备份规律;

在归档模式下,当数据库结构发生变化时,如创建或删除表空间、添加数据文件、重做日志文件等,应该备份数据库的控制文件;

在非归档模式下,当数据库结构发生变化时,应该进行数据库的完全备份;

在归档模式下,对于经常使用的表空间,可以采用表空间备份方法提高备份效率;

在归档模式下,通常不需要对联机重做日志文件进行备份;

使用RESETLOGS方式打开数据库后,应该进行一个数据库的完全备份;

对于重要的表中的数据,可以采用逻辑备份方式进行备份。

 

2.根据数据备份方式的不同,数据库备份分为: 

物理备份:将组成数据库的数据文件、重做日志文件、控制文件、初始化参数文件等操作系统文件进行复制,将形成的副本保存到与当前系统独立的磁盘或磁带上。

逻辑备份是指利用Oracle提供的导出工具(如Expdp,Export)将数据库中的数据抽取出来存放到一个二进制文件中。

3. 根据数据库备份时是否关闭数据库服务器,物理备份分为:

冷备份又称停机备份,是指在关闭数据库的情况下将所有的数据库文件复制到另一个磁盘或磁带上去。

热备份又称联机备份,是指在数据库运行的情况下对数据库进行的备份。要进行热备份,数据库必须运行在归档日志模式下。 

4. 根据数据库备份的规模不同,物理备份可分为:

完全备份:指对整个数据库进行备份,包括所有的物理文件。

部分备份 :对部分数据文件、表空间、控制文件、归档重做日志文件等进行备份。

5. 根据数据库是否运行在归档模式,物理备份可分为:归档备份,非归档备份 

6. 如果没有启用归档模式,数据库不能恢复到备份完成后的任意时刻。如果启用归档模式,从冷备份结束后到出现故障这段时间的数据库恢复,可以利用联机日志文件和归档日志文件实现。

 

 

 

 

Oracle-数据库备份与恢复

标签:

热心网友 时间:2022-04-07 22:49

备份:(cmd下执行)
exp
fdais/fdais
file=bakdb20100902.dmp
directory=d:\baksql
用户名
密码
备份后生成的文件名
保存的路径
然后在另外的机器上建立跟之前一样的表空间、用户名和密码
(可以用命令create
database重新生成数据库结构)
恢复:(在cmd下执行以下命令即可将备份好的数据库重新导入)
imp
fdais/fdais
file=bakdb20100902.dmp
directory=d:\baksql
log=bakdb20100902.log
用户名
密码
备份后生成的文件名
保存的路径
备份后自动生成的日志
注意,确保d:\baksql目录下有这两个文件bakdb20100902.dmp、bakdb20100902.log
另外,可以用语句select
*
from
user_all_tables查询表空间。
以上备份和恢复的过程不需要停止数据库。

热心网友 时间:2022-04-08 00:07

一、
导出/导入(export/import)
----
利用export可将数据从数据库中提取出来,利用import则可将提取出来的数据送回oracle数据库中去。
----
1.
简单导出数据(export)和导入数据(import)
----
oracle支持三种类型的输出
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
急求贺新婚对联和诗 喜有高朋赠厚礼求下联 评价饭菜好吃的评语 为什么跑步会让我有抽烟的感觉? 国家有对出差补助规定吗? 孤独症常见的筛查量表有哪些 CARS孤独症评量表(自测) 儿童自闭症(孤独症)家长评定量表(ABC) 二十四节气下各类蔬菜种植的时间表是怎样的 冬至可以种什么蔬菜 培养桂花树苗有什么技巧? 桂花扦插办法是什么? 桂花的扦插方法有几种 桂花的压条繁殖和分株繁殖分别在什么时候操作? 用什么方法桂花扦插生根最快? 如何让桂花枝条生根 桂花的扦插方法 如何嫁接桂花树?压枝繁殖具体做法?其种植方法? 桂花的枝可以压活吗? 桂花怎样扦插繁殖? 如何种植桂花?压枝?插值?种育? 桂花怎样扦插 桂花的扦插方法? 桂花如何插枝 桂花压条繁殖 桂花扦插的时候,应该选择哪种枝条? 桂花扦插的时候,应该选择什么样的枝条? 粘贴屏幕时B7000胶水流进了手机主板,象油一样的液... b7000胶水多长时间干? b7000胶水多长时间干 如何从完好的数据文件恢复oracle数据库 oracle丢失所有控制文件怎么恢复 oracle数据库备份后怎么恢复 如何对Oracle数据库文件进行恢复与备份 oracle数据库 使用备份的二进制控制文件恢复时,为... oracle数据库怎么备份恢复 oracle如果在某个磁盘的控制文件丢失,则做怎样的... oracle怎么恢复备份的数据 Oracle RMAN 备份及恢复步骤 oracle 10g 怎么备份和恢复数据库。 oracle怎样恢复表数据 unto oracle丢失两个控制文件怎么恢复 oracle数据库备份的实质是什么,是把数据库文件的复... oracle 8i 数据文件恢复 ORACLE 控制文件全部被删除,控制文件中油时间戳吗? Oracle重做日志文件损坏或丢失后应该怎样恢复 oracle 数据文件,控制文件,日志文件能不能恢复数... 拼音中"v"怎么读 V到底怎么读? v读音是什么?
  • 焦点

最新推荐

猜你喜欢

热门推荐