`

oracle数据库的备份和导入

 
阅读更多
手工备份
单表备份(前提库的结构是一样的) 
导出: 
开始钮->运行->输入CMD->进入DOS界面 
EXP 用户名/密码@连接字符串 GRANTS=Y TABLES=(stu) file=C:\文件名.DMP 
导入: 
开始钮->运行->输入CMD->进入DOS界面 
IMP 用户名/密码@连接字符串 IGNORE=Y TABLES=(stu) FULL=N file=C:\文件名.DMP 

其中stu是你要的表名 

全库导 
导出: 
开始钮->运行->输入CMD->进入DOS界面 
EXP 用户名/密码@连接字符串 FULL=Y file=C:\文件名.DMP 
导入: 
开始钮->运行->输入CMD->进入DOS界面 
IMP 用户名/密码@连接字符串 FULL=Y file=C:\文件名.DMP 


自动备份
建议一: 
利用任务计划、批处理文件和ORACLE的EXP导出功能,可以根据日期自动生成ORACLE备份文件,大大方便了ORACLE数据备份。: 
1,批处理文件backup.bat\. 
exp system/manager file=d:\backup\oracle\oracle%date:~0,10%.dmp owner=system log=d:\backup\oracle\oracle%date:~0,10%.log 
将生成oracle2006-01-09.dmp文件 
exp system/manager file=d:\backup\oracle\oracle%date:~11,3%.dmp owner=system log=d:\backup\oracle\oracle%date:~11,3%.log 
将生成oracle星期一.dmp文件,则每周循环保留一个备份文件,共7个备份文件循环 
2,添加一个任务计划 
利用任务计划向导,根据备份策略设置自动执行任务的时间频率(例如每天零时),执行d:\oracle\backup.bat 
3、以后每天将在目录中生成形如“oracle2005-08-31.dmp和oracle2005-08-31.log”的备份和日志文件。 
说明: 
1、%date%的值在不同的系统、语言版本下可能是不一样的,控制面板里面区域选项的设定也会改变%date%的值。请先在命令行中测试 echo %date% 的返回值。%date:~4,10% 是返回日期函数,~后的第一个参数是要截取的起始位置(从0开始),第二个参数是要截取的长度,如没有则是截取到最后,参数可酌情修改。 
2、如需要准确的时间做为文件名,请用%time%函数,参数同上。 
建议二: 
@echo off 
set filename=e:\data_bak\%date:~8,2%日 
exp userid=user/pass@esdata file=%filename%.dmp owner=user INDEXES=y grants=y constraints=y compress=y log=%filename%.log 
rar a %filename%.rar %filename%.* 
del %filename%.dmp 
del %filename%.log 
放计划任务里面定时执行, 
文件名以日期的day部分来命名 
备份后调用rar进行压缩 
这样可以保存一个月的历史数据 
注意:需要把program files/winrar目录下的rar.exe拷贝到系统system32目录下 
如果是以星期命名,则需要将set filename=e:\data_bak\%date:~8,2%日修改为 
set filename=e:\data_bak\%date:~0,3% 
建议三: 
以下为ORACLE 自动备份批处理文件内容,请配合任务计划实现 

@ECHO OFF 
SET BACKPATH=d:\ 
ECHO 准备备份数据库 
REM 7天一个循环 
IF EXIST %BACKPATH%\ONE GOTO ONE 
IF EXIST %BACKPATH%\TWO GOTO TWO 
IF EXIST %BACKPATH%\THREE GOTO THREE 
IF EXIST %BACKPATH%\FOUR GOTO FOUR 
IF EXIST %BACKPATH%\FIVE GOTO FIVE 
IF EXIST %BACKPATH%\SIX GOTO SIX 
IF EXIST %BACKPATH%\SEVEN GOTO SEVEN 
ECHO E > %BACKPATH%\ONE 
:ONE 
SET BACKPATH_FULL=%BACKPATH%\ONE 
REN %BACKPATH%\ONE TWO 
GOTO BACK 
:TWO 
SET BACKPATH_FULL=%BACKPATH%\TWO 
REN %BACKPATH%\TWO THREE 
GOTO BACK 
:THREE 
SET BACKPATH_FULL=%BACKPATH%\THREE 
REN %BACKPATH%\THREE FOUR 
GOTO BACK 
:FOUR 
SET BACKPATH_FULL=%BACKPATH%\FOUR 
REN %BACKPATH%\FOUR FIVE 
GOTO BACK 
:FIVE 
SET BACKPATH_FULL=%BACKPATH%\FIVE 
REN %BACKPATH%\FIVE SIX 
GOTO BACK 
:SIX 
SET BACKPATH_FULL=%BACKPATH%\SIX 
REN %BACKPATH%\SIX SEVEN 
GOTO BACK 
:SEVEN 
SET BACKPATH_FULL=%BACKPATH%\SEVEN 
REN %BACKPATH%\SEVEN ONE 
GOTO BACK 
:BACK 
EXP TESTUSER/TEST FILE=%BACKPATH_FULL%.DMP 
SET BACKPATH= 
SET BACKPATH_FULL= 
EXIT 
建议四: 
RMAN TARGET=RMAN/RMAN@ORCL < C:\RMAN.TXT 
建议五: 
在文本里编辑cmd命令。然后保存成bat文件。在windows中定义任务计划,就 
可以自动执行了。 
例: 
编辑文本文件 
del c:\exp\*.dmp 
exp userid=cw/cw@db file='c:\exp\*.dmp' tables=(student) 
保存成bat文件 
建议六: 
写个简单的批处理文件备份恢复: 
备份: 
@echo off            不显示命令行 
     
echo 开始备份表.....       打印信息                
D: DOS切换到D: 盘 
cd oracle\ora92\bin       切换到cd oracle\ora92\bin目录 
exp 用户名/密码@数据库 file=d:\config_bak.dmp tables=(table1,table2) 备份表一表二到d:\config_bak.dmp 
echo 备份完毕! 
恢复: 
@echo off            
     
echo 开始恢复表.....                      
D: 
cd oracle\ora92\bin 
imp 用户名/密码@数据库 file=d:\config_bak.dmp tables=(table1,table2) ignore=y 
sqlplus /nolog @oraStartup.sql>>oraStartup.log 调用sql文件 
pause 执行完sql文件以后暂停,看信息 
echo 恢复完毕! 
编写oraStartup.sql 
conn 用户名/密码@数据库 as sysdba 
select * from table1; 
quit; 
       
       

 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, 
  DOS中可以执行时由于 在oracle 8i 中 安装目录\ora81\BIN被设置为全局路径, 
  该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 
  oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。 
  SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。 
  下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。 
  数据导出: 
  1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 
  exp system/manager@TEST file=d:\daochu.dmp full=y 
  2 将数据库中system用户与sys用户的表导出 
  exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys) 
  3 将数据库中的表table1 、table2导出 
  exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 
  4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 
  exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\" 
   
  上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。 
  不过在上面命令后面 加上 compress=y 就可以了 
  数据的导入 
  1 将D:\daochu.dmp 中的数据导入 TEST数据库中。 
  imp system/manager@TEST file=d:\daochu.dmp 
  上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。 
  在后面加上 ignore=y 就可以了。 
  2 将d:\daochu.dmp中的表table1 导入 
  imp system/manager@TEST file=d:\daochu.dmp tables=(table1) 
导入 
  基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
a.查看是处于什么模式 
select   log_mode   from   v$database; 
如果是非归档模式则成:NOARCHIVELOG 
如果不是归档模式(Archive)则可以通过以下方法改成归档模式 
b.改变归档模式 
1.SQL>   shutdown   immediate; 
2.SQL>   startup   mount; 
3.SQL> alter   database   archivelog; 
4.SQL> alter   database   open; 
现在已经改成归档模式了 

恢复
 1.使用命令“svrmgrl”调用行方式服务器管理;

  2.输入命令“connect internal”,然后输入命令“startup mount’;

  3.输入命令“recover database;”

  4.按下ENTER,接受默认值。

  5.然后输入命令“alter database open;”完成数据库恢复。
分享到:
评论

相关推荐

    ORACLE数据库备份用bat脚本

    首先,让我们理解"Oracle数据库备份用bat脚本"的概念。批处理脚本是Windows操作系统中的一种命令文件,可以包含一系列的DOS命令,用于自动化执行特定的任务。在Oracle数据库环境中,我们可以利用Oracle的数据泵工具...

    Oracle 数据库备份工具(带源码和控件)

    1. **Oracle数据库备份**:Oracle数据库备份主要包括物理备份和逻辑备份。物理备份包括完整数据库备份、增量备份和差异备份,通过复制数据库的数据文件、控制文件和日志文件来实现。逻辑备份则是通过SQL命令(如`...

    如何备份还原oracle数据库

    在IT领域中,Oracle数据库因其高性能、可靠性及可扩展性被广泛应用于企业级应用之中。对于Oracle数据库管理员而言,掌握如何高效地进行...希望本文能够帮助您更好地理解和掌握Oracle数据库备份与恢复的关键技术点。

    oracle备份数据库导入导出

    7. **Orc.doc文件**:这个文件可能包含了关于Oracle数据库备份和导入导出的具体步骤、脚本示例或最佳实践,你可以查阅该文档以获取更详细的信息。 总之,Oracle数据库的备份和导入导出是数据库管理员日常工作中不可...

    Oracle数据库备份与恢复.pdf

    ### Oracle数据库备份与恢复 #### 一、Oracle数据库概述 Oracle数据库是一款由甲骨文公司开发的关系型数据库管理系统,以其卓越的性能、可扩展性和安全性在全球范围内被广泛应用。Oracle数据库的特点包括: - **...

    linux下远程定时备份oracle数据库

    在Linux环境下,远程定时备份Oracle数据库是一项至关重要的任务,它能确保数据的安全性和业务的连续性。Oracle数据库作为企业级的数据库管理系统,其备份与恢复策略必须严谨且可靠。以下将详细阐述如何在没有安装...

    Oracle 数据库备份与恢复总结(导出与导入装库与卸库)

    Oracle 数据库备份与恢复是数据库管理中的重要环节,它确保了数据的安全性和可恢复性。在Oracle中,常用的备份和恢复工具是`exp`(Export)和`imp`(Import)。这两个工具允许管理员导出(备份)数据库中的数据和...

    ORACLE数据库自动备份3种方法

    对于Oracle数据库而言,实现自动化的数据库备份不仅可以提高效率,还能降低人为操作失误的风险。本文将详细介绍Oracle数据库自动备份的三种常见方法:Windows下的任务计划(At命令)、UNIX下的Crontab以及第三方工具...

    01-Oracle数据库备份与恢复教程

    ### Oracle数据库备份与恢复教程知识点概述 #### 一、Oracle数据库备份基础知识 ...通过以上知识点的学习,可以较为全面地了解Oracle数据库备份与恢复的基础理论和实践操作,这对于维护数据库的稳定运行至关重要。

    Oracle数据库导入导出工具

    Oracle数据库是企业级广泛应用的关系型数据库管理系统,其稳定性和功能强大深受广大用户的青睐。在日常运维和开发过程中,数据的导入导出是非常常见的任务,这包括数据迁移、备份、恢复等场景。本工具是一款基于Java...

    oracle数据库导入导出备份与恢复

    Oracle数据库的导入导出是数据库管理和维护中至关重要的部分,它涉及到数据的备份与恢复,确保数据的安全性和可恢复性。Oracle提供了Export和Import工具来实现这一目标。 **Export工具**用于从数据库中提取数据和元...

    oracle数据库备份与还原

    ### Oracle数据库备份与还原知识点详解 #### 一、Oracle数据库备份概述 Oracle数据库备份是确保数据安全的关键步骤之一。在日常运维中,合理的备份策略能够有效地保护数据免受硬件故障、软件错误或灾难性事件的...

    oracle数据库备份与恢复操作手册

    Oracle数据库备份与恢复是数据库管理中的关键环节,旨在保护数据免受硬件故障、软件错误或人为失误的影响。本文档详细阐述了如何对PDB系统,一个使用Oracle数据库系统的平台,进行有效的备份和恢复操作。 Oracle...

    Oracle数据库导入导出(备份与恢复).docx

    为了确保数据的安全和可靠性,Oracle数据库提供了导入导出命令,以便用户可以轻松地备份和恢复数据库。本文将详细介绍Oracle数据库的导入导出命令,包括exp和imp命令的使用方法和参数设置。 exp命令 exp命令是...

    oracle数据库自动备份脚本带说明

    "oracle数据库自动备份脚本带说明"的标题表明这是一个关于如何自动化执行Oracle数据库备份的脚本,这对于系统管理员来说是非常实用的工具。下面我们将详细探讨Oracle数据库的备份策略、自动备份脚本的工作原理以及...

    oracle数据库备份恢复策略

    Oracle数据库的备份与恢复策略是确保数据安全性和业务连续性的重要环节。以下是对这些策略的详细解释: **一、数据库备份策略** 1. **全备份与增量备份**:全备份通常每周执行一次,目的是获取数据库的完整状态。...

    Oracle 19c 备份恢复-导入导出

    Oracle 19c 备份恢复-导入导出是指使用 Oracle 数据库提供的工具 exp 和 imp 实现数据库的备份恢复和数据的导入导出。本文将详细介绍 Oracle 19c 备份恢复-导入导出的基本命令、工作方式、模式、选项和高级选项。 ...

    C#Oracle数据库备份

    Oracle数据库备份通常包括物理备份(如数据文件、控制文件、重做日志文件的拷贝)和逻辑备份(如SQL*Plus的EXPDP或IMPDP命令,导出和导入数据)。在C#中,我们主要关注的是逻辑备份,即通过执行SQL命令来完成数据的...

Global site tag (gtag.js) - Google Analytics