- 浏览: 56827 次
- 性别:
- 来自: 北京
最近访客 更多访客>>
最新评论
-
yvonxiao:
这个的确好用,我记得我以前是自己写了个存储过程来解决这种递归问 ...
Oracle Start With Connect By
数据库热备份与完整恢复测试:
1.首先,必需保证数据库在归档模式下。
2.热备份数据文件,通过alter tablespace xxx begin backup把表空间设为备份状态,可以手工或在sql下运行host copy把数据文件复制到指定地方,最后把表空间改为正常状态(alter tablepace xxx end backup)。
3.数据库恢复:使用语句rcover datafile,alter database open即可以实现数据库的完整恢复。
具体的步骤如下:
SQL> conn / as sysdba
已连接。
//确定数据库在归档模式下。
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
//查询表空间对应的数据文件,一般表空间名跟对应数据文件名是相同的,可以跳过这一步。
SQL> select v$tablespace.name,v$datafile.name from v$tablespace, v$datafile
2 where v$tablespace.ts#=v$datafile.ts#;
NAME
------------------------------
NAME
--------------------------------------------------------------------------------
SYSTEM
F:\ORACLE\ORADATA\EBOOK\SYSTEM01.DBF
UNDOTBS1
F:\ORACLE\ORADATA\EBOOK\UNDOTBS01.DBF
CWMLITE
F:\ORACLE\ORADATA\EBOOK\CWMLITE01.DBF
DRSYS
F:\ORACLE\ORADATA\EBOOK\DRSYS01.DBF
EXAMPLE
F:\ORACLE\ORADATA\EBOOK\EXAMPLE01.DBF
INDX
F:\ORACLE\ORADATA\EBOOK\INDX01.DBF
ODM
F:\ORACLE\ORADATA\EBOOK\ODM01.DBF
TOOLS
F:\ORACLE\ORADATA\EBOOK\TOOLS01.DBF
USERS
F:\ORACLE\ORADATA\EBOOK\USERS01.DBF
XDB
F:\ORACLE\ORADATA\EBOOK\XDB01.DBF
已选择10行。
//将表空间设为备份状态.
SQL> alter tablespace system begin backup;
表空间已更改。
//将数据文件备份到目录f:\oracle\backuparea下.
SQL> host copy f:\oracle\oradata\ebook\system01.dbf f:\oracle\backuparea\
已复制 1 个文件。
SQL> alter tablespace system end backup;
表空间已更改。
/建表test的目的为测试此恢复是否是完整恢复。
SQL> create table scott.test(t int);
表已创建。
SQL> insert into scott.test values(1);
已创建 1 行。
SQL> insert into scott.test values(2);
已创建 1 行。
SQL> commit;
提交完成。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
//删除system01.dbf或移动到其他目录造成数据库崩溃。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 1 - 请大家参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'F:\ORACLE\ORADATA\EBOOK\SYSTEM01.DBF'
//将备份的数据文件复制回目录f:\oracle\oradata\ebook\下.
SQL> $ copy f:\oracle\backuparea\system01.dbf f:\oracle\oradata\ebook\
已复制 1 个文件。
//恢复数据文件system01.dbf。
SQL> recover datafile 'f:\oracle\oradata\ebook\system01.dbf';
完成介质恢复。
SQL> alter database open;
数据库已更改。
//此说明数据库是完整恢复了。
SQL> select * from scott.test;
T
----------
1
2
总结:
1.热备份必须在数据库归档模式下进行
2.在备份的同时,数据库的用户可以进行操作。因此,数据库对应的物理文件的内容是不断变化的,对这些物理文件内容的更新是保留到有关操作已经写到重做日至文件中
后再进行。(这句引自别人叙述,我对后半句正确与否存在疑问,希望大家讨论)。
3.归档日志必须是备份后的所有日至才可以实现数据库的完全恢复。
4.可以备份除临时文件以外的所有数据文件,如果在恢复过程中,发现损坏的是多个数据文件,即可以采用一个一个数据文件的恢复方法
5。 特别当损坏的不是系统表空间,可以先将损坏的表空间文件脱机,这时可以在恢复损坏文件前打开
数据库,再完成恢复。例如:
SQL> alter tablespace tools begin backup;
表空间已更改。
SQL> $ copy f:\oracle\oradata\ebook\tools01.dbf f:\oracle\backuparea
已复制 1 个文件。
SQL> alter tablespace tools end backup;
表空间已更改。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
//删除tools01.dbf造成数据库无法正常启动.
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 8 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 8: 'F:\ORACLE\ORADATA\EBOOK\TOOLS01.DBF'
SQL> alter database datafile 'f:\oracle\oradata\ebook\tools01.dbf' offline;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> $ copy f:\oracle\backuparea\tools01.dbf f:\oracle\oradata\ebook\
已复制 1 个文件。
SQL>recover datafile 'f:\oracle\oradata\ebook\tools01.dbf';
介质恢复完成。
1.首先,必需保证数据库在归档模式下。
2.热备份数据文件,通过alter tablespace xxx begin backup把表空间设为备份状态,可以手工或在sql下运行host copy把数据文件复制到指定地方,最后把表空间改为正常状态(alter tablepace xxx end backup)。
3.数据库恢复:使用语句rcover datafile,alter database open即可以实现数据库的完整恢复。
具体的步骤如下:
SQL> conn / as sysdba
已连接。
//确定数据库在归档模式下。
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
//查询表空间对应的数据文件,一般表空间名跟对应数据文件名是相同的,可以跳过这一步。
SQL> select v$tablespace.name,v$datafile.name from v$tablespace, v$datafile
2 where v$tablespace.ts#=v$datafile.ts#;
NAME
------------------------------
NAME
--------------------------------------------------------------------------------
SYSTEM
F:\ORACLE\ORADATA\EBOOK\SYSTEM01.DBF
UNDOTBS1
F:\ORACLE\ORADATA\EBOOK\UNDOTBS01.DBF
CWMLITE
F:\ORACLE\ORADATA\EBOOK\CWMLITE01.DBF
DRSYS
F:\ORACLE\ORADATA\EBOOK\DRSYS01.DBF
EXAMPLE
F:\ORACLE\ORADATA\EBOOK\EXAMPLE01.DBF
INDX
F:\ORACLE\ORADATA\EBOOK\INDX01.DBF
ODM
F:\ORACLE\ORADATA\EBOOK\ODM01.DBF
TOOLS
F:\ORACLE\ORADATA\EBOOK\TOOLS01.DBF
USERS
F:\ORACLE\ORADATA\EBOOK\USERS01.DBF
XDB
F:\ORACLE\ORADATA\EBOOK\XDB01.DBF
已选择10行。
//将表空间设为备份状态.
SQL> alter tablespace system begin backup;
表空间已更改。
//将数据文件备份到目录f:\oracle\backuparea下.
SQL> host copy f:\oracle\oradata\ebook\system01.dbf f:\oracle\backuparea\
已复制 1 个文件。
SQL> alter tablespace system end backup;
表空间已更改。
/建表test的目的为测试此恢复是否是完整恢复。
SQL> create table scott.test(t int);
表已创建。
SQL> insert into scott.test values(1);
已创建 1 行。
SQL> insert into scott.test values(2);
已创建 1 行。
SQL> commit;
提交完成。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
//删除system01.dbf或移动到其他目录造成数据库崩溃。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 1 - 请大家参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'F:\ORACLE\ORADATA\EBOOK\SYSTEM01.DBF'
//将备份的数据文件复制回目录f:\oracle\oradata\ebook\下.
SQL> $ copy f:\oracle\backuparea\system01.dbf f:\oracle\oradata\ebook\
已复制 1 个文件。
//恢复数据文件system01.dbf。
SQL> recover datafile 'f:\oracle\oradata\ebook\system01.dbf';
完成介质恢复。
SQL> alter database open;
数据库已更改。
//此说明数据库是完整恢复了。
SQL> select * from scott.test;
T
----------
1
2
总结:
1.热备份必须在数据库归档模式下进行
2.在备份的同时,数据库的用户可以进行操作。因此,数据库对应的物理文件的内容是不断变化的,对这些物理文件内容的更新是保留到有关操作已经写到重做日至文件中
后再进行。(这句引自别人叙述,我对后半句正确与否存在疑问,希望大家讨论)。
3.归档日志必须是备份后的所有日至才可以实现数据库的完全恢复。
4.可以备份除临时文件以外的所有数据文件,如果在恢复过程中,发现损坏的是多个数据文件,即可以采用一个一个数据文件的恢复方法
5。 特别当损坏的不是系统表空间,可以先将损坏的表空间文件脱机,这时可以在恢复损坏文件前打开
数据库,再完成恢复。例如:
SQL> alter tablespace tools begin backup;
表空间已更改。
SQL> $ copy f:\oracle\oradata\ebook\tools01.dbf f:\oracle\backuparea
已复制 1 个文件。
SQL> alter tablespace tools end backup;
表空间已更改。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
//删除tools01.dbf造成数据库无法正常启动.
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 8 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 8: 'F:\ORACLE\ORADATA\EBOOK\TOOLS01.DBF'
SQL> alter database datafile 'f:\oracle\oradata\ebook\tools01.dbf' offline;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> $ copy f:\oracle\backuparea\tools01.dbf f:\oracle\oradata\ebook\
已复制 1 个文件。
SQL>recover datafile 'f:\oracle\oradata\ebook\tools01.dbf';
介质恢复完成。
发表评论
-
oracle 命令
2009-02-05 20:30 1011一、ORACLE的启动和关闭 ... -
通过dbms_flashback找回误删除的数据收藏
2009-01-21 11:35 1346在使用DBMS_FLASHBACK时要首先注意以下几个事项: ... -
优化Oracle数据库性能收藏
2009-01-21 11:35 890优化策略 为了保 ... -
Oracle Start With Connect By
2009-01-21 11:33 1572Start With Connect By 是用来实现在一个 ... -
Oracle 表空间操作收藏
2009-01-21 11:32 1009创建表空间: 1、递增 ... -
移动数据文件收藏
2009-01-21 11:32 736移动数据文件: 1、首先使要移动数据文件的表空间离线. ... -
Oracle 死锁会话处理收藏
2009-01-21 11:31 1172--查询所有的死锁: SELECT * FROM V$LOCK ... -
Oracle 9i 打开autotrace on 查看执行计划收藏
2009-01-21 11:31 13331.创建表,通过utlxplan脚本 SQL> @? ... -
如何启用sqlplus的AutoTrace功能收藏
2009-01-21 11:31 847通过以下方法可以把Autotrace的权限授予Everyone ... -
user和schema的区别:
2009-01-21 11:30 1053说穿了其实user是控制权限的,而schema是个容器,非所有 ... -
解决Oracle数据文件和日志文件丢失的问题收藏
2009-01-21 11:29 2102今天不小心误删除了数据库的数据文件和日志文件,在启动数据库时报 ... -
Oracle表段中的高水位线HWM收藏
2009-01-21 11:28 2633在Oracle数据的存储中, ... -
深入了解oracle的高水位(HWM)收藏
2009-01-21 11:26 2273说到HWM,我们首先要简要的谈谈ORACLE的逻辑存储管理.我 ... -
ORACLE 日志文件相关查询收藏
2009-01-21 11:25 11931.查询系统使用的是哪一组日志文件: select * fro ... -
ORACLE热备份恢复手册收藏
2009-01-21 11:22 2332概要 1.1. 本文的目的 为了模拟测试oracle热备份的 ... -
(转)windows命令行下启动oracle
2009-01-21 09:56 1529--总结启动命令如下: lsnrctl [start|stop ... -
小议分析函数中排序对结果的影响(一)
2009-01-12 13:24 928分析函数中经常会包括O ... -
ORACLE10g新特性——全局HASH分区索引
2009-01-12 13:23 1763在10g以前,Oracle的全局索引分区方法只有一种,即范围分 ... -
深入认识Oracle Supplemental logging
2008-12-22 18:35 3143对于有过逻辑standby,streams搭建体验的朋友,肯定 ... -
深入分析Oracle数据库日志文件
2008-12-22 15:19 1000深入分析Oracle数据库日志文件 作者:程永新 发文时间: ...
相关推荐
### Oracle数据库备份与恢复 #### 一、Oracle数据库概述 Oracle数据库是一款由甲骨文公司开发的关系型数据库管理系统,以其卓越的性能、可扩展性和安全性在全球范围内被广泛应用。Oracle数据库的特点包括: - **...
根据备份时数据库是否处于运行状态,Oracle数据库备份大致可以分为三种类型:逻辑备份(导出/导入)、热备份和冷备份。 ##### 1. 导出/导入 (EXP/IMP) 导出/导入是一种逻辑备份方式,主要通过Oracle提供的工具EXP...
Oracle数据库的备份与恢复是确保数据安全的关键环节。在数据库管理中,由于各种原因,如硬件故障、软件错误、人为操作失误等,都可能导致数据库中的数据丢失。因此,有必要实施有效的备份策略,以防止不可预见的情况...
Oracle数据库中的冷备份和热备份属于物理备份范畴。 1. 冷备份:冷备份通常在数据库关闭或处于归档模式下进行,这样可以确保所有数据文件的一致性。冷备份涉及复制数据文件、控制文件、参数文件及初始化参数文件到...
- **热备份恢复**:恢复时,首先恢复最新的数据文件备份,然后应用归档日志文件和联机重做日志文件,以确保数据的一致性和完整性。 #### 增量导出和导入 增量导出是一种针对整个数据库的备份方法,它特别适用于...
以下是对Oracle数据库备份与恢复的详细阐述。 1. **备份类型** - **完整备份**:包括数据库的所有数据文件、控制文件、重做日志文件等,是最全面的备份方式。 - **增量备份**:基于上一次全备份或增量备份,只...
Oracle数据库的备份与恢复是保障企业数据安全和系统高可用性的重要环节。随着信息技术和网络技术的发展,企业对信息系统的依赖度日益增强,数据库系统,尤其是Oracle数据库,成为了存储关键业务数据的主要平台。...
综上所述,图书馆Oracle数据库的备份与恢复策略应结合冷备份和热备份的优势,根据实际情况选择合适的方案,以确保在面对各种潜在风险时,能够最大限度地保护数据的安全性和系统的稳定性。同时,逻辑备份作为一种补充...
本文主要探讨了Oracle数据库的备份类型,包括热备份和冷备份,以及备份状态的一致性和不一致性,旨在为数据库管理员(DBA)提供关键的理论知识和实践指导。 1. 热备份(Online Backups):热备份在数据库运行状态下进行...
Oracle数据库的备份与恢复是确保数据安全性的重要环节。在面对计算机系统故障、硬件问题或人为错误导致的数据丢失时,能够迅速恢复数据至正确状态至关重要。本文以Oracle 7为例,探讨了三种主要的备份策略:导出/...
Oracle数据库的备份与恢复是数据库管理中的关键环节,确保数据的安全性和可恢复性。本文将详细探讨Oracle数据库的三种备份方法:导出/导入、冷备份和热备份。 首先,导出/导入是Oracle数据库常用的数据迁移和备份...
### Oracle数据库文件进行恢复与备份详解 在信息技术领域,Oracle数据库因其卓越的性能与稳定性而备受企业青睐。然而,无论数据库系统多么先进,都不可避免地面临数据丢失的风险,这可能是由于硬件故障、软件错误、...
总结来说,手工实现Oracle数据库的自动备份与恢复方案需要结合业务需求、硬件资源和经济条件,选择合适的备份类型和恢复策略,并定期测试以确保有效性。实施过程中,应遵循最佳实践,确保数据安全无虞。
本文档提供了 Oracle 热备份恢复的手册,包括Undo 表空间恢复、非系统数据文件恢复、Oracle 热备份恢复过程、系统崩溃恢复、Undo 表空间和 Rollback 段、数据库初始化参数、数据库恢复命令等知识点。
Oracle数据库的备份与恢复技术是确保...总结来说,Oracle数据库的备份与恢复技术涵盖了逻辑备份、冷备份、热备份以及RMAN等多种方式,每种方式各有优缺点,需根据实际情况灵活选择和运用,以实现高效、可靠的数据保护。
在“军字一号”工程中,ORACLE数据库的备份与恢复是确保医院信息系统稳定运行的关键环节。由于计算机系统可能出现的各种故障,如硬件故障、介质故障、误操作或软件缺陷等,数据库的安全性显得尤为重要。Oracle数据库...
Oracle数据库的备份与恢复是确保数据安全性的重要环节。在Oracle中,有三种主要的备份方法:导出/导入(EXP/IMP)、热备份和冷备份。每种方法都有其特定的适用场景和优缺点。 首先,导出/导入是Oracle数据库的逻辑...
总的来说,Oracle数据库的备份与恢复策略需要根据实际需求和风险评估来定制,同时结合冷备份、热备份和逻辑备份(导出/导入)等多种方法,确保在数据损坏或丢失时能够迅速恢复,保障业务连续性。在实际操作中,还...
Oracle数据库的备份与恢复主要包括逻辑备份恢复和物理备份恢复。逻辑备份通常涉及导出和导入数据,如使用EXPDP和IMPDP工具,或者通过SQL脚本进行数据迁移。这种方法适用于部分数据的备份和恢复,但效率相对较低,不...