实验十一Oracle数据库备份与恢复
oracle数据库的备份与恢复
第六章 oracle数据库的备份与恢复第一部分:数据库的备份备份的必要性因为各种人为或外界的因素可能会造成数据库中灾难性的数据丢失,为了保证数据库中数据的安全,必须采取备份措施保证RDBMS中包含的数据免遭破坏,而有效的备份是十分简单和普通的,是在数据库处于无法使用状态时用于重建数据库的重要信息拷贝。
在重要的修改如删除段或者表空间以前或以后执行适当的备份是相当必要的。
备份的种类:冷备份:一种最简单直接的备份方式,也称为脱机备份,但是必须关闭数据库,这对于当前7×24的有效性并不可取;联机热备:正如名称所示,是在数据库打开时执行的备份方式,进行联机备份比进行脱机备份的进程复杂;用导出exp应用程序备份:是对于脱机备份和联机备份类型的补充,因为它无法回滚,所以不能替代数据库文件的备份。
各种备份的原理和步骤:冷备份:关闭数据库,采取操作系统拷贝命令来完成对数据库的备份,然后启动数据库。
例如:将名为lyj的数据库作一个冷备份,备份的文件放置在/mnt/backup_wy/目录下。
首先找出控制文件、数据文件和redo日志文件的存储位置SQL> select name from v$controlfile ;NAME----------------------------------------------------/u3/oradata/lyj/control01.ctl/u3/oradata/lyj/control02.ctl/u3/oradata/lyj/control03.ctlSQL> select status,name from v$datafile ;STATUS NAME---------- ----------------------------------------SYSTEM /u3/oradata/lyj/system01.dbfONLINE /u3/oradata/lyj/tools01.dbfONLINE /u3/oradata/lyj/rbs01.dbfONLINE /u3/oradata/lyj/temp01.dbfONLINE /u3/oradata/lyj/users01.dbfONLINE /u3/oradata/lyj/indx01.dbfSQL> select * from v$logfile ;GROUP# STATUS MEMBER--------------------------------------------------------------------------------1/u3/oradata/lyj/redo01.log2 /u3/oradata/lyj/redo02.log3 /u3/oradata/lyj/redo03.log●关闭数据库:SQL> shutdown数据库已经关闭。
Oracle数据库-备份整个数据库与还原整个数据库数据
Oracle数据库-备份整个数据库与还原整个数据库数据这个功能是为了防止数据库中的数据损坏,而拿备份的表去顶替损坏的表这个功能是在DOS窗口实现的,可并非是在Oracle数据库中执行的先说本地的导出与导入:备份(也叫导出):exp 用户名/密码@本地服务名 file=目标地址举例: exp sys/sys@orcl file=C:\Users\Administrator\Desktop注:1、@orcl一般本地库的没动的话都叫这个2、C:\Users\Administrator\Desktop是本地桌面地址3、导出的文件是在硬盘上生成后缀名为dmp的文件还原【导入】:imp 用户名/密码@本地服务名 file=文件的位置 ignore=y举例:imp sys/sys@orcl file=C:\Users\Administrator\Desktop\某.dmp full=y ignore=y注:1、ignore=y的作用是忽视一些不必要的错误如果不加的话有时候会报:ORACLE 这些对象由 XXXX 导出, 而不是当前用户2、有时候会提示IMP-00031:必须指定 FULL=Y 或提供 .....(记不清了)这时候需要 ignore=y 改为 full=y 就可以了(在这里向评论区的那位同志道歉我之前没遇见过这个问题,抱歉)3、(2020年10月26日12:08:26改)full=y是导入全部文件的含义有本地的当然有远程的导出与导入:备份【导出】:exp 用户名/密码@网络服务名 file=目标地址还原【导入】:imp 用户名/密码@网络服务名 file=文件位置 ignore=y注意:如果从A用户导出,然后导入B用户,则需要加上 fromuser=A touser=B举例:imp 用户名/密码@网络服务名 file=文件位置 ignore=y fromuser=A touser=B如果你发现导入数据报错,请往下看oracle 导入DMP文件时IMP-00013: 只有DBA 才能导入由其他 DBA 导出的文件 IMP-00000: 未成功终止导入报这个错误主要是一个DBA用户权限问题,导出数据的用户拥有DBA权限,而我要导入的用户没有这个权限而已,我们需要给要导入的用户加上DBA权限按照网上的其他教程用同一个用户给同一个用户权限.... 对不起我在想,要是他没有权限是怎么给同一用户赋予权限的首先在DOS窗口,执行sqlplus然后会让你输入用户名,你可以输入用system或者sys用户赋予登录密码就是管理口令然后就会碰见如下就如上图一样,挨个执行grant dba to usernam注:2这里直接敲回车grant dba to 用户名;即可-全文完-。
oracle实验报告及答案 备份与恢复
实验四备份与恢复班级:座号:姓名:时间:一、实验目的1.了解备份的重要性2.对数据库进行物理备份、恢复与逻辑备份、恢复3.使用RMAN对数据库进行备份与恢复二、实验设备一台PC机,widows操作系统,oracle 10g三、实验内容1.本练习将使用EXPORT工具按用户方式对SCHOOL模式中的对象进行逻辑备份,并使用该备份恢复将被用户删除的表。
1)在命令提示符窗口中输入命令,启动EXP工具按用户方式备份SCHOOL模式中的对象。
2)删除表STUDENT中的所有数据库。
3)使用IMPORT工具按用户方式恢复STUDENT表中的数据。
2.本练习将对数据库进行物理备份(冷备份),并恢复被用户误删除的数据。
1)以SYSDBA身份连接数据库。
2)复制Oracle目录中的所有文件。
3)删除user01.dbf(模拟误删除)。
4)关闭数据库,启动数据库。
3.本练习将对数据库进行物理备份(热备份),并恢复被用户误删除的数据。
1)以SYSDBA身份连接数据库。
2)确定数据库运行在归档模式下。
3)切换表空间USER为脱机状态。
4)复制Oracle目录中的USERS01.DBF文件,然后设置表空间USERS为ONLINE状态。
5)删除数据文件users01.dbf,并归档当前的日志信息。
6)关闭数据库,切换数据库到MOUNT状态。
7)复制备份的文件到数据库目录,并使用RECOVER命令执行完全恢复。
8)打开数据库,并验证是否恢复被误删除的数据。
4.本练习将对数据库进行物理备份(热备份),并执行基于时间的不完全恢复,以恢复被用户误删除的数据。
1)以SYSDBA身份连接数据库。
2)确定数据库运行在归档模式下。
3)切换表空间USER为脱机状态。
4)复制Oracle目录中的USERS01.DBF文件,然后设置表空间USERS为ONLINE状态。
5)删除STUDENT表中存储的学生信息,并归档当前的日志信息。
6)关闭数据库,切换数据库到MOUNT状态。
Linux_oracle数据库的备份与恢复
Linux_oracle数据库的备份与恢复1 数据库备份和恢复(备份和恢复均已做成脚本自动运行,下列操作供参考,请不要在生产机上做测试) 1)数据库备份:◆将dbexp.parm,dbexp.sh 拷贝至/home/oracle/backup/.以oracle用户登录系统$ cd /home/oracle/backup$ dos2unix *$ chmod 755 dbexp.sh◆手工执行备份,用oracle用户登录:$ cd /home/oracle/backup$ ./dbexp.sh◆自动执行备份,用root用户登录:#crontab -e 00 01 * * * su - oracle -c "/home/oracle/backup/dbexp.sh"2)数据库恢复:以oracle用户登录系统◆删除用户:sqlplus /nolog>connect / as sysdba;>drop user center cascade;>create user center identified by center;>grant connect,resource,dba to center◆恢复数据库$imp center/center full=y grants=y INDEXES=y constraints=y LOG=/tmp/backup.log rows=y ignore=y file=xxx(xxx--为以前备份的数据文件,如checkid_20041123.dat)oracle数据库的备份与恢复原理及方法:导出(备份)exp 用户名/密码@服务名file=d:daochu.dmp (rows=no(导出空结构)) 导入(恢复)imp 用户名/密码@服务名file=d:daochu.dmp fromuser=原用户名touser=新用户名---- 当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。
oracle数据库还原的详细流程
oracle数据库还原的详细流程
Oracle数据库还原的详细流程如下:
1. 关闭Oracle数据库服务:在开始还原之前,需要确保Oracle数据库服务已经关闭。
这样可以避免在还原过程中发生数据冲突或损坏。
2. 确认数据库备份:在开始还原之前,需要确认数据库的备份情况。
数据库的备份可以分为完全备份和增量备份两种。
完全备份是指对整个数据库进行备份,而增量备份是在完全备份的基础上,对新增或修改的数据进行备份。
可以通过查看备份记录或者与负责备份的人员进行沟通来确认备份情况。
3. 选择合适的还原方式:根据备份文件的位置和可用资源,选择适合的还原方式。
例如,如果备份文件在本地磁盘上,可以选择磁盘还原;如果备份文件在云端,可以选择云存储还原。
4. 执行还原操作:根据选择的还原方式,执行相应的操作。
例如,在磁盘还原中,需要将备份文件复制到目标磁盘中。
在云存储还原中,需要将备份文件从云存储下载到本地或直接在云平台上进行还原。
5. 启动Oracle数据库服务:完成还原后,启动Oracle数据库服务,验证数据是否正确加载并可用。
请注意,以上步骤仅供参考,具体操作可能因实际情况而有所不同。
在进行数据库还原时,建议参考Oracle官方文档或咨询专业人士以获取更准确的信息和指导。
备份和恢复数据库Oracle
2.1 冷备份与恢复
冷备份又称脱机备份,必须在数据库已经正常关闭的情况下进行,此时, 系统会提供给用户一个完整的数据库。
冷备份时可以将数据库使用的每个文件都备份下来,这些文件包括: 所有控制文件(文件后缀名为.CTL,默认路径Oracle\oradata\oradb) 所有数据文件(文件后缀名为.DBF,默认路径Oracle\oradata\oradb) 所有联机REDO LOG文件(文件形式为REDO*.*,默认路径 Oracle\oradata\oradb) 初始化文件INIT.ORA(可选)(默认路径Oracle\admin\oradb\spfile)
archive log list; 如果归档日志模式没有启动,则打开数据库的归档日志模式, 先使用shutdown immediate命令关闭数据库,然后使用如下 命令启动数据库:
startup mount; (2)修改数据库的归档日志模式:
alter database archivelog;
备份和恢复数据库Oracle
如果数据库在ARCHIVELOG方式下,可实施在线日志的归档。 在控制文件中指明填满的日志文件组在归档之前不能重用。一 旦组成为不活动,执行归档的进程立即可使用该组。
备份和恢复数据库Oracle
2 物理备份与恢复
2.1 冷备份与恢复 2.2 热备份与恢复 2.3 几种非完全恢复方法
备份和恢复数据库Oracle
SQL>recover database until cancel;
(4)恢复完成后,使用RESETLOGS模式启动数据库即可:
SQL>alter database open resetlogs;
备份和恢复数据库Oracle
oracle数据库备份与还原方法
oracle数据库备份与还原方法一、Oracle数据库备份方法。
1.1 冷备份。
冷备份是在数据库关闭状态下进行的备份。
这就好比是给一个睡着的人做全身检查,一切都是静止的,好操作。
你得把数据库相关的文件,像数据文件、控制文件、重做日志文件等一股脑儿地拷贝到一个安全的地方。
这种备份方法简单直接,但是呢,在备份期间数据库是不能使用的,就像你要修东西得先把它停下来一样,有点不方便。
不过它恢复起来也相对容易,就像把之前拷贝走的东西再原封不动地拿回来就好。
1.2 热备份。
热备份可就不一样啦,它是在数据库运行的时候进行备份的。
这就像是给一个正在跑步的人换鞋子,难度不小。
热备份主要是利用归档模式,对表空间或者数据文件进行备份。
这种方式不影响数据库的正常使用,就像在火车行驶的时候给它换个小零件,火车还能继续跑。
但是热备份的操作相对复杂一些,需要对Oracle数据库有比较深入的了解,不然很容易搞砸,那可就“偷鸡不成蚀把米”了。
1.3 逻辑备份。
逻辑备份呢,是通过Oracle的工具,比如EXP或者EXPDP来进行的。
这就像是把数据库里的数据按照一定的逻辑规则整理出来,打包带走。
它可以备份特定的表、用户或者整个数据库。
这种备份方式比较灵活,就像你可以从一个大仓库里挑选你想要备份的东西。
但是逻辑备份的速度可能会比较慢,特别是数据量很大的时候,就像小马拉大车,有点吃力。
二、Oracle数据库还原方法。
2.1 冷备份还原。
如果是冷备份还原,那就简单多啦。
首先把数据库关闭,然后把之前备份的文件再拷贝回原来的位置,就像把东西放回原位一样。
不过要注意文件的权限和路径,可不能张冠李戴。
一切就绪后,再启动数据库,就大功告成了。
这就像把修好的东西重新启动,又能正常工作了。
2.2 热备份还原。
热备份还原就复杂得多了。
首先要根据备份的情况,确定需要还原的表空间或者数据文件。
然后利用归档日志和备份文件进行恢复。
这过程就像走钢丝,得小心翼翼的。
Oracle数据库备份与恢复
ALTER DATABASE
CREATE DATAFILE ‘E:\Oracle11\oradata\EBUY\USERS02.DBF’
AS
‘E:\Oracle11\oradata\EBUY\USERS01.DBF’;
然后,备份数据库的控制文件。例如,备份控制文件到指定位置。
ALTER DATABASE
案例3—恢复数据库
完成步骤
使用命令执行数据库恢复
2.基于CANCEL的恢复 (1)当遇到数据库错误时,使用SHUTDOWN IMMEDIATE命令关 闭Oracle数据库,并将备份的数据复制到相应的位置。例如: SHUTDOWN IMMEDIATE (2) 使用STARTUP MOUNT命令启动数据库。例如: STARTUP MOUNT (3)使用RECOVER命令对数据库进行基于CANCEL的恢复。例如: RECOVER DATABASE UNTIL CANCEL ; (4)恢复操作完成后,使用RESETLOGS模式启动Oracle数据库。 例如: ALTER DATABASE OPEN RESETLOGS ;
2 恢复数据库
恢复的类型
1.实例恢复 实例恢复只使用在Oracle并行服务器配置环境中,在运行数据库中一 个实例并发现其他实例崩溃时执行 2.崩溃恢复 崩溃恢复只在单个实例数据库配置环境中执行。在崩溃恢复中,实例 必须打开数据库,并执行恢复操作。 3.介质恢复 与实例恢复和崩溃恢复不同的是,介质恢复使用命令来执行,也是 DBA进行数据库恢复的主要内容。
案例1—使用OEM执行数据库备份
完成步骤
4.管理当前备份 登录OEM后,单击“可用性”选项卡中“管理”区域的“管理当前备份” 链接,进入“管理当前备份”的“备份集”页面
Oracle数据库备份恢复介绍
Oracle数据库备份恢复介绍Oracle备份与恢复数据库整体备份RMAN> BACKUP DATABASEPLUS ARCHIVELOG; Rman备份级别•数据库•表空间•数据文件•控制文件•服务器参数文件(spfile)•归档日志文件•完全备份包含所有使用的数据文件块。
•级别为0的增量备份等同于标记为0级的完全备份。
•级别为1的累积增量备份仅包含自上次级别为0的增量备份以来修改的块。
•级别为1的差异增量备份仅包含自上次增量备份以来修改的块。
•差异增量备份包含自上次增量备份以来更改的所有块。
•累积增量备份包含自上次级别为0的增量备份以来更改的所有块。
启用块更改跟踪可简化备份过程,其可以:•在更改跟踪文件中记录更改的块•由RMAN 自动使用(如果启用此选项)•通过避免备份过程中的完全数据文件扫描来优化增量备份SQL> ALTER DATABASE ENABLE2> BLOCK CHANGE TRACKING3> USING FILE '/mydir/rman_change_track.f'4>REUSE;RMAN> RECOVER COPY OF2> DATAFILE {n|'file_name'}3> WITH TAG'incr_upd_df1';•列出数据文件的备份集和副本:RMAN> LIST BACKUP OF DATABASE;RMAN> LIST BACKUP OF DATAFILE2>"/db01/ORADATA/u03/users01.dbf";•列出指定表空间的任何数据文件的备份集和副本:RMAN> LIST COPY OF TABLESPACE "SYSTEM";•列出包含指定范围的归档日志的备份集和副本:RMAN> LIST COPY OF DATABASE ARCHIVELOG2> FROM TIME='SYSDATE-7';备份(副本)清理•RMAN> crosscheck backup;•RMAN> crosscheck backup of database;•RMAN> crosscheck backup of tablespace "SYSTEM";•RMAN> crosscheck backup of datafile 1;•RMAN> crosscheck backup of controlfile;•RMAN> crosscheck backup of spfile;•RMAN> crosscheck backup of archivelog all;•RMAN> delete(expired)……•RMAN> show all;•RMAN> report obsolete;•RMAN> delete obsolete;恢复可分为以下两类:•完全恢复是将数据库恢复到当前最新状态,包括直至请求恢复时进行的所有已提交的数据更改。
oracle数据库备份和还原
Oracle备份和还原*注意:数据库A名称--要进行备份的数据库名称数据库B名称--要还原到的数据库名称(即新建的空库)一、备份1. 手动创建一个文件夹。
例如:d:\BackupDB2. 确定要数据库A的服务处于启动状态,其他停止。
3.以下cmd下运行:set oracle_sid = 数据库名称A4. sqlplus /nolog -----进入sql命令环境-----5. conn system/数据库A在创建时设置的口令(@数据库连接符(在本机操作的时候才会用到,远程操作,则不用))(连接时提示ORA-12154,表示client_hone网络配置问题)conn orcladmin/manager@ora8_3_36. create user orcladmin identified by manager; -----创建用户并设置密码-----7. grant dba to orcladmin; ----- 给创建的用户赋予dba 权限-----8. create directory dump_file_dir as 'd:\BackupDB'; -----创建目录-----9. select tablespace_name from dba_tablespaces; (因为后面还原数据库到新建的库时需要创建表空间,还原步骤中使用)-----查询表空间-----其中:和不是表空间名称,其它的都是。
10. 打开另一个CMD窗口执行备份命令:expdp orcladmin/manager@数据库A名称directory=dump_file_dir dumpfile=备份文件名.dmp------该句中orcladmin/manager就是第六步创建的用户名和密码;“备份文件名”是自定义的----- 备份完成标识如图:二、还原 (用具有bda权限的用户登录,先删除旧用户 drop user 用户名cascade,再还原)*还原之前需知道备份源库的表空间1. 确定数据库B的服务处于启动状态2. set oracle_sid=数据库B的名称3. sqlplus /nolog -----进入sql命令环境-----4. conn system/数据库B的口令@你的数据库名字(@数据库连接符(在本机操作的时候才会用到,远程操作,则不用))(连接时提示ORA-12154,表示client_hone网络配置问题)conn system as sysdba5.create user orcladmin identified by centaurus; -----创建用户并设置密码-----\create user saipadmin identified by saipmanager;grant dba to orcladmin; ----- 给orcladmin 权限-----grant dba to saipadmin;6. 创建表空间(备份库的表空间):在D盘创建文件夹oradata,再新建文件夹命名twhis(数据库B名称)7. 在D盘下创建一个oracleback文件夹:-----需手工创建(创建地址和名称自定义)-----create directory dump_file_dir as 'd:\oracleback';grant read,write on directory dump_file_dir to orcladmin;grant read,write on directory dump_file_dir to saipadmincs;8. 另一个cmd窗口下执行还原命令:set oracle_sid=数据库B的名称impdp orcladmin/centaurus@twhiscs directory=dump_file_dir dumpfile=之前备份的名称.dmp table_exists_action=replaceimpdp saipadmin/saipmanager directory=dump_file_dir dumpfile=20170331.dmptable_exists_action=replace logfile=20170405.log-----orcladmin/manager就是第五步创建的用户名和密码;“之前备份的名称”是之前备份数据库时的备份名称-----*注:还原到现存库时,1.现有库必须和备份库的表结构相同。
Oracle数据库备份与恢复实例讲解
2021/10/10
43
联机备份的缺点:
不能出错,否则后果严重。 若联机备份不成功,所得结果不可用于时间点的恢复。
因难于维护,所以要特别小心,不允许“以失败而告 终”。
2021/10/10
44
案例,联机备份与完全数据库恢复
在表空间APPL_DATA上建立对象COURSE,首先执行 联机备份,在COURSE表上加入记录,然后删除数据 文件APPL_DATA,最后执行恢复,数据文件重新联机, 验证恢复成功。
2021/10/10
35
(5)查询对象STUDENT,返回错误信息
2021/10/10
36
(6)关闭数据库
shutdown immediate;
(7)复制原先备份的数据文件,控制文件,重做日志 等到原来目录下,f:\oracle\oradata\test2
(8)startup mount;
(3)复制数据文件
用拷贝命令备份全部的数据文件、重做日志文件、控制文 件、初始化参数文件等。
简单的处理方法是将数据库所在路径下的文件全部复制备 份。在下面实验案例中所用数据库TEST2的目录是: f:\oracle\oradata\test2
2021/10/10
27
(4)重新启动数据库 STARTUP;
联机备份一般备份数据文件、控制文件和日志文 件。
2021/10/10
41
(1)备份所有数据文件 (2)备份所有归档的重做日志文件 (3)备份一个控制文件 (4)检查发生故障的数据文件,恢复数据文件
2021/10/10
42
联机备份的优点:
可在表空间或数据文件级备份,备份时间短。 备份时数据库仍可使用。 可达到秒级恢复(恢复到某一时间点上)。 可对几乎所有数据库实体作恢复。 恢复快速,大多数情况下恢复不需要关闭数据库。
Oracle数据库备份与恢复
物理备份:备份数据库的物理文件,如数据文件、控制文件、日志文件等
05
备份频率:根据数据库重要性和数据变化频率制定备份频率,如每天、每周、每月等
06
差异备份:备份自上次全量备份以来发生变化的数据
03
逻辑备份:备份数据库的逻辑结构,如表、视图、存储过程等
04
全量备份:备份整个数据库,包括所有数据和结构
权限问题:确认备份和恢复操作所需的权限,确保操作顺利进行
云计算:Oracle数据库备份与恢复将更加依赖于云计算技术,实现更高效、更安全的备份与恢复。
自动化:Oracle数据库备份与恢复将更加自动化,降低人工干预,提高备份与恢复的效率。
智能化:Oracle数据库备份与恢复将更加智能化,能够根据数据库使用情况自动调整备份策略,提高备份与恢复的准确性。
确保备份文件完整
恢复过程中不要中断
恢复后检查数据完整性
恢复后进行数据验证
备份频率:根据数据更新频率和业务需求确定备份频率
备份策略:制定合适的备份策略,如全量备份、增量备份、差异备份等
备份存储:选择合适的备份存储介质,如磁盘、磁带、云存储等
备份验证:定期进行备份验证,确保备份数据的完整性和可用性
备份存储位置:选择合适的备份存储位置,如本地磁盘、网络存储等
备份存储格式:选择合适的备份存储格式,如RMAN、SQL*Plus等
备份存储策略:制定合理的备份存储策略,如全量备份、增量备份等
备份存储管理:定期检查备份存储情况,确保备份数据完整、可用。
演练注意事项: a. 确保备份数据安全 b. 确保演练不影响生产环境 c. 记录演练结果,分析问题并改进 d. 定期更新备份策略和恢复计划
解决方法:使用电源保护设备,确保备份过程中系统稳定
Oracle11gR2 实现数据库备份与恢复(exp、imp)
Oracle11gR2 实现数据库备份与恢复
一、导出数据库(数据库备份)
1.Cmd exp
2.输入用户名scott及密码:Tiger
3.enter (默认)
4.输入要备份的文件名称如mydata.dmp
5.选择导出的内容U –>用户T->代表的是表
6.导入权限、导出表数据、及数据压缩选项
这样就完成数据备份了,,备份数据所在位置为默认目录
二、导入数据(imp)恢复备份数据
1.cmd ->imp(导入数据命令)
2.输入用户名:scott和密码:Tiger
3.对仅导入数据、选项进行选择
4.导入文件填写
5.对冲去进行默认操作、对只导入文件内容、等进行莫荣选择
6.对导入权限、导入表数据、导入整个导出文件选项进行选择
7.数据备份就完成了,,在pl/sqL工具中查询下删除掉的数据是否恢复就知道了。
Oracle第11章数据库备份与恢复
Oracle 10g 数据库基础教程
在归档模式下,当数据库结构发生变化时,如创建或删除表 空间、添加数据文件、重做日志文件等,应该备份数据库的 控制文件;
逻辑备份是指利用Oracle提供的导出工具(如 Expdp,Export)将数据库中的数据抽取出来存放 到一个二进制文件中。
7
Oracle 10g 数据库基础教程
根据数据库备份时是否关闭数据库服务器,物理 备份分为:
冷备份又称停机备份,是指在关闭数据库的情况下将 所有的数据库文件复制到另一个磁盘或磁带上去。
如果数据库运行在归档模式,则当数据库的控制文件损坏 时,可以使用备份的控制文件实现数据库的不完全恢复;
如果数据库运行在归档模式,则当数据库的联机日志文件 损坏时,可以使用备份的数据文件和联机重做日志文件不 完全恢复数据库;
如果执行了不完全恢复,则当重新打开数据库时应该使用 RESETLOGS选项。
18
Oracle 10g 数据库基础教程
11.1.4 恢复原则与策略
根据数据库介质故障原因,确定采用完全介质恢复还是不 完全介质恢复;
如果数据库运行在非归档模式,则当介质故障发生时,只 能进行数据库的不完全恢复,将数据库恢复到最近的备份 时刻的状态;
如果数据库运行在归档模式,则当一个或多个数据文件损 坏时,可以使用备份的数据文件进行完全或不完全恢复数 据库;
逻辑恢复是指利用逻辑备份的二进制文件,使用Oracle提供的导 入工具(如Impdp,Import)将部分或全部信息重新导入数据 库,恢复损毁或丢失的数据。
实验十一-Oracle数据库备份与恢复
实验十一Oracle数据库备份与恢复【实验目的与要求】1. 常见数据备份与恢复的方法2.学会Oracle备份方案的制定【实验内容与步骤】1. Oracle物理备份与恢复准备工作:(1)查看数据库是否运行于归档模式下:请给出查询的结果:(2)关闭数据库,做一个完全的冷备份。
提示:a.使用shutdown命令关闭数据库;b.复制数据文件、日志文件和控制文件到安全地方(3) 把数据库改为归档模式设置成自动归档SQL> alter system set log_archive_start = true scope=spfile;注意:本实验中的很多命令路径参数需根据自己的实现环境做出修改!!实验11-1数据库系统数据文件和回退段遭破坏的情况下的恢复。
此时数据库的状态是关闭的。
(1)先启动数据库,创建新用户scott,并用scott用户建立test表,并插入两条数据。
创建表空间的四个步骤:/*分为四步*//*第1步:创建临时表空间 */create temporarytablespace user_temptempfile 'D:\user_temp.dbf'size 50mautoextend onnext50m maxsize 20480mextent management local;/*第2步:创建数据表空间*/create tablespace user_dataloggingdatafile 'D:\ user_data.dbf'size 50mautoextend onnext 50m maxsize20480mextent management local;/*第3步:创建用户并指定表空间 */createuserscott identified by tigerdefault tablespace user_datatemporary tablespace user_temp;/*第4步:给用户授予权限 */grant connect,resource,dbato scott;SQL> createtable test (id int,name varchar2(10)); 表已创建。
ORACLE数据库备份还原
1. ORACLE数据库
1.1 登录SQL*PLUS
用户名:test
密码: test
主机: 127.0.0.1:1521@ORCL
1.2 ORCLE数据库备份导出
1)远程到安装数据库的服务器
2)进入cmd
3)导出备份文件,执行语句 exp test/test123456@ORCL file=E:/test.dmp 1.3 ORCLE数据库备份导入
1)创建实例
2)创建好实例以后,进行如下步骤:
第一,启动sql*puls
第二,以system/123456登陆
第三,create user 用户名 IDENTIFIED BY 密码(如果已经创建过用户,这步可以省略)
eg:create test identified by test123456
第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW , DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字
第五, 运行-cmd-进入dmp文件所在的目录,
imp userid=system/manager full=y file=*.dmp
或者 imp userid=system/manager full=y file=filename.dmp
执行示例:
imp userid=test/test123456 full=y file=E:/test.dmp;
第 1 页共 1 页。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十一Oracle数据库备份与恢复
【实验目的与要求】
1. 常见数据备份与恢复的方法
2.学会Oracle备份方案的制定
【实验内容与步骤】
1. Oracle物理备份与恢复
准备工作:
(1)查看数据库是否运行于归档模式下:
请给出查询的结果:
(2)关闭数据库,做一个完全的冷备份。
提示:
a.使用shutdown命令关闭数据库;
b.复制数据文件、日志文件和控制文件到安全地方
(3) 把数据库改为归档模式
设置成自动归档
SQL> alter system set log_archive_start = true scope=spfile;
注意:本实验中的很多命令路径参数需根据自己的实现环境做出修改!!
实验11-1
数据库系统数据文件和回退段遭破坏的情况下的恢复。
此时数据库的状态是关闭的。
(1)先启动数据库,创建新用户scott,并用scott用户建立test表,并插入两条数据。
创建表空间的四个步骤:
/*分为四步 */
/*第1步:创建临时表空间 */
create temporary tablespace user_temp
tempfile 'D:\ user_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*第2步:创建数据表空间 */
create tablespace user_data
logging
datafile 'D:\ user_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*第3步:创建用户并指定表空间 */
create user scott identified by tiger
default tablespace user_data
temporary tablespace user_temp;
/*第4步:给用户授予权限 */
grant connect,resource,dba to scott;
SQL> create table test (id int,name varchar2(10)); 表已创建。
SQL> insert into test values(1001,’zhangfei’); 已创建 1 行。
SQL> insert into test values(1002,’guanyu’); 已创建 1 行。
SQL> commit; 提交完成。
(2)模拟数据库遭意外被迫关闭,并且系统数据文件丢失。
SQL> shutdown abort
(3)启动服务,启动数据库
a. 启动服务
b. 启动数据库,肯定出错 SQL> startup
请给执行结果:
(4)把备份的SYSTEM01.dbf和UNDOTBS01.DBF文件复制回去
a. 执行以下命令
然后就可以打开数据库,查看scott用户的test表。
SQL> alter database open; SQL> select * from scott.test;
请给执行结果:
实验11-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; 表空间已更改。
移除users01.dbf到一个指定文件夹(备份)
执行:SQL> alter tablespace users online;
请给执行结果:
此时出现错误,users表空间不能在线了。
这时把备份的users01.DBF还原回去。
然后,执行:SQL> recover tablespace users;
SQL> recover tablespace users;
(5)完成介质恢复。
SQL> alter tablespace users online; 表空间已更改。
SQL> select * from scott.test1;
请给执行结果:
实验11-3:数据文件没有备份(不能使system和undo文件)的恢复。
(1)创建表空间testspace
在SQL Plus中依次执行以下语句,给出最后的执行结果:
SQL> create tablespace testspace datafile
'C:\oracle\product\10.1.0\db_1\TestDB\testspace.dbf' size 10m;
SQL> create table scott.test3(id int,name varchar2(10)) tablespace testspace; SQL> commit;
SQL> alter system switch logfile;
SQL> insert into scott.test3 values(1003,’songjian’); SQL> commit;
SQL> alter tablespace testspace offline; SQL> select * from scott.test3;
请给执行结果:
(2)由于没有备份数据文件,需重新创建一个
SQL> alter database create datafile
'C:\oracle\product\10.1.0\db_1\TestDB\testspace.dbf'; SQL> recover tablespace testspace;
(3) 完成恢复
SQL> alter tablespace testspace online; 表空间已更改。
SQL> select * from scott.test3;
请给执行结果:
【实验练习题】
本练习将对数据库进行物理备份,并执行基于更改的不完全恢复,以恢复被用户误删除的数据。
按以下步骤完成实验过程,并给出实验结果:
1)以SYSDBA身份连接数据库。
2)确定数据库运行在归档模式下。
3)切换表空间USER为脱机状态。
4)复制Oracle目录中的USERS01.DBF文件,然后设置表空间USERS为ONLINE 状态。
5)删除STUDENT表中存储的学生信息,并归档当前的日志信息。
6)关闭数据库,切换数据库到MOUNT状态。