oracle数据每天备份并清理老备份文件
- 格式:pdf
- 大小:88.05 KB
- 文档页数:3
oracle清理30天归档日志-回复Oracle数据库是一种非常强大且广泛使用的关系型数据库管理系统。
随着时间的推移,数据库中的日志文件会逐渐增加,占用大量的存储空间。
为了确保系统正常运行并节约存储资源,定期清理归档日志文件变得至关重要。
本文将逐步介绍如何清理Oracle数据库中30天前的归档日志文件。
步骤一:确认数据库归档模式和归档日志保存期限在执行清理归档日志的操作之前,我们需要确认数据库当前的归档模式以及归档日志的保存期限。
归档模式主要有两种:归档模式(ARCHIVELOG)和非归档模式(NOARCHIVELOG)。
归档模式下,Oracle 会将已经使用的日志文件以及在线日志文件归档并保存为归档日志文件。
非归档模式下,Oracle只保留正在使用的日志文件,不会进行归档保存。
要确认数据库的归档模式,可以执行以下SQL语句:SELECT log_mode FROM vdatabase;该查询结果将显示数据库当前的归档模式。
另外,我们还需要确认数据库的归档日志保存期限。
Oracle会根据数据库的配置自动删除30天以前的归档日志文件。
如果需要更改归档日志保存期限,可以执行以下SQL语句:ALTER SYSTEM SET LOG_ARCHIVE_RETENTION_TARGET=30;该语句将设置归档日志保存期限为30天。
请注意,更改归档日志保存期限可能会有一定的风险,请谨慎操作。
步骤二:确认数据库归档日志文件的位置在执行清理归档日志的操作之前,我们还需要确认数据库归档日志文件的位置。
可以执行以下SQL语句来获取归档日志文件的存储位置:SELECT name FROM VARCHIVE_DEST WHERE status='VALID';该查询结果将显示归档日志文件存储的位置。
步骤三:清理30天前的归档日志一旦确认了数据库的归档模式、归档日志保存期限以及归档日志文件的位置,我们就可以开始清理30天前的归档日志文件了。
ORACLE数据库自动备份_详细步骤1.确定备份策略:首先,需要确定数据库备份的频率和保留备份的时间长度。
备份频率可以是每天、每周或每月,而保留备份的时间长度可以是几天、几周或几个月。
2.创建备份脚本:接下来,需要编写一个脚本来执行数据库备份操作。
在脚本中,需要包含备份的类型(如完全备份、增量备份或差异备份)、备份存储位置、备份的文件名等信息。
3. 创建备份存储目录:在执行备份操作之前,需要创建一个用于存储备份文件的目录。
可以使用ORACLE的命令行工具或图形界面管理工具(如Enterprise Manager)来创建目录。
4. 安排计划任务:为了自动执行备份脚本,需要在操作系统上设置一个计划任务。
可以使用操作系统提供的任务调度工具(如cron或Windows Task Scheduler)来设置计划任务。
5. 测试备份脚本:在设置计划任务之前,建议先手动运行备份脚本来测试备份过程是否正常工作。
可以使用SQL*Plus工具来运行脚本并检查备份文件是否生成。
6.设置计划任务:在操作系统上设置一个计划任务来定期执行备份脚本。
可以指定备份的时间、日期和频率。
7. 监控备份过程:在执行备份操作期间,建议监控备份过程以确保一切正常。
可以查看备份日志或使用ORACLE的监控工具(如Grid Control)来监控备份活动。
8.保护备份文件:备份文件包含关键的数据库信息,因此需要采取措施保护备份文件免受损坏或恶意访问。
可以使用文件系统的权限设置或加密工具来保护备份文件。
9.恢复测试:定期测试备份恢复过程以确保备份文件可以成功恢复数据库。
可以使用数据库的恢复工具(如RMAN)来执行备份恢复操作,并验证恢复的数据库是否与原始数据库一致。
10.文件清理:根据备份策略,定期清理过期的备份文件,以释放存储空间并避免备份文件过多的问题。
总结:ORACLE数据库自动备份是保护数据库的重要步骤之一、通过创建备份脚本、设置计划任务和监控备份过程,可以确保数据库的数据不会丢失。
标题:Oracle数据库清理30天归档日志的最佳实践一、概述Oracle数据库在运行过程中会生成大量的归档日志,这些归档日志对于数据库的正常运行至关重要。
但是随着时间的推移,归档日志会逐渐堆积,影响数据库的性能和稳定性。
定期清理归档日志成为了数据库管理员必须要做的工作之一。
本文将就Oracle数据库清理30天归档日志的最佳实践进行详细介绍。
二、归档日志的作用1. 归档日志是数据库备份和恢复的重要组成部分,能够保证数据库发生故障时能够及时恢复到指定的时间点。
2. 归档日志还可以用于数据库的数据复制和迁移,保证数据的一致性和完整性。
3. 归档日志也是检测数据库性能问题和故障的重要依据,有助于数据库的运行监控和故障排查。
三、清理30天归档日志的必要性1. 避免归档日志文件过多导致空间不足的问题。
2. 提高数据库的性能和稳定性,减少I/O压力。
3. 降低数据库维护成本和工作量,在归档日志过多的情况下备份、恢复和数据导入导出都会受到影响。
四、清理30天归档日志的步骤1. 确认数据库当前的归档日志文件所在的位置和数量,可以使用以下SQL查询:SELECT * FROM V$LOG;SELECT * FROM V$LOGFILE;2. 确认需要保留的归档日志时间范围,一般推荐保留30天的归档日志。
3. 使用RMAN命令来清理归档日志,可以通过以下命令来实现:RMAN> DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-30';4. 确认归档日志文件是否成功清理,可以通过以下SQL查询来验证: SELECT * FROM V$LOG;SELECT * FROM V$LOGFILE;五、清理策略的注意事项1. 确保在清理归档日志之前已经完成了相关的备份工作,以避免数据丢失的风险。
2. 定期监控数据库的归档日志文件数量和大小,及时调整清理策略以保证数据库的正常运行。
3. 在清理归档日志的过程中,要避免影响数据库的正常运行,可以选择在低峰期进行清理操作。
简单易懂的linux下oracle数据库备份方法在Linux环境下,对Oracle数据库进行备份是一项至关重要的工作,以确保数据的安全性和完整性。
下面将为您介绍一种简单易懂的Oracle数据库备份方法。
一、准备工作1.确保已安装Oracle数据库,并正确配置环境变量。
2.确保有足够的权限(如:dba权限)进行数据库备份操作。
3.了解数据库的名称、表空间等信息,以便进行正确的备份。
二、备份方法1.使用RMAN工具进行备份RMAN(Recovery Manager)是Oracle提供的一个强大的备份和恢复工具。
以下是一个简单的RMAN备份示例:a.连接到目标数据库:```rman target /```b.使用RMAN进行备份:```backup database;```这将备份整个数据库,包括控制文件和归档日志。
c.退出RMAN:```exit;```2.使用Oracle SQL命令进行备份a.使用SQL*Plus连接到目标数据库:```sqlplus / as sysdba```b.使用SQL命令备份整个数据库:```alter database backup controlfile to trace;```这将生成控制文件的备份脚本。
c.使用SQL命令备份表空间:```backup tablespace <表空间名称> to disk;```这将备份指定的表空间。
d.退出SQL*Plus:```exit;```三、备份文件的存储1.将备份文件存储在安全的磁带上或磁盘上。
2.建议将备份文件存储在不同的物理位置,以防止数据丢失。
四、定期检查备份1.定期检查备份文件是否完整、可用。
2.定期进行恢复测试,以确保备份的有效性。
通过以上步骤,您已经了解了一种简单易懂的Linux下Oracle数据库备份方法。
备份oracle数据库表的方法备份Oracle数据库表是保证数据库数据安全的重要措施之一。
本文将介绍几种备份Oracle数据库表的方法,帮助用户选择适合自己的备份方式。
一、使用数据泵导出表数据数据泵是Oracle提供的一个强大的工具,可以将表数据导出为一个可移植的二进制文件。
使用数据泵导出表数据的步骤如下:1. 连接到数据库:使用SQL*Plus或SQL Developer等工具连接到Oracle数据库。
2. 导出表数据:运行以下命令导出表数据:```expdp username/password@connect_string tables=table_name directory=directory_name dumpfile=dumpfile_name.dmp```其中,username是数据库用户名,password是密码,connect_string是数据库连接字符串,table_name是要导出的表名,directory_name是存储导出文件的目录,dumpfile_name是导出文件的名称。
3. 导出结果:数据泵将会导出表数据,并保存在指定的目录中的导出文件中。
二、使用INSERT语句备份表数据除了使用数据泵,还可以使用INSERT语句将表数据备份到另一个表中。
这种方法适用于小型数据库,备份过程如下:1. 创建备份表:在同一个数据库中创建一个与原表结构相同的备份表。
```CREATE TABLE backup_table AS SELECT * FROM original_table WHERE 1=0;```2. 备份数据:运行以下命令将表数据备份到备份表中。
```INSERT INTO backup_table SELECT * FROM original_table;```注意,这个命令会将原表的所有数据复制到备份表中。
三、使用Oracle备份工具除了以上两种方法,还可以使用Oracle备份工具进行表数据备份。
Oracle数据库备份制度是确保数据库安全、可靠和可恢复的重要措施。
以下是一个可能的Oracle数据库备份制度示例:
一、备份策略
1. 增量备份:用于备份数据库中修改的数据和对象,以减少备份时间和空间。
2. 归档备份:用于备份Oracle数据库中的归档重做日志,以避免数据丢失和错误。
3. 数据库复制备份:用于提高数据库的可用性和灾备容错能力,可将Oracle数据库的数据和对象复制到一个或多个备份数据库中。
二、备份频率
1. 每天进行一次增量备份。
2. 每周一次归档备份。
3. 每月一次数据库复制备份。
三、备份存储和管理
1. 备份数据应存储在安全、可靠的位置,并定期进行验证,以确保备份数据的完整性和可用性。
2. 备份数据应定期进行加密和压缩,以减少存储空间和提高安全性。
3. 备份数据应定期进行备份和恢复测试,以确保备份数据的可恢复性。
四、恢复策略
1. 在发生故障或灾难时,应首先尝试使用最近的增量备份进行恢复。
2. 如果增量备份无法恢复,则使用归档备份进行恢复。
3. 如果归档备份也无法恢复,则使用数据库复制备份进行恢复。
五、监控和报告
1. 定期监控备份数据的完整性和可用性,以确保备份数据的可靠性。
2. 定期报告备份数据的状态和恢复情况,以确保所有相关人员了解备份制度的执行情况。
六、其他注意事项
1. 在进行任何备份操作之前,应确保数据库处于一致性和可恢复的状态。
2. 在进行任何恢复操作之前,应确保已正确识别和验证故障或灾难的类型和范围。
3. 在进行任何操作之前,应确保已正确配置和管理备份设备和存储空间。
Oracle 数据清理和归档方案概述在日常的数据管理中,数据清理和归档是非常重要的环节。
在Oracle数据库中,合理的数据清理和归档方案可以提高数据库的性能和可靠性,同时也能减少数据库的存储空间和备份/恢复的时间和成本。
本文将就Oracle数据库中的数据清理和归档方案进行详细的探讨。
数据清理方案数据清理是指清理不再需要的数据,以释放数据库的存储空间和提高查询性能。
下面是一些常用的数据清理方案:1. 删除过期数据在数据库中,某些数据可能有一定的保存期限,超过期限后就可以被删除。
可以通过编写定时任务或者使用Oracle的调度程序来定期删除过期数据。
例如,可以根据时间戳或者某个字段的值来判断数据是否过期,然后使用DELETE语句将其删除。
2. 聚合数据对于一些历史数据,可以根据需要将其进行聚合,以减少数据库的存储空间。
例如,可以将按天存储的数据聚合到按周、按月或者按年存储的数据中。
在聚合数据之后,可以删除原始的细粒度数据,以释放存储空间。
3. 数据归档对于一些历史数据,虽然可能不再被频繁访问,但是仍然需要保留。
这时可以考虑将这些数据归档到其他存储介质中,例如磁带库或者归档文件系统。
通过归档可以释放数据库的存储空间,同时仍然可以满足数据保留的需求。
数据归档方案数据归档是指将历史数据从Oracle数据库中移动到其他存储介质中,以解决存储空间不足的问题。
下面是一些常用的数据归档方案:1. 使用Oracle归档功能Oracle数据库提供了强大的归档功能,可以自动将历史数据归档到归档日志文件中。
通过配置适当的参数,可以调整归档的频率和方式。
归档日志文件可以保存在磁盘、磁带库或者归档文件系统中。
2. 使用第三方软件除了Oracle自带的归档功能,还可以使用一些第三方软件来进行数据归档。
这些软件通常具有更多的定制化和可扩展性,可以根据需要进行灵活的配置和管理。
例如,可以使用EMC Data Domain、IBM Tivoli Storage Manager等软件来进行数据归档。
oracle 数据清理和归档方案一、背景介绍Oracle数据库是目前世界上使用最广泛的关系型数据库管理系统之一,它可以存储和处理大量的数据。
但是,在长时间的使用过程中,Oracle数据库中可能会产生很多无用的数据或历史数据,这些数据会占用大量的存储空间,影响数据库性能。
因此,对于Oracle数据库来说,数据清理和归档是非常重要的。
二、数据清理方案1.识别无用数据在进行数据清理之前,首先需要识别哪些数据是无用的。
可以通过以下方式进行识别:(1)查看表空间使用情况:通过查询表空间使用情况来判断哪些表或索引占用了较多的空间。
(2)查看表或索引大小:通过查询表或索引大小来判断哪些表或索引占用了较多的空间。
(3)查看未使用对象:通过查询未使用对象来判断哪些表或索引已经长时间没有被访问过。
2.删除无用数据在识别出无用数据之后,需要将其删除。
可以通过以下方式进行删除:(1)删除未使用对象:可以通过DROP语句将未使用对象直接删除。
(2)删除不必要的日志:可以通过设置日志级别、限制日志大小等方式来减少日志记录量。
(3)清除历史数据:可以通过删除历史数据来减少数据库占用空间。
三、数据归档方案1.归档策略在进行数据归档之前,需要制定一个合理的归档策略。
归档策略应该考虑以下因素:(1)数据库大小:根据数据库大小来制定合理的归档策略。
(2)业务需求:根据业务需求来制定合理的归档策略。
(3)存储设备:根据存储设备容量来制定合理的归档策略。
2.归档实施在制定好归档策略之后,需要进行具体的实施。
可以通过以下方式进行实施:(1)使用Oracle Data Guard:Oracle Data Guard是一种数据保护技术,可以将主数据库的数据复制到备库中,从而实现数据备份和恢复。
(2)使用Oracle RMAN:Oracle RMAN是一种备份和恢复管理工具,可以对Oracle数据库进行备份和恢复操作,并支持增量备份、压缩备份等功能。
orcal数据备份语句Oracle数据库备份语句是数据库管理员经常使用的重要工具,它可以保护数据库的数据安全,防止数据丢失或损坏。
以下是一些常用的Oracle数据库备份语句:1. 全备份语句:RMAN> BACKUP DATABASE;这个语句将对整个数据库进行备份,包括数据文件、控制文件和日志文件。
2. 表空间备份语句:RMAN> BACKUP TABLESPACE example;这个语句将备份指定的表空间,可以用于恢复该表空间的数据。
3. 数据文件备份语句:RMAN> BACKUP DATAFILE 1 FORMAT '/backup/datafile1.bak';这个语句将备份指定的数据文件,可以用于恢复该数据文件的数据。
4. 控制文件备份语句:RMAN> BACKUP CURRENT CONTROLFILE FORMAT '/backup/controlfile.bak';这个语句将备份当前的控制文件,以便在需要时进行恢复。
5. 归档日志备份语句:RMAN> BACKUP ARCHIVELOG ALL FORMAT '/backup/archivelog.bak';这个语句将备份所有归档日志文件,用于保留数据库变更的历史记录。
6. 增量备份语句:RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;这个语句将备份已更改的数据块,可以用于快速备份大型数据库。
7. 压缩备份语句:RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;这个语句将备份数据库并使用压缩备份集来减小备份文件的大小。
8. 备份到远程服务器语句:RMAN> BACKUP DATABASE FORMAT '/backup/%d_%T_%U' TAG 'PROD_BACKUP'2> REMOTE 'ssh user@remotehost "/backup"' SECTION SIZE 10M;这个语句将备份数据库并将备份文件传输到远程服务器上的指定路径。
备份oracle数据库并保留指定天数(day)的备份文件(rar)制作人:whitecloud6688日期:2011-12-06一、需求分析客户要求导出oracle数据库文件,并将导出的dmp文件压缩成rar 文件,因为备份电脑空间有限,需要只保留指定天数的备份rar文件,这样来避免空间不足。
比如保留最近10天的rar文件,其余删除。
根据客户需要在网上查了半天都没有相关的批处理,最多的是用forfiles命令处理,但这个命令在windows xp上没有。
最后只好动动老胳膊老腿,花了一天时间写好代码。
供大家参考使用,如果觉得好的话,亲记得给好评哦。
^_^二、批处理代码废话不说了,代码如下,最好将代码的字体设置成Arial、小四。
@echo offecho ********************************************************************************************************* echo ** 功能:备份oracle并保留指定天数的备份文件**echo ********************************************************************************************************* echo **echo **echo **echo ********************************************************************************************************* echo ** 步骤1:备份当天的oracle数据库**echo ********************************************************************************************************* echo **echo **echo **rem 设置日期set filename=%date:~0,4%%date:~5,2%%date:~8,2%rem 导出user用户数据库exp user/userpasswd@sid file=ora.dmp owner=(user) log=ora.log buffer=102400000rem 判断备份是否成功if exist ora.dmp (echo ##########################################################echo ## 数据库备份成功##echo ########################################################## echo ##) else (echo ############################################################## echo ## %filename%日备份或压缩失败,请重新备份或压缩文件!## echo ############################################################## echo ##pauseexit)rem 将数据库文件ora.dmp、ora.log压缩为当天日期命名的rar文件"C:\Program Files\WinRAR\WinRAR.exe" a %filename%.rar ora.dmp ora.logrem 判断压缩是否成功,成功则删除数据库文件ora.dmp、ora.logif exist %filename%.rar (echo ################################################################## echo ## 数据库压缩成功,删除ora.dmp、ora.log文件##echo ################################################################## echo ##del ora.dmpdel ora.log) else (echo ################################################################## echo ## %filename%日压缩失败,请重新压缩文件!##echo ################################################################## echo ##pauseexit)echo **echo **echo **echo ********************************************************************************************************* echo ** 步骤2:保留指定天数(day)的备份文件(rar) **echo ********************************************************************************************************* echo **echo **echo **setlocal enabledelayedexpansionrem 查询数据库备份文件并导出到dir.txt文件dir /B *.rar >dir.txtrem 计数变量set count=0rem 天数变量,修改该值确定保留多少天的数据库备份文件,本例保留最后三天的备份文件set day=3rem 统计备份文件数量for /f %%i in ( dir.txt ) do (set /a count+=1)set /a day=count-dayset count=0rem 保留day天的备份文件,其余删除for /f %%i in ( dir.txt ) do (set /a count+=1if !count! leq %day% (del %%iecho ## 成功删除%%i数据库备份文件!## ) else (setlocaldel dir.txtexit))。
ORACLE数据库备份方法
一、备份Oracle数据库的5种方法
1.热备份
热备份是将正在运行的Oracle数据库的实例进行备份,备份操作不影响数据库的正常使用。
在热备份前需要将数据库实例记录到归档日志文件中(archivelog),这样可以保证当前实例在备份之后也可以恢复到当前时间的状态。
备份操作可以使用RMAN,它是一种远程备份工具,可以备份Oracle数据库,文件系统,或者其它系统。
RMAN的备份方式可以是全库备份,增量备份,多级备份,双机备份等。
热备份效率较高,对数据库运行影响较小,但需要维护归档日志文件,如果归档文件过多,可能会占用大量的磁盘空间,并且需要定期删除过期的文件。
2.冷备份
冷备份是指将数据库实例关闭,然后进行备份,确保数据库实例在备份时的一致性状态。
数据库文件可以备份到磁带等设备上,也可以备份到网络存储空间,如NAS(Network Attached Storage),SAN(Storage Area Network)等。
备份文件也可以复制出来在其它目录进行备份,但是备份速度较慢,而且有可能出现磁盘空间不足的情况,因此需要计划好备份的磁盘空间。
3.实时备份
实时备份也称为增量备份,是一种在数据库正常运行时定时备份数据库的技术,以保证备份之后的数据库是一致性的。
oracle数据库备份与恢复方案目录一、编写目旳 ......................................................................................................... 错误!未定义书签。
二、备份工具及备份方式...................................................................................... 错误!未定义书签。
三、软件备份 ......................................................................................................... 错误!未定义书签。
四、软件恢复 ......................................................................................................... 错误!未定义书签。
五、数据备份 ......................................................................................................... 错误!未定义书签。
六、备份旳存储 ..................................................................................................... 错误!未定义书签。
七、备份数据旳保留规定...................................................................................... 错误!未定义书签。
ORCL数据库自动备份设置方法1.创建服务器备份目录,生成执行脚本.bat文件创建E:\BACK_MUPAY文件夹;新建BACK_MUPAY.TXT文件,根据服务器情况拷贝修改下面执行代码保存,修改文件类型为.bat,得到BACK_MUPAY.bat文件。
2.执行代码:exp mupay/mupay@orclfile='E:\BACK_MUPAY\BACK_MUPAY%date:~0,4%%date:~5,2%%date:~8,2%.dmp ' owner=mupay BUFFER=100000LOG=E:\BACK_MUPAY\BACK_MUPAY%date:~0,4%%date:~5,2%%date:~8,2%.log forfiles /p "E:\BACK_MUPAY" /s /m *.dmp /d -15 /c "cmd /c del @path"3.执行代码说明:exp命令是oracle提供的备份命令,使用帐号密码为MUPAY/MUPAY的用户在ORCL 数据库实例中表名owner=mupay的数据库,备份文件存放在E:\BACK_MUPAY;备份文件名是BACK_MUPAY+时间+.dmp;其中的%date:~0,4%%date:~5,2%%date:~8,2%是取得当天的日期,年月日;例如:C:\Users\qyy>echo %date:~0,4%%date:~5,2%%date:~8,2%得到20170419;forfiles是windows的文件查找命令,查找在E:\BACK_MUPAY中所有.dmp后缀产生超过15天的文件,找到后执行删除操作4.双击执行BACK_MUPAY.bat测试。
执行成功后,会开始备份数据库,在E:\BACK_MUPAY目录中即会生产备份数据库文件和备份日志文件。
同时会检查小于当前日期15天的数据备份文件执行删除操作。
oracle 备份步骤
以下是 Oracle 数据库备份的一般步骤:
1. 确保备份介质就绪:选择合适的备份介质,如硬盘、磁带等,并确保介质的可用性。
2. 创建备份模式:根据备份需求,选择备份模式,如全量备份、增量备份等。
3. 确定备份策略:根据需求和数据重要性,制定备份的频率和保留周期。
4. 配置备份参数:使用 Oracle 数据库管理工具如 RMAN (Recovery Manager)等,配置备份参数,指定备份目标、备
份方式、备份文件名等。
5. 执行备份任务:通过 RMAN 或其他备份工具,执行备份任务。
对于全量备份,一般会备份整个数据库;而对于增量备份,则只备份自上次备份以来发生变化的数据。
6. 验证备份完整性:备份完成后,进行备份完整性验证,确保备份文件没有损坏或错误。
7. 校验备份文件:通过数据库工具运行校验命令,验证备份文件的完整性和一致性。
8. 存储备份文件:将备份文件存储在安全的位置,可以是本地
磁盘、远程服务器或云存储等。
同时,确保备份文件有适当的冗余和故障恢复计划。
9. 记录备份信息:记录备份相关信息,包括备份时间、备份文件名称和路径等。
10. 定期恢复测试:定期进行备份恢复测试,验证备份文件的可用性和恢复时间。
请注意,上述步骤仅供参考,具体的备份过程可能会因具体环境和需求而有所不同。
建议在备份前仔细查阅 Oracle 官方文档,并根据实际情况做出相应调整。
Oracle数据库三种备份⽅案Oracle数据库有三种标准的备份⽅法,它们分别是导出/导⼊(EXP/IMP)、热备份和冷备份。
导出备件是⼀种逻辑备份,冷备份和热备份是物理备份。
⼀、导出/导⼊(Export/Import)利⽤Export可将数据从数据库中提取出来,利⽤Import则可将提取出来的数据送回到Oracle数据库中去。
1、简单导出数据(Export)和导⼊数据(Import)Oracle⽀持三种⽅式类型的输出:(1)、表⽅式(T⽅式),将指定表的数据导出。
(2)、⽤户⽅式(U⽅式),将指定⽤户的所有对象及数据导出。
(3)、全库⽅式(Full⽅式),瘵数据库中的所有对象导出。
数据导⼊(Import)的过程是数据导出(Export)的逆过程,分别将数据⽂件导⼊数据库和将数据库数据导出到数据⽂件。
2、增量导出/导⼊增量导出是⼀种常⽤的数据备份⽅法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。
在进⾏此种导出时,系统不要求回答任何问题。
导出⽂件名缺省为export.dmp,如果不希望⾃⼰的输出⽂件定名为export.dmp,必须在命令⾏中指出要⽤的⽂件名。
增量导出包括三种类型:(1)、“完全”增量导出(Complete)即备份三个数据库,⽐如:exp system/manager inctype=complete file=040731.dmp(2)、“增量型”增量导出备份上⼀次备份后改变的数据,⽐如:exp system/manager inctype=incremental file=040731.dmp(3)、“累积型”增量导出累计型导出⽅式是导出⾃上次“完全”导出之后数据库中变化了的信息。
⽐如:exp system/manager inctype=cumulative file=040731.dmp数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。
oracle数据库备份与还原方法一、Oracle数据库备份方法。
1.1 冷备份。
冷备份是在数据库关闭状态下进行的备份。
这就好比是给一个睡着的人做全身检查,一切都是静止的,好操作。
你得把数据库相关的文件,像数据文件、控制文件、重做日志文件等一股脑儿地拷贝到一个安全的地方。
这种备份方法简单直接,但是呢,在备份期间数据库是不能使用的,就像你要修东西得先把它停下来一样,有点不方便。
不过它恢复起来也相对容易,就像把之前拷贝走的东西再原封不动地拿回来就好。
1.2 热备份。
热备份可就不一样啦,它是在数据库运行的时候进行备份的。
这就像是给一个正在跑步的人换鞋子,难度不小。
热备份主要是利用归档模式,对表空间或者数据文件进行备份。
这种方式不影响数据库的正常使用,就像在火车行驶的时候给它换个小零件,火车还能继续跑。
但是热备份的操作相对复杂一些,需要对Oracle数据库有比较深入的了解,不然很容易搞砸,那可就“偷鸡不成蚀把米”了。
1.3 逻辑备份。
逻辑备份呢,是通过Oracle的工具,比如EXP或者EXPDP来进行的。
这就像是把数据库里的数据按照一定的逻辑规则整理出来,打包带走。
它可以备份特定的表、用户或者整个数据库。
这种备份方式比较灵活,就像你可以从一个大仓库里挑选你想要备份的东西。
但是逻辑备份的速度可能会比较慢,特别是数据量很大的时候,就像小马拉大车,有点吃力。
二、Oracle数据库还原方法。
2.1 冷备份还原。
如果是冷备份还原,那就简单多啦。
首先把数据库关闭,然后把之前备份的文件再拷贝回原来的位置,就像把东西放回原位一样。
不过要注意文件的权限和路径,可不能张冠李戴。
一切就绪后,再启动数据库,就大功告成了。
这就像把修好的东西重新启动,又能正常工作了。
2.2 热备份还原。
热备份还原就复杂得多了。
首先要根据备份的情况,确定需要还原的表空间或者数据文件。
然后利用归档日志和备份文件进行恢复。
这过程就像走钢丝,得小心翼翼的。
Oracle备份常用命令Oracle也是常用的数据库之一,备份起来的话有时候是否感到棘手?保存好以下信息,相信能助你一臂之力。
一.常用的备份命令1.list backup;列出数据库中所有的备份信息。
2.list backup of controlfile;列出所有备份的控制文件。
3.list backup of datafile ' 或者 list backup of datafile 对应数据文件的ID号。
数据文件全路径.dbf';列出指定的备份的数据文件。
4.list backup of archivelog all;列出所有备份的归档文件。
5.list copy of tablespace '表空间名';列出指定表空间的备份信息。
6.list expired backup;列出无效备份。
7.delete obsolete;删除过期备份。
8.delete expired backup;删除无效备份。
9.delete expired copy;删除expired副本。
10.delete backupset 备份集编号;删除指定备份集。
11.delete backup;删除所有备份集。
12.delete copy;删除所有映像副本。
13.report need backup;查看所需要的备份文件14.report need backup tablespace 表空间名;查看指定表空间是否需要备份。
15.crosscheck archivelog all;检查归档文件是否有效16.crosscheck backup;检查所有备份集。
RMAN相关的list backup of database(查看数据库的全库备份,全部细节都包括)list backup of tablespace users (查看users表空间的备份) list backup of datafile 5;(5是表空间对应的文件id)list backup of controlfile(看出控制文信息的备份)list backup of datafile'+DATADG/cboms/datafile/users.264.735423243';(根据具体的数据文件的具体位置,查看备份)list expired backup;(无效的备份)list expired archivelog all;(查看无效的archive log 日志) list backup of database summary(这个是对概况性的,对数据库有个直观,全面的了解)list backup of database summarylist backup of archivelog all summarylist backup of tablespace users summarylist backup of datafile 5 summarycrosscheck archivelog all;验证DB的归档日志时候缺失crosscheck backup;验证数据库备份集的是否缺失delete expired archivelog all;命令删除所有过期的归档日志RMAN> crosscheck backup;using channel ORA_DISK_1crosschecked backup piece: found to be 'AVAILABLE'backup piecehandle=/u01/flash_recovery_area/DBTEST/backupset/2012_04_21 /o1_mf_nnndf_TAG20120421T153359_7s4rq7v6_.bkp recid=22 stamp=781198439crosschecked backup piece: found to be'AVAILABLE'backup piecehandle=/u01/flash_recovery_area/DBTEST/backupset/2012_04_21 /o1_mf_ncnnf_TAG20120421T153359_7s4rsm9k_.bkp recid=23 stamp=781198515Crosschecked 2 objectsRMAN>17.修改备份状态用CHANGE,如修改表空间RMAN> backup tablespace users format'/backup/rmanbackup/userscp';Starting backup at 21-APR-12using channel ORA_DISK_1channel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00004name=/u01/oradata/dbtest/users01.dbfchannel ORA_DISK_1: starting piece 1 at 21-APR-12channel ORA_DISK_1: finished piece 1 at 21-APR-12piece handle=/backup/rmanbackup/userscptag=TAG20120421T155115 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01Finished backup at 21-APR-12RMAN> list backup of tablespace users;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ---------------------------24 Full 2.02M DISK 00:00:00 21-APR-12BP Key: 28 Status:AVAILABLE Compressed: NO Tag:TAG20120421T155115Piece Name: /backup/rmanbackup/userscpList of Datafiles in backup set 24File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----4 Full 1388204 21-APR-12 /u01/oradata/dbtest/users01.dbfRMAN> change backup of tablespace users unavailable;changed backup piece unavailablebackup piece handle=/backup/rmanbackup/userscp recid=28 stamp=781199475Changed 1 objects to UNAVAILABLE statusRMAN> list backup of tablespace users;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ---------------------------24 Full 2.02M DISK 00:00:00 21-APR-12BP Key: 28 Status:UNAVAILABLE Compressed: NO Tag:TAG20120421T155115Piece Name: /backup/rmanbackup/userscpList of Datafiles in backup set 24File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----4 Full 1388204 21-APR-12 /u01/oradata/dbtest/users01.dbfRMAN>如果没有指定表空间位置,来改变状态,不会成功。
oracle数据每天备份(导出dmp)并清理老备份文件的脚本
1、创建目录和文件
a)E:\scripts\ (作用:放置脚本和临时工作目录)
b)E:\bak (作用:存放备份数据)
2、这台windows机器安装完整的oracle客户端,并可以连接到
oracle。
3、在另外一台windows系统机器上做定时任务,每天将oracle
数据导出并压缩。
a)新建文件bak.cmd 内容:
:: 设置日期变量
FOR /F "tokens=1,2,3 delims=- " %%i IN ('DATE /T') DO SET D=%%i%%j%%k
:: 执行oracle导出命令
exp 用户/密码@数据库file=E:\scripts\data%D%.dmp statistics=none grants=n
rows=y log=E:\scripts\data%D%.log
cd E:\scripts
:: 压缩dmp文件
"C:\Program Files\WinRAR\WinRAR.exe" a -afzip -k -df -inul -ibck -ep
-agYYYYMMDDHHMMSS -o+ -ilogE:\scripts\bakzip.log BAK_data%D%*.*
:: 移动到备份文件夹
move E:\scripts\BAK_*.* E:\bak\
:: 执行清理老文件的脚本,只保留10天内文件。
:: 执行格式datedel2_2k3 保留天数清理的文件夹
datedel2_2k3 10 E:\bak\
b)设置windows计划任务每天执行一次bak.cmd。
4、清理老的备份文件的脚本
a)在E:\scripts\下创建文件datedel2_2k3.bat
b)内容:(此脚本适用于windows2003系统)
datedel2_2k3.bat
:: DateDel2.bat - 删除指定路径下指定日数以前修改的文件
:: Will Sort - 2005-9-2 - CMD@WinXP
:: 注意事项:参数%1指定日数,昨天为1,前天为2,依次类推
:: 参数%2指定文件路径,省略时将处理当前路径
:: 核心算法:Ritchie Lawrence, updated 2002-08-13. Version 1.1
::
@echo off & setlocal ENABLEEXTENSIONS
call :Date2Day %date:~0,10% sdays
set /a sdays-=%1
call :Day2Date %sdays% difdate
echo 将删除%cd% 下%difdate% 前的修改的以下文件:
for /r %2 %%f in (*.*) do if "%%~tf" LEQ "%difdate%" del /f /q %%f && echo 删除%%f goto :EOF
:Date2Day
setlocal ENABLEEXTENSIONS
for /f "tokens=1-3 delims=/-, " %%a in ('echo/%1') do (
set yy=%%a & set mm=%%b & set dd=%%c
)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set %2=%j%&goto :EOF
:Day2Date
setlocal ENABLEEXTENSIONS
set /a i=%1,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5 set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %2=%yy%-%mm%-%dd%&goto :EOF
c)内容:(此脚本适用于windows2000系统)
:: DateDel2.bat - 删除指定路径下指定日数以前修改的文件
:: Will Sort - 2005-9-2 - CMD@WinXP
:: 注意事项:参数%1指定日数,昨天为1,前天为2,依次类推
:: 参数%2指定文件路径,省略时将处理当前路径
:: 核心算法:Ritchie Lawrence, updated 2002-08-13. Version 1.1
::
@echo off & setlocal ENABLEEXTENSIONS
call :Date2Day %date:~4,10% sdays
set /a sdays-=%1
call :Day2Date %sdays% difdate
echo 将删除%cd% 下%difdate% 前的修改的以下文件:
for /r %2 %%f in (*.*) do if "%%~tf" LEQ "%difdate:~2,14%" del /f /q %%f && echo 删除%%f
goto :EOF
:Date2Day
setlocal ENABLEEXTENSIONS
for /f "tokens=1-3 delims=/-, " %%a in ('echo/%1') do (
set yy=%%a & set mm=%%b & set dd=%%c
)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set %2=%j%&goto :EOF
:Day2Date
setlocal ENABLEEXTENSIONS
set /a i=%1,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5 set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %2=%yy%-%mm%-%dd%&goto :EOF。