恢复ORACLE提交删除的数据
oracle恢复表数据的sql语句
oracle恢复表数据的sql语句恢复表数据是在数据库中非常常见的操作,当我们需要恢复被误删除或者修改的表数据时,可以使用Oracle数据库提供的一些SQL 语句来完成。
下面列举了10个常用的Oracle恢复表数据的SQL语句。
1. 使用INSERT INTO语句恢复单条数据在Oracle中,可以使用INSERT INTO语句将备份的数据插入到目标表中,从而实现恢复。
例如:```INSERT INTO 表名(列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);```其中,表名为需要恢复数据的目标表,列1、列2、列3为目标表的列名,值1、值2、值3为备份数据中对应列的值。
2. 使用UPDATE语句恢复单条数据如果仅需要恢复某个或某几个列的数据,可以使用UPDATE语句来进行恢复。
例如:```UPDATE 表名 SET 列1 = 值1, 列2 = 值2, 列3 = 值3 WHERE 条件;```其中,表名为需要恢复数据的目标表,列1、列2、列3为目标表的列名,值1、值2、值3为备份数据中对应列的值,条件为恢复数据的条件。
3. 使用INSERT INTO SELECT语句批量恢复数据如果需要恢复多条数据,可以使用INSERT INTO SELECT语句来进行批量恢复。
例如:```INSERT INTO 表名 (列1, 列2, 列3, ...)SELECT 列1, 列2, 列3, ... FROM 备份表名 WHERE 条件;```其中,表名为需要恢复数据的目标表,列1、列2、列3为目标表的列名,备份表名为备份数据的表名,条件为恢复数据的条件。
4. 使用FLASHBACK TABLE语句恢复整个表如果表中的数据被误删除或修改,可以使用FLASHBACK TABLE语句将整个表恢复到某个时间点的状态。
例如:```FLASHBACK TABLE 表名 TO TIMESTAMP TO_TIMESTAMP('时间点', '日期格式');```其中,表名为需要恢复数据的表名,时间点为需要恢复到的具体时间,日期格式为时间的格式。
使用NetBackup进行oracle备份和恢复
使用NetBackup进行oracle备份和恢复一、环境介绍:这个实验都是在vmware workstation里完成的。
由于NetBackup7只能装在64位的系统上,所以这里采用了64位的rhel5.5系统,以及oracle 10gr2 for linux_x64的软件包。
数据库的数据文件存储在ASM中。
安装rhel、oracle、netbackup这里不提,可以参考网上其他博文。
NetBackup的服务端、客户端以及媒体服务器都在同一台主机上()。
在安装netbackup7过程中,数据库的agent不需要额外再单独安装,安装客户端以及服务器端时默认已经安装了,只需要以oracle身份执行oracle_links将rman和netbackup 结合在一块即可。
以下主要针对备份和恢复做详细描述。
二、备份:在备份之前要创建一个适用于oracle的策略,否则无法进行备份的。
至于如何创建策略,可以参考官方文档。
这里已经创建了一个策略orabak,此策略类型是oracle,如图所示:创建完成后在页面存在一个名为“Default-Application-Backup”的默认日程,可以在日程选项里进行新增、删除、更新日程等操作。
本次试验不进行策略设置,默认日程已经能够满足测试的。
注意:jnbSA程序是netbackup的管理窗口,而jbpSA是客户端进行备份、恢复、归档操作的窗口。
要进行oracle的备份,必须以oracle用户运行jbpSA命令,如图所示:登录成功后会看到如下画面:选中要备份的数据库实例,这里只有db01一个实例,然后点击右下角的Backup按钮,会弹出Netbackup for oracle backup向导画面:点击下一步:这里选择认证方式,有OS认证以及oralce认证,如果是OS认证,则NBU会以oracle身份运行相关命令,因为之前登录的用户就是oracle。
如果是oracle认证,则User Name必须是具有sysdba权限的数据库用户,一般就是sys用户:Net service name可选的。
oracle删除恢复语句举例
oracle删除恢复语句举例如何使用Oracle删除和恢复数据。
Oracle是一种功能强大的数据库管理系统,它提供了许多功能来操作数据库中的数据,包括删除和恢复数据。
在本文中,我们将一步一步地介绍如何使用Oracle进行数据删除和恢复,并举例说明。
第一步:连接到数据库首先,您需要连接到要删除或恢复数据的Oracle数据库。
您可以使用sqlplus命令行工具或任何其他数据库管理工具(如SQL Developer)连接到数据库。
例如,使用sqlplus命令行工具,您可以执行以下命令连接到数据库:sqlplus username/password@database其中“username”是您的数据库用户名,“password”是您的数据库密码,“database”是您要连接的数据库的SID或服务名称。
第二步:备份数据(可选)在执行任何删除操作之前,我们建议您先备份数据库以防止意外删除数据。
备份数据库可以确保您有一个可用的数据库副本,以便在需要时恢复数据。
备份数据库的方法很多,您可以使用Oracle提供的备份工具(如RMAN)或者使用其他第三方备份工具。
第三步:删除数据一旦连接到数据库并备份数据(如果需要),您可以开始删除数据。
在Oracle中,删除数据有两种常用方法:使用DELETE语句或使用TRUNCATE TABLE语句。
使用DELETE语句删除数据:DELETE FROM table_name WHERE condition;在上述命令中,您需要将“table_name”替换为要删除数据的表名,并使用“condition”指定要删除的数据行。
条件可以是任何适用的WHERE子句,以选择要删除的数据行。
例如,假设我们有一个名为“employees”的表,其中包含员工的姓名和年龄。
要删除年龄大于30岁的员工,我们可以执行以下命令:DELETE FROM employees WHERE age > 30;使用TRUNCATE TABLE语句删除数据:TRUNCATE TABLE table_name;在上述命令中,您只需要指定要删除数据的表名即可。
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零数据丢失恢复方案ZDLRA介绍
Oracle零数据丢失恢复方案ZDLRA介绍零丢失数据恢复一体机技术概览日程目前业务对数据保护的需求与面临的挑战数据恢复一体机: 基于完全不同的技术基础数据恢复一体机配置概况客户与分析师的好评总结与答疑12 3 4 5数据库保护相关的关键目标业务部门目标–任何情况下都不会丢失关键业务数据–数据保护不会影响业务处理I.T. 部门目标–确保数据库级别的可恢复性–以集中式的服务方式来保护全部数据库目前已有的备份解决方案无法实现这些目标已有的备份一体机没有为数据库做任何针对性优化数据库的数据被作为需要周期性拷贝的普通文件数据对待每天都需要备份窗口备份对生产系统的性能有巨大影响,备份窗口内系统不能全负荷工作数据被暴露在丢失的风险之下可能会丢失最后一次备份之后的所有数据变化许多彼此独立的系统需要管理只能通过添加独立的备份一体机数量的方式扩展数据库可恢复性不佳虽然保存了大量文件的拷贝,但是数据库的保护状态是未知的恢复一体机为业务和IT 提供独有的优点:最小化备份对业务的影响生产系统只需要送出变化数据. 所有备份和磁带相关的处理都可以有效减负消除数据丢失风险实时重做日志传送为时刻进行的交易提供即时的保护云规模保护能力用支持海量扩展的备份服务为全数据中心的大量数据库非常方便地提供保护确保数据库的可恢复性为数据库提供端到端的可靠性,可见性与全面控制–而不只是管理大量离散文件零丢失数据恢复一体机概述增量推送被保护数据库只需要访问和送出变化的数据最小化对生产系统的影响 ?实时重做日志传输为进行中的交易提供即时保护被保护的多个数据库为数据中心的所有数据库提供保护PB 级数据管理能力支持全部平台的10.2 到12c Oracle 数据库不需要昂贵的备份代理客户端增量存储只在磁盘上存储验证和压缩过的数据库变化数据 ?自动组合增量数据提供任意时间点的快速回复?构建于Exadata 架构的扩展性和可靠性 ?基于企业管理器提供端到端的管理和控制恢复一体机复制数据到远端的恢复一体机磁带备份卸载恢复一体机为业务和IT 提供独有的优点:最小化备份对业务的影响生产系统只需要送出变化数据. 所有备份和磁带相关的处理都可以有效减负消除数据丢失风险实时重做日志传送为时刻进行的交易提供即时的保护云规模保护能力用支持海量扩展的备份服务为全数据中心的大量数据库非常方便地提供保护确保数据库的可恢复性为数据库提供端到端的可靠性,可见性与全面控制–而不只是管理大量离散文件为所有数据库提供类似Data Guard 的保护能力基于简单数据拷贝的通用备份一体机 ?每天进行一次备份数据损失风险: 上次备份之后所有的交易数据零丢失数据恢复一体机通过Data Guard 提供的内存缓冲区实时连续日志传输机制来保护实时进行的交易数据被保护的多个数据库数据损失本来就是不好的.往往会变得更加严重..它会在数据库之间产生巨量的数据一致性及其后续问题磁带库单向数据传递双向数据传递枢纽方式远端数据中心本地数据中心针对站点级故障提供数据保护的部署方式恢复一体机之间支持远程数据同步,可以为站点失效或灾难提供公保护支持自动从本地或远程的恢复一体机直接恢复数据针对人为错误或误操作的保护能力独立的磁带归档机制可选的低成本磁带归档机制在以下意外情况下确保数据不被破坏: –黑客,内部人员或病毒软件发起的数据破坏–意外导致的数据删除(磁带作为长期归档机制)–主要数据保护系统功能异常内置独立的磁带归档机制: 只需要外接带库就可以实现–卸载磁带备份对生产系统的压力–不需要在生产系统部署大量昂贵的戒指管理软件的代理程序–磁带驱动器可以在不拖慢生产系统的情况下全天有效运行–内含Oracle Secure Backup 软件, 也可以使用其他第三方磁带管理软件支持绝大部分主流磁带库16Gb FC从数据接收开始完成校验 ?周期性进行数据重新校验 ?恢复数据时先校验再恢复接收数据时和提供恢复时都会校验数据, 同时会对磁盘上的数据周期性进行校验数据向磁带机传出和从磁带机恢复时都会进行校验磁带归档远端复制一体机生产一体机针对数据损坏的保护能力恢复一体机充分理解数据库数据的格式并且会对数据进行端到端校验恢复一体机为业务和IT 提供独有的优点:最小化备份对业务的影响生产系统只需要送出变化数据. 所有备份和磁带相关的处理都可以有效减负消除数据丢失风险实时重做日志传送为时刻进行的交易提供即时的保护云规模保护能力用支持海量扩展的备份服务为全数据中心的大量数据库非常方便地提供保护确保数据库的可恢复性为数据库提供端到端的可靠性,可见性与全面控制–而不只是管理大量离散文件全增量架构不再需要重复运行全量备份: 针对数据库优化的永远增量的备份方式增量推送增量推送在源端完成数据去重 ?快速增量备份- 永远不需要读取重复的数据块 - 从来不发送重复的数据块消除为提交过的交易备份Undo 数据块的需求 ?消除不必要的未使用数据块访问和备份管理备份数据的增量存储 ?只存储变化数据 ?在数据块级实现压缩只向复制节点传输增量变化数据被保护数据库压缩的增量存储显著节省数据库的 I/O 开销以及网络传输开销变化数据不再需要重复的全量备份,只传输变化数据灾备系统有效利用存储空间的“虚拟”全备份当完成初始的全量备份后, 后续的增量备份按天生成的虚拟数据库全备份展现为增量备份时间点的物理全备份,内部以指针的方式组织数据虚拟备份典型情况下可以提供 10 倍的存储有效性以可能的最小存储空间开销来使长期保存备份数据得以实现提供数据库保护的“时间机器” 机制增量存储被保护的数据库们第N 天增量第1天的虚拟全备第N 天的虚拟全备第1天增量第0天全备不再需要重复进行全备份: 永远增量架构快速回复到任意时间点不需要生产服务器消耗时间和资源来合并就得备份集直接恢复任意一个虚拟全备所有被虚拟全备引用到的数据块都保证高效读取消除传统方式恢复全备然后合并多个增量给生产系统带来的处理压力基于底层的 Exadata 硬件架构提供高性能与高扩展性增量存储被保护的数据库们RESTORE DATABASE TO DAY ‘N’第0天全备第1天增量第N 天增量第‘N’ 天的全备最小化备份影响: 有效提升生产系统性能卸载备份数据处理, 消除昂贵的备份代理程序, 降低网络负载如今的数据库服务器备份时性能下降磁盘 / 磁带 / 去重各种备份代理程序备份相关操作:合并, 压缩, 校验, 删除,全量备份,磁带备份卸载备份负载后性能得以显著提升有恢复一体机配合工作的数据库服务器Disk / Tape / DedupeBackup Agents Backup Operations: Merge, Compress, Validate, Delete, Full/Tape Backups增量推送恢复一体机为业务和IT 提供独有的优点:最小化备份对业务的影响生产系统只需要送出变化数据. 所有备份和磁带相关的处理都可以有效减负消除数据丢失风险实时重做日志传送为时刻进行的交易提供即时的保护云规模保护能力用支持海量扩展的备份服务为全数据中心的大量数据库非常方便地提供保护确保数据库的可恢复性为数据库提供端到端的可靠性,可见性与全面控制–而不只是管理大量离散文件3四分五裂的备份数据缺乏有效的责任管理如今现状: 四分五裂的备份流程有效管理备份与数据增长: 企业 IT 的第一大隐忧1数据库集合明确定义的Oracle 数据块格式RMAN 备份集没有意义的比特流2媒体服务器恢复一体机: 端到端保护并提供可见性基于策略的管理机制: 针对特定应用的数据保护1针对应用的数据保护策略明确定义的Oracle 数据块格式RMAN 备份集端到端进行Oracle 数据块校验2数据恢复一体机3与 EM Cloud Control 整合的管理界面。
oracle回退delete语句
一、介绍在数据库管理系统中,delete语句用于删除表中的数据记录。
然而,有时候用户可能会错误地执行delete语句,导致删除了重要的数据。
在这种情况下,需要进行回退操作来恢复被误删除的数据记录。
二、oracle回退delete语句的方法1. 使用flashback技术Oracle数据库提供了flashback技术,可以通过回退操作来恢复被删除的数据记录。
使用flashback技术需要先确定数据库中是否启用了flashback功能,如果启用了,则可以使用flashback查询被删除的数据记录,然后通过flashback操作将数据记录回退至删除前的状态。
2. 使用备份和恢复如果数据库中没有启用flashback功能,可以通过数据库备份和恢复来回退delete语句。
首先需要找到数据库中删除数据之前的备份,然后进行数据恢复操作,将备份中的数据恢复至数据库中,从而实现回退操作。
3. 使用日志文件Oracle数据库中的日志文件记录了数据库中的所有操作,包括delete 语句的执行情况。
通过查询日志文件,可以找到被删除的数据记录,然后使用日志文件中的信息进行数据恢复操作,将数据记录回退至删除前的状态。
三、注意事项在进行回退delete语句的操作时,需要注意以下几点:1. 数据库备份的重要性及时做好数据库的备份工作非常重要,可以在意外删除数据时提供及时的恢复操作。
2. 谨慎执行delete语句在执行delete语句时,务必要谨慎操作,确保不会误删除重要数据记录。
3. 使用flashback技术需谨慎虽然flashback技术可以实现数据回退操作,但也需要谨慎操作,以免对数据库产生不必要的影响。
四、结论在数据库管理中,回退delete语句是一项非常重要的操作,可以帮助恢复误删除的数据记录,保证数据库的完整性和稳定性。
在日常的数据库管理工作中,需要时刻关注数据库的备份情况,谨慎执行delete 语句,并掌握回退delete语句的操作方法,以保障数据库的安全性和稳定性。
Oracle误删除数据的恢复方法
Oracle误删除数据的恢复⽅法Oracle误删数据的恢复,分为两种⽅法:SCN和时间戳两种⽅法恢复。
⼀、通过SCN恢复删除且已提交的数据1、获得当前数据库的SCN号 select current_scn from v$database; (切换到sys⽤户或system⽤户查询) 查询到的SCN号为:14992232、查询当前SCN号之前的SCN select * from 表名 as of scn 1499220; (确定删除的数据是否存在,如果存在,则恢复数据;如果不是,则继续缩⼩scn号)3、恢复删除且已提交的数据 flashback table 表名 to scn 1499220;⼆、通过时间恢复删除且已提交的数据1、查询当前系统时间select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;2、查询删除数据的时间点的数据select * from 表名 as of timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss'); (如果不是,则继续缩⼩范围)3、恢复删除且已提交的数据flashback table 表名 to timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss');注意:如果在执⾏上⾯的语句,出现错误。
可以尝试执⾏ alter table 表名 enable row movement; //允许更改时间戳找出删除的数据:select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')把删除的数据重新插⼊原表: insert into 表名 (select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')); select * from t_xxx as of timestamp (systimestamp - interval '10' minute)。
用Oracle闪回功能恢复偶然丢失的数据
mysql
闪回数据库概述 mysql
闪回数据库能使整个数据库闪回到特定的时间点。 mysql
闪回数据库恢复比传统恢复操作更快的原因是:恢复不再受数据库大小的影响。
oracle
闪回数据库恢复时间正比于恢复过程汇总需要备份的变化的数量,而不是数据文件和归档日志大小。 unix
闪回恢复区可以包括数据文件、控制文件、联机重做日志、各种各样的RMAN文件和闪回日志。用户可以在建立重做日志、控制文件、和归档日志文件时将他们存储在闪回恢复区。 unix
影响联机重做日志的参数:
oracle
DB_CREATE_ONLINE_LOG_DEST_n
DB_RECOVERY_FILE_DEST
DB_CREATE_FILE_DEST
mysql
影响归档日志的一些参数: unix
LOG_ARCHIVE_DEST_n
LOG_ARCHIVE_DEST
LOG_ARCHIVE_DUPLEX_DEST
oracle
oracle
2.启动数据库到mount状态
mysql
3.从RMAN发出闪回数据库恢复命令
linux
Connecttarget
Flashbackdatabasetoscn=……; oracle
4.alter database open resetlogs;
ssh
使用闪回恢复区
unix
闪回恢复区是一个集中的恢复区域。
linux
这些文件和数据文件及控制文件有关系。这就减少了手工清除不需要的归档日志。
mysql
V$recovery_file_dest检查消耗的空间和其他关于闪回恢复区的统计信息。 unix
Avamar备份和恢复oracle数据库操作手册
Avamar备份和恢复Oracle数据库操作手册1.1 Oracle数据库备份首先要进入Sqlplus用archive log list—查看是否开启了归档模式;Oracle做热备份必须是归档模式,同时需要进入mount或open状态。
因此当发现不是归档模式时,需要采用以下步骤先把Oracle修改为归档模式才能正常备份。
1.首先关闭数据库:2.然后重新连接进sqlplus,再把Oracle启动到mount状态,然后修改成归档日志模式,修改完成后打开数据库到open状态(用alter database open 命令):1.2 Oracle数据库恢复注意:在Oracle恢复之前有几项准备工作要做:首先,在执行恢复之前,先关闭Oracle(SQL>shutdown immediate;);然后,删除联机日志和归档日志(或者转移到另外的目录)。
在测试时为了验证Oracle可恢复,在备份完成后删除了一些表,那么恢复前需要删除现有的联机日志和归档日志。
如果不删除日志,由于在恢复时,只会恢复控制文件和数据库,不会恢复日志文件,因此为了避免恢复后控制文件再去读取现有的日志文件(导致再次做删除操作),所以需要删除联机日志和归档日志(防止删除时正好联机日志做了日志切换)。
具体操作:把D盘oracle\product\10.2.0\oradata\test目录下的REDO01.LOG、REDO02.LOG的、REDO03.LOG 三个联机日志删除,然后再把D盘oracle\product\10.2.0下的相关归档日志删除。
再把Oracle启动到nomount状态,可运行如下命令:C:\Document and Setting\Administrator>sqlplus / as sysdba或C:\Document and Setting\Administrator>sqlplus /nologSQL>conn as sysdba;SQL>Startup nomount;完成以上步骤之后,就可以在Avamar上执行恢复:1.登陆Avamar Administrator管理界面,选择“backup and restore”;2.进入“Backup and Restore”界面;1)选择客户机;2)选择Windows Oracle Rman。
oracle闪回原理
oracle闪回原理Oracle数据库的闪回技术是一种用于快速恢复数据库到某个特定的时间点的技术。
它可以在意外的数据修改、误删除或其他用户错误操作后,快速恢复数据库到以前的状态。
Oracle的闪回技术主要基于redo log和数据文件的架构。
当数据库执行修改操作时,相关的信息会被写入redo log中,而实际的数据则会被写入数据文件。
闪回技术利用了这些日志信息来进行恢复。
具体而言,Oracle 闪回技术通过以下几个步骤实现数据恢复:1. 闪回查询(Flashback Query):利用数据库中的undo表空间和闪回日志文件,可以通过语句查询数据库中某个时间点的数据。
用户可以使用SELECT命令,指定某个时间点进行查询,而不需要进行真正的数据恢复操作。
2. 闪回版本查询(Flashback Version Query):除了对整个数据库进行闪回查询外,还可以对指定表或视图的特定行或列进行查询。
通过查询某个时间点的历史版本,可以找回误删除或修改的数据。
3. 闪回表(Flashback Table):如果需要将整个表恢复到某个时间点,可以使用闪回表功能。
这个功能会对整个表进行快速恢复,而不需要使用传统的恢复方法。
4. 闪回数据库(Flashback Database):对于更大范围的数据恢复,可以使用闪回数据库功能。
这个功能会将整个数据库恢复到某个时间点,并且会自动处理所有相关的数据文件和日志文件。
需要注意的是,闪回技术对于一些操作是有限制的,比如数据文件的删除、表空间的重命名等。
同时,使用闪回技术恢复的数据必须还在系统中,不能超过undo表空间的保留时间。
因此,在实际使用闪回技术前,需要做好相关的配置和规划。
PRM DUL Oracle数据库恢复的最后一步
WE8PC850 WE8EBCDIC1148 WE8ISO8859P1 WE8PC863 WE8EBCDIC1047 WE8EBCDIC1147 WE8MSWIN1252 WE8ISO8859P15 WE8PC850 WE8EBCDIC1141 WE8ISO8859P1 WE8EBCDIC1148 WE8MSWIN1252 WE8ISO8859P15 WE8PC850 WE8EBCDIC1144 TH8TISASCII TH8TISEBCDIC AR8MSWIN1256 AR8ISO8859P6 AR8ADOS720 WE8MSWIN1252
Oracle 7 Oracle 8 Oracle 8i Oracle 9i Oracle 10g Oracle 11g Oracle 12c
考虑到部分陈旧服务器使用例如 AIX 4.3 Linux 3 等较早的操作系统,这些操作系统上可能无 法安装最新的 JDK 如 1.6/1.7; PRM 在研发过程中充分考虑了利旧性, 任何可以运行 JDK 1.4 的平台均可以运行 PRM。 此外由于 ORACLE 10g 数据库服务器软件自带了 JDK 1.4,11g 自带了 JDK 1.5,所以任何已安 装 ORACLE 10g 及其以上版本的环境均可以顺利运行 PRM,而且无需额外安装 JDK。 对于没有安装 JDK 1.4 版本的环境,建议从以下地址下载 /technetwork/java/javasebusiness/downloads/java-archive-downloadsjavase14-419411.html
PRM 使用的最低 JAVA 软件环境为 JDK 1.4;诗檀推荐您使用 JDK 1.6, 由于 JDK 1.4 以后对 JAVA 程序的性能做了很大优化, 所以 PRM 在 JDK 1.6 环境下的恢复速度要比 JDK 1.4 下快一些。
Oracle-RAC环境数据备份与恢复方案
Oracle RAC 环境数据备份与恢复方案【导读】某企业因项目需要在Oracle RAC集群环境下,根据实际情况对Oracle数据库进行备份;使用生产环境的rman全备数据,进行恢复数据搭建测试环境。
本文将详细介绍此案例中Oracle数据库rman全备份过程、Oracle RAC 环境下rman备份数据如何恢复至单机服务器。
考虑到非常的实用,将实施经验分享给更多同行进行交流学习。
一、背景环境生产环境使用两台DELL R840 服务器,安装了 linux centos 7.6操作系统,并配置多路径,使用 EMC untiy 作为共享存储,分配了2个1T LUN 存储数据库文件,1个500G LUN存放归档数据,3个30G LUN存放 OCR 、FALSH、GIMR 数据。
Oracle RAC 软件版本是19C 19.0.0.0.0。
二、数据备份1、备份策略为保障oracle rac 集群数据安全,因项目组要求设计数据库备份方案。
考虑到服务器RAC1与RAC2每台服务器自带2T本地可用容量,每次全备产生约400GB数据文件。
可将奇数天备份到RAC1,偶数天备份到RAC2,4*400GB=1.6TB,每台服务器可以备份4天的全量数据。
空间非常的富余,不计划使用rman的增量备份,直接全量备份近8天数据,恢复也较为方便。
2、备份过程在RAC1主机下执行,(RAC2同理)首先Oracle 数据库开启归档,归档模式下,才可以进行数据库的热备份、联机备份、手工备份等。
非归档模式下,只能进行冷备份。
当然我们rman备份是在线备份。
如下图:接着,创建rman脚本目录创建备份执行脚本,并加入定时任务创建备份数据清理脚本,并加入定时任务,只备份近4次数据,脚本会自动判断最近一次rman备份是否成功,不成功将不删除备份数据。
这里我调用了zabora.sh 脚本判断rman备份状态,sql语句也比较简单。
定时任务(RAC1)定时任务 (RAC2)记得重启定时任务创建rman执行脚本,用于被上述执行脚本调用3、测试验证第一次可手动执行备份任务,不等到凌晨自动执行查看日志log备份完成如下图:三、数据恢复因为本项目使用的是全备数据,无增量。
oracle回滚语句
oracle回滚语句标题:Oracle回滚语句1. 使用ROLLBACK语句回滚当前事务:ROLLBACK;该语句用于撤销当前事务的所有修改,将数据库恢复到事务开始之前的状态。
2. 使用SAVEPOINT和ROLLBACK TO语句回滚到指定保存点:SAVEPOINT savepoint_name; ROLLBACK TO savepoint_name; SAVEPOINT语句用于创建一个保存点,可在事务执行过程中标记一个位置,ROLLBACK TO语句用于将事务回滚到指定保存点。
3. 使用SET TRANSACTION和ROLLBACK TO SAVEPOINT语句回滚到保存点:SET TRANSACTION USE ROLLBACK SEGMENT rollback_segment_name; ROLLBACK TO SAVEPOINT savepoint_name;SET TRANSACTION语句用于指定回滚段,ROLLBACK TO SAVEPOINT语句用于将事务回滚到指定保存点。
4. 使用FLASHBACK TABLE语句回滚表数据:FLASHBACK TABLE table_name TO BEFORE DROP;该语句用于将特定表回滚到删除之前的状态,恢复被删除的表。
5. 使用FLASHBACK DROP语句回滚表的删除操作:FLASHBACKDROP TABLE table_name;该语句用于将最近被删除的表恢复到删除之前的状态。
6. 使用FLASHBACK DATABASE语句回滚整个数据库到特定时间点:FLASHBACK DATABASE TO TIMESTAMP timestamp;该语句用于将整个数据库回滚到指定的时间点,恢复数据库中的所有数据和操作。
7. 使用FLASHBACK TRANSACTION语句回滚特定事务:FLASHBACK TRANSACTION transaction_id;该语句用于将指定的事务回滚,恢复事务执行之前的状态。
ORACLE数据库如何恢复
ORACLE数据库如何恢复(邝俊标)ORACLE数据库备份与恢复与ORACLE的结构密切相关,大家先弄清ORACLE 物理结构有哪些?逻辑结构是有哪些?它们的作用是什么?弄明白这些以后,具体怎么备份、怎么恢复就需要了解下ORACLE本身是怎么管理数据库的有那些相关的ORACLE系统表?ORACLE的后台进程是怎么管理的?最后就要知道相关的ORACLE命令、语法,根据系统提示错误灵活处理了。
ORACLE 恢复主要有下面的几种问题:一、数据文件丢失恢复:二、OS备份下的基于时间的恢复三、损坏联机日志的恢复四、损坏当前联机日志恢复五损坏控制文件的恢复六、损坏回滚数据文件的恢复七、损坏临时数据文件的恢复一、数据文件丢失恢复:1、查看报警文件或动态视图v$recover_fileSQL>select * from v$recover_file;2、脱机数据文件SQL> alter database datafile 'file#' offline drop;3、打开数据库,拷贝备份回来(restore),恢复(recover)该数据文件,并联机SQL> alter database open;4、拷贝备份从备份处copy d:\databak\ users01.dbf d:\oracle\oradata\orcl;5、恢复该数据文件SQL> recover datafile 'file#';SQL> recover database; (多个数据文件丢失,恢复整个数据库)6、恢复成功,联机该数据文件SQL> alter database datafile 'file#' online;说明:1) 采用热备份,需要运行在归档模式下,可以实现数据库的完全恢复,也就是说,从备份后到数据库崩溃时的数据都不会丢失。
2) 可以采用全备份数据库的方式备份,对于特殊情况,也可以只备份特定的数据文件,如只备份用户表空间(一般情况下对于某些写特别频繁的数据文件,可以单独加大备份频率)3) 如果在恢复过程中,发现损坏的是多个数据文件,即可以采用一个一个数据文件的恢复方法(第5步中需要对数据文件一一脱机,第6步中需要对数据文件分别恢复),也可以采用整个数据库的恢复方法。
9i、10g使用闪回恢复数据方式及命令
用Oracle闪回功能恢复偶然丢失的数据(1)引言人为的错误是数据库系统失败的重要原因之一,根据调查约40%的系统问题是操作失误或者用户错误引起的,这些人为的错误又特别难以避免。
传统上当发生数据丢失、数据错误问题时,解决的主要方法就是数据的导入/导出、备份/恢复技术。
这些方法都需要发生数据错误之前有一个正确的备份,才能进行恢复。
恢复时不取决于错误程度,而只取决于备份/恢复策略。
这种方法既耗时又使数据库系统不能提供服务,对于一些用户偶然地删除数据这类小错误来说显得有些"大材小用"。
那么如何来恢复这种偶然的错误操作造成的数据丢失呢?从Oracle 9i开始提供了基于回滚段的闪回查询(Flashback Query)功能,可用于恢复错误的DML操作。
在Oracle 10g中对闪回查询做了较大改进,不再局限于闪回查询,还可用于恢复错误的DDL(Drop)操作、闪回表、闪回数据库等。
Oracle 9i的闪回查询概述1、Oracle 9i的闪回查询功能在Oracle 9i之前,如果用户错误操作数据后,除了不完全恢复外,没有好的解决办法。
Oracle 9i中提供闪回查询,由一个新的包DBMS_FLASH来实现。
用户使用闪回查询可以及时取得误操作DML(Delete、Update、Insert)前某一时间点数据库的映像视图,用户可以利用系统时间或系统改变号(SCN:System Change Number)来指定这个只读视图,并可以针对错误进行相应的恢复措施。
闪回查询功能完全依赖于自动回滚段管理(AUM),对于Drop等误操作不能恢复。
闪回特性可应用在以下方面:(1)自我维护过程中的修复:当一些重要的记录被意外删除,用户可以向后移动到一个时间点,查看丢失的行并把它们重新插入现在的表内恢复。
(2)恢复Email和声音Email:当用户意外删除了Email或者声音信息时,可以通过移回到固定时间点来恢复删除。
oracle回收站恢复表的原理
一、介绍Oracle回收站Oracle数据库在删除表或数据时,并不是立即将数据从数据库中删除,而是将其放入一个特殊的地方,这个地方就是Oracle回收站(Recycle Bin)。
回收站可以在一定程度上防止误删数据,同时也为恢复操作提供了便利。
二、恢复表的原理当我们在Oracle数据库中删除表时,实际上是将表移动到了回收站中,而不是直接删除。
这样,我们就可以通过简单的步骤将表恢复到原来的状态。
三、使用FLASHBACK TABLE语句恢复表1. 使用FLASHBACK TABLE语句可以很方便的将回收站中的表恢复到原来的状态。
这条语句的具体用法如下:```FLASHBACK TABLE 表名 TO BEFORE DROP;```2. 使用该语句之前,我们需要确认一下回收站中是否存在需要恢复的表,可以通过以下语句查询回收站中的表信息:```SELECT * FROM recyclebin;```4. 通过FLASHBACK TABLE语句,我们可以将回收站中的表还原到删除之前的状态,这样就可以避免了数据的永久丢失。
四、使用FLASHBACK DROP语句恢复表1. 另一种恢复表的方法是使用FLASHBACK DROP语句,该语句可以用来还原回收站中的对象,其具体用法如下:```FLASHBACK DROP TABLE 表名 TO BEFORE DROP;```2. 通过以上语句,我们可以将回收站中的表直接还原到删除之前的状态,同样可以避免数据的永久丢失。
五、恢复表的注意事项1. 在进行表恢复之前,我们需要充分确认需要恢复的表是否存在于回收站中,可以通过查询回收站的表信息来进行确认。
2. 在进行表恢复之前,我们需要对数据库进行备份,以避免意外情况导致数据的进一步损失。
3. 在进行表恢复操作时,需要谨慎操作,避免对其他数据产生影响。
4. 在恢复表后,需要对数据库进行一些必要的检查,以确保数据的完整性和一致性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL>select count(*) from t1;
COUNT(*)
----录
并且提交更改。
本文来自CSDN博客,转载请标明出处:/gisfarmer/archive/2011/01/05/6118248.aspx
同事找回时操作的数据库为oracle 10g , 之前删除方式为delete 不晓得trancate好使不
SCN(系统改变号),它的英文全拼为:System Change Number ,它是数据库中非常重要的一个数据结构。
若有数据,恢复极为简单了,语句为flashback table tb to timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss');
如flashback table scott.test to timestamp to_timestamp('2009-12-11 20:47:30','yyyy-mm-dd hh24:mi:ss');
一:表的恢复
对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有:
1、从flash back里查询被删除的表
select * from recyclebin
2.执行表的恢复
flashback table tb to before drop,这里的tb代表你要恢复的表的名称。
COUNT(*)
----------
0
SQL>select count(*) from t1 as of scn 10670000;
COUNT(*)
----------
931ห้องสมุดไป่ตู้
我们看到在SCN=10670000时,数据都在。
4.恢复数据.
SQL>insert into t1 select * from t1 as of scn 10670000;
这是reporttest表中就是scn点的report
对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复,一般步骤有:
1、先从flashback_transaction_query视图里查询,视图提供了供查询用的表名称、事务提交时间、UNDO_SQL等字段。
如:select * from flashback_transaction_query where table_name='TEST';
2、执行表记录恢复
一般先根据时间进行查询,查询语句模式为select * from tb as of timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'); tb指表名称,time指某个时间点
如select * from scott.test as of timestamp to_timestamp('2009-12-11 20:53:57','yyyy-mm-dd hh24:mi:ss');
这两个名词经常被交替使用。
究竟是哪个词其实对我们来说并不是最重要的,重要的是我们知道 SCN 是 Oracle 内部的时钟机制, Oracle 通过 SCN 来维护数据库的一致性,并通过SCN 实施 Oracle 至关重要的恢复机制。
具体执行流程我们可从以下几个示例图中体会;
1.原表记录 $ sqlplus eygle/eygle
结果:13526973
将删除时间转换为scn
select * from reportinfo
AS OF SCN 13526973
将reportinfo表中的scn点的数据取出
然后可以根据这个数据进行还原操作
create table reporttest as select * from reportinfo where 1=0;
SCN提供了Oracle的内部时钟机制,可被看作逻辑时钟,这对于恢复操作是至关重要的
注释:Oracle 仅根据 SCN 执行恢复。
它定义了数据库在某个确切时刻提交的版本。在事物提交时,它被赋予一个唯一的标示事物的SCN 。一些人认为 SCN 是指, System Commit Number ,而通常 SCN 在提交时才变化,所以很多情况下,
SQL>select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
10671006
SQL>select count(*) from t1 as of scn 10671000;
SQL>delete from t1;
9318 rows deleted.
SQL>commit;
Commit complete.
SQL>select count(*) from t1;
COUNT(*)
----------
0
3.获得当前SCN
如果能够确切知道删除之前SCN最好,如果不知道,可以进行闪回查询尝试.
insert into reporttest select * from reportinfo AS OF SCN 13526973;
--上面两句应该可以合成一句
--create table reporttest as select * from reportinfo AS OF SCN 13526973;
9318 rows created.
SQL>commit;
Commit complete.
SQL>select count(*) from t1;
COUNT(*)
----------
9318
文章2
误删数据后的还原
select timestamp_to_scn(to_timestamp('2009-03-13 09:00:00','YYYY-MM-DD HH:MI:SS')) from dual;