问答文章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

我来回答

2个回答

懂视网 时间:2022-04-30 02:39

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

提示: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-29 23:47

ORACLE数据库有两类备份方法。第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。

数据库逻辑备份方法,ORACLE数据库的逻辑备份分为三种模式:完全备份、用户备份和表备份。
1、完全:
EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
如果要执行完全导出,必须具有特殊的权限
2、用户模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC
这样用户SONIC的所有对象被输出到文件中。
3、表模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)
这样用户SONIC的表SONIC就被导出
备份恢复:
具有三种模式(完全、用户、表)
1、完全:
IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
2、用户模式:
IMP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP FROMUSER=SONIC TOUSER=SONIC
这样用户SONIC的所有对象被导入到文件中。必须指定FROMUSER、TOUSER参数,这样才能导入数据。
3、表模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
电脑主机横着放硬盘会坏吗本来竖着放的电脑主机能不能横着放 硬盘竖着放置对电脑有影响吗硬盘能不能竖着放 电脑硬盘垂直放置电脑硬盘竖着放有危害吗 电脑硬盘竖着放好还是横着放好硬盘能不能竖着放 熊猫卫衣是什么牌子 什么牌子得手机质量好又实用 什么手机好看性价比高什么手机好看 求推荐好用又好看又实惠点的手机款儿~? 什么牌子手机好用呢? 2009年2月或者3月份适合办结婚证的吉日有哪些啊? oracle数据库 使用备份的二进制控制文件恢复时,为... 如何对Oracle数据库文件进行恢复与备份 oracle数据库备份后怎么恢复 oracle丢失所有控制文件怎么恢复 如何从完好的数据文件恢复oracle数据库 oracle自动备份的文件怎么恢复 培养桂花树苗有什么技巧? 桂花扦插办法是什么? 桂花的扦插方法有几种 桂花的压条繁殖和分株繁殖分别在什么时候操作? 用什么方法桂花扦插生根最快? 如何让桂花枝条生根 桂花的扦插方法 如何嫁接桂花树?压枝繁殖具体做法?其种植方法? 桂花的枝可以压活吗? 桂花怎样扦插繁殖? 如何种植桂花?压枝?插值?种育? 桂花怎样扦插 桂花的扦插方法? 桂花如何插枝 oracle如果在某个磁盘的控制文件丢失,则做怎样的... oracle怎么恢复备份的数据 Oracle RMAN 备份及恢复步骤 oracle 10g 怎么备份和恢复数据库。 oracle怎样恢复表数据 unto oracle丢失两个控制文件怎么恢复 oracle数据库备份的实质是什么,是把数据库文件的复... oracle 8i 数据文件恢复 ORACLE 控制文件全部被删除,控制文件中油时间戳吗? Oracle重做日志文件损坏或丢失后应该怎样恢复 oracle 数据文件,控制文件,日志文件能不能恢复数... 拼音中"v"怎么读 V到底怎么读? v读音是什么? v拼音里怎么读 拼音字母V怎么读? 拼音中的“v”要怎么读? v在拼音里读什么 “v”怎么读? 汉语拼音里v怎么读音?
  • 焦点

最新推荐

猜你喜欢

热门推荐