数据泵备份

合集下载

备份oracle数据库表的方法

备份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 数据泵 备份 步骤

oracle 数据泵备份步骤Oracle 数据泵是一种用于备份和恢复数据库的工具,它可以将数据库对象和数据导出到一个二进制文件中,然后再将其导入到另一个数据库中。

下面将详细介绍使用Oracle数据泵进行数据库备份的步骤。

1.创建目录对象:在备份数据库之前,首先要在数据库中创建一个目录对象,用于存储导出和导入文件。

可以使用以下SQL语句来创建目录对象:```sqlCREATE DIRECTORY e某p_dir AS '/backup/dump';```其中,'e某p_dir'是目录对象的名称,'/backup/dump'是目录对象在操作系统中的路径。

2.创建数据库备份任务:可以使用e某pdp命令来创建并执行数据库备份任务。

以下是一个创建数据库备份任务的示例:```sql```其中,system是数据库用户名,password是数据库密码,dbname是数据库实例名,e某p_dir是上一步创建的目录对象名,backup.dmp是导出文件的名称,full=y表示导出整个数据库,logfile是导出日志文件的名称。

3.执行备份任务:运行上述命令后,将会开始执行数据库备份任务,导出的数据将保存到指定的目录对象中。

在此过程中,可以通过查看日志文件来跟踪导出的进度和错误信息。

4.导入备份文件:如果需要将备份文件导入到另一个数据库中,可以使用impdp命令来执行导入任务。

以下是一个导入备份文件的示例:```sql```其中,system是目标数据库的用户名,password是密码,dbname是目标数据库的实例名,e某p_dir是之前创建的目录对象名,backup.dmp 是导出文件的名称,logfile是导入日志文件的名称,full=y表示完全导入整个数据库。

5.执行导入任务:运行上述命令后,将开始导入备份文件的过程,将数据导入到目标数据库中。

在此过程中,可以查看日志文件以了解导入的进度和错误信息。

数据泵自动备份及删除

数据泵自动备份及删除

引言日常运维过程中,数据库需要定期备份,由于数据量较大,可使用数据泵的方式进行备份,利用linux/unix操作系统自带的crontab计划任务进行定期设置,以达到定期快速的数据库备份效果。

环境介绍操作系统:aix 5.3数据库:oracle 10g文件系统:/backup备份策略:每日17:00开始对备份文件系统进行清理,17:30开始进行数据库中主业务方案进行备份。

每周日19:00开始清理备份文件系统,19:20开始备份数据库中ims相关方案。

数据库设置在数据库中创建数据泵使用目录,并增加相应用户对该目录的读写权限。

如下图:crontab计划任务设置计划任务设置如下:00 17 * * * sh /backup/clear_pmsdb.sh30 17 * * * sh /backup/expdp_pmsdb.sh00 19 * * 0 sh /backup/clear_pmsint.sh20 19 * * 0 sh /backup/expdp_pmsint.sh说明:clear_pmsdb.sh:主业务用户2天前备份数据清理任务脚本expdp_pmsdb.sh:主业务用户数据备份任务脚本clear_pmsint.sh :接口用户7天前备份数据清理任务脚本expdp_pmsint.sh:接口用户数据备份任务脚本计划任务可用“crontab –l”查询,“crontab –e”使用默认文本编辑器进行编辑,例如vi。

相关脚本expdp_pmsdb.sh脚本设置如下:export ORACLE_BASE=/oracleexport ORACLE_HOME=$ORACLE_BASE/dbexport ORA_CRS_HOME=$ORACLE_BASE/crsexport ORACLE_SID=orcl2export ORACLE_TERM=xtermexportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib :$ORA_CRS_HOME/lib:$ORA_CRS_HOME/lib32export LIBPATH=$LD_LIBRARY_PATHexportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib/ :$ORACLE_HOME/network/jlibexportPATH=$PATH:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/oracle/soft/OPatch export AIXTHREAD_SCOPE=Sexport ORACLE_HOSTNAME=pmsdb2export TEMP=/tmpexport TMP=/tmpexport TMPDIR=/tmpexpdp system/pms_db@orcl2 directory=datapump schemas=geostar,jcas_djmuser,jcas_dmsuser,mw_app,mw_rtm,mw_sys dumpfile=pmsdb`date '+%Y%m%d'`_%U.dmp parallel=10 logfile=pmsdb`date '+%Y%m%d'`.logexpdp_pmsint.sh脚本设置如下:export ORACLE_BASE=/oracleexport ORACLE_HOME=$ORACLE_BASE/dbexport ORA_CRS_HOME=$ORACLE_BASE/crsexport ORACLE_SID=orcl2export ORACLE_TERM=xtermexportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib :$ORA_CRS_HOME/lib:$ORA_CRS_HOME/lib32export LIBPATH=$LD_LIBRARY_PATHexportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib/ :$ORACLE_HOME/network/jlibexportPATH=$PATH:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/oracle/soft/OPatch export AIXTHREAD_SCOPE=Sexport ORACLE_HOSTNAME=pmsdb2export TEMP=/tmpexport TMP=/tmpexport TMPDIR=/tmpexpdp system/pms_db@orcl2 directory=datapump schemas=hdpms,idm_user,pms_monitor,sis dumpfile=pmsint`date '+%Y%m%d'`_%U.dmp parallel=5 logfile=pmsint`date '+%Y%m%d'`.log clear_pmsdb.sh脚本设置如下:find /backup -name "pmsdb*.dmp" -ctime +2 -exec rm -f {} \;clear_pmsint.sh脚本设置如下:find /backup -name "pmsint*.dmp" -ctime +7 -exec rm -f {} \;。

使用EXPDP|IMPDP替代EXP|IMP备份数据

使用EXPDP|IMPDP替代EXP|IMP备份数据

一、数据泵(Data Pump)主要解决的问题
1. 据说比 IMP/EXP 更加灵活, 支持多种元数据过滤策略, 多种导入/导出模式, 如将 A 库 B 用户导到 C 库中 D 用户, 则只需要 REMAP_SCHEMA 即可 2. 占用 USER 表空间问题。一直纠结的占用其他表空间问题可以用 REMAP_TABLESPACE 参数解决 3. 高版本数据导入到低版本问题。可以在 Oracle11g 中用 version 参数指定版本,在 Oracle10g 中导入。 4. 空表问题,Oracle11g 新的表并且表中无数据也未使用过则表的 SEGMENT 空间是不会分配的,这样在 EXP 时表 是导不出来的,这个问题的解决就是给表分配 SEGMENT 或使用 EXPDP 了 i. Select 'ALTER TABLE ' || TABLE_NAME || ' ALLOCATE EXTENT;' From user_tables WHERE NUM_ROWS=0, 将查询结果导出成 sql 脚本执行即可 ALTER SYSTEM SET DEFERRED_SEGMENT_CREATION=FALSE SCOPE=BOTH
指定。 有了这个目录指定之后,就可以使用 EXPDP 了。 2. 删除目录指定
Drop Directory AAA
几个参数
REMAP_SCHEMA 将一个方案中的对象加载到另一个方案。 REMAP_TABLE 将表名重新映射到另一个表。 例如, REMAP_TABLE=EMP.EMPNO:REMAPPKG.EMPNO。 REMAP_TABLESPACE 将表空间对象重新映射到另一个表空间。
SELECT * FROM dba_directories;

navicat 数据泵的用法

navicat 数据泵的用法

navicat 数据泵的用法摘要:I.引言A.Navicat 简介B.数据泵的作用II.Navicat 数据泵的用法A.数据泵导入1.连接到数据库2.打开数据泵3.设置常规选项4.预览和运行SQL语句B.数据泵导出1.连接到数据库2.打开数据泵3.设置常规选项4.预览和运行SQL语句III.数据泵的高级用法A.数据过滤和转换1.数据过滤2.数据转换B.数据泵的备份和还原1.备份数据库2.还原数据库IV.结论A.总结数据泵的用法B.展望Navicat的发展正文:avicat是一款功能强大的数据库管理工具,可以用于连接和管理多种类型的数据库。

在数据库管理和操作中,数据泵是一个非常重要的功能。

它可以实现数据的导入和导出,方便数据的备份和迁移。

本文将详细介绍Navicat数据泵的用法。

首先,我们来了解一下Navicat数据泵的导入用法。

数据泵导入需要以下几个步骤:连接到数据库,打开数据泵,设置常规选项,预览和运行SQL语句。

在连接到数据库时,需要输入数据库的连接信息,包括服务器名称、端口号、用户名和密码。

打开数据泵后,我们可以设置工作名称、模式、内容、导入数据等选项。

在预览和运行SQL语句时,可以查看导入数据的SQL语句是否正确,以及数据泵导入过程中可能出现的错误信息。

接下来,我们来介绍一下Navicat数据泵的导出用法。

数据泵导出同样需要以下几个步骤:连接到数据库,打开数据泵,设置常规选项,预览和运行SQL语句。

在连接到数据库时,需要输入数据库的连接信息,包括服务器名称、端口号、用户名和密码。

打开数据泵后,我们可以设置工作名称、模式、内容、导出数据等选项。

在预览和运行SQL语句时,可以查看导出数据的SQL 语句是否正确,以及数据泵导出过程中可能出现的错误信息。

除了基本的导入和导出功能,Navicat数据泵还提供了许多高级功能。

比如,数据过滤和转换功能,可以让我们在导入和导出数据时,对数据进行筛选和转换。

oracle数据泵批量备份操作指南

oracle数据泵批量备份操作指南

一、oracle数据自动备份数据泵,e:\vob\dbbak指的是文件存储路径,可以修改;expdp后的avic20140825/sys指的是数据库的用户名和密码;nchr指的是数据库实例(数据库/ODBC);请根据贵单位系统实际情况修改以上字段。

二、10G的数据库直接就可以备份,11G的数据库需要做以下操作:
1、在服务器上建立一个文件名为e:\vob\dbbak的文件夹,文件夹路径和名字可以修改,但
相应地要修改sql.sql下的路径和文件夹名字。

2、在plsql中或者sqlplus中执行压缩包中sql语句。

如果数据库字符集选择的是utf8,则一
定在sqlplus下执行脚本。

该sql语句下as后的‘e:\vob\dbbak’和avic20140825根据设置的文件夹路径和数据库用户名来修改。

3、oracle数据自动备份数据泵放在windows里面做定时任务,通过控制面板-任务计划根据
向导来做定时任务。

注:文件名和路径可以任意起,但是起完之后需要对sql和bat文件进行修改。

恢复命令:
impdp user/pasword@数据库实例directory=dump_dir2 dumpfile=备份名字remap_schema=导出用户:导入用户。

数据泵备份的一些副作用

数据泵备份的一些副作用

数据泵备份之外的一些“副作用”数据泵是Oracle最近几个版本中才引进的一项技术,其主要用来对数据库进行逻辑备份与恢复。

其主要包括expdp与imppd两个实用程序。

数据泵是Oracle最近几个版本中才引进的一项技术,其主要用来对数据库进行逻辑备份与恢复。

其主要包括expdp与imppd两个实用程序。

数据库传统的备份基本上都是物理备份,包括联机备份与脱机备份等等。

但是数据泵在Oracle数据库中为其实现了逻辑备份。

逻辑备份简单的说,就是将数据库中的数据导出到一个转储文件中保存。

逻辑备份比物理备份具有更大的灵活性。

如根据需要,数据库管理员可以备份一个表空间中的数据,也可以备份一个方案对象、甚至只是某些特定表中的数据。

在还原的时候,也可以针对不同的转储文件来恢复相关的数据。

可见,数据泵提供的逻辑备份要比物理备份灵活的多。

不过笔者今天要谈的不是数据泵逻辑备份的灵活性,而是要谈谈通过数据泵对数据库进行导入导出的几个很有用的“副作用”。

在这些副作用的帮助下,数据库管理员可以节省大量的工作。

副作用一:消除磁盘碎片。

在数据库使用过程中,难免为对保存在其中的数据进行删删减减。

这些操作难免会在硬盘中造成比较多的硬盘碎片。

如果在这台服务器中还部署了其他的应用服务,那么碎片会更多。

而这些硬盘碎片会在很大程度上影响数据库的运行性能。

此时尽量消除硬盘碎片也是提高数据库性能的一个很好的方法。

在Windows等操作系统中也有碎片整理工具。

但是这个操作系统提供的工具并能够有效消除数据库中的存储碎片。

因为数据库中的存储碎片是由于数据块大小、存储结构、不合理的数据类型等等多个方面所造成的。

而操作系统与数据库系统毕竟是两个不同的应用系统,为此通过操作系统提供的硬盘碎片处理程序往往很难消除数据库系统中的磁盘碎片。

那么在数据库中该如何解决这个磁盘碎片问题呢?在以前版本的数据库中,数据库管理员可能对此只能够干瞪眼。

不过在Oracle 10G以后的数据库中,借助数据泵的作用,就可以轻松的解决这个问题。

oracle数据泵方式备份还原数据

oracle数据泵方式备份还原数据

oracle数据泵导入导出说明:一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。

create directory dpdata1 as 'd:\test\dump';二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)select * from dba_directories;三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。

grant read,write on directory dpdata1 to scott;四、导出数据1)按用户导expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;2)并行进程parallelexpdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott33)按表名导expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;4)按查询条件导expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';5)按表空间导expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;6)导整个数据库expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;五、还原数据1)导到指定用户下impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;2)改变表的ownerimpdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;3)导入表空间impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;4)导入数据库impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION。

数据泵自动备份脚本

数据泵自动备份脚本

数据泵⾃动备份脚本#!/bin/bash#Created by Jason. ~/.bash_profileexport BACKUPDIR=/oracle/archexport EXPDPDIR=DMP_DIRexport PARALLEL=10export BACKUPTIME=`date +%Y%m%d`touch $BACKUPDIR/db_name.sqlecho "set lin 100" > $BACKUPDIR/db_name.sqlecho "select VALUE from v\$parameter where name='db_name';" >> $BACKUPDIR/db_name.sqlecho "exit" >> $BACKUPDIR/db_name.sqlDB_NAME=`sqlplus / as sysdba @$BACKUPDIR/db_name.sql |grep -A 2 VALUE |tail -1`export BACKUPNAME=$DB_NAME'_'$BACKUPTIMEexec > $BACKUPDIR/oracle_expdp.logecho '===THE BACKUP OF START TIME IS '$(date +%Y/%m/%d/%H:%M:%S)===sqlplus -S / as sysdba <<EOFprompt ######################################USERS################################################ set lin 200col username format a25col account_status format a18col default_tablespace format a20col temporary_tablespace format a20select username,default_tablespace,account_status,temporary_tablespace from dba_users;prompt ######################################TABLESPACE############################################ set line 200 pagesize 9999col tablespace_name for a20select b.tablespace_name,round(sum(b.bytes)/1024/1024,0) sum_MB,round(sum(b.bytes)/1024/1024,0)-round(sum(nvl(a.bytes,0))/1024/1024,0) use_MB,round(sum(nvl(a.bytes,0))/1024/1024,0) free_MB,round((sum(b.bytes)-sum(nvl(a.bytes,0)))/sum(b.bytes),4)*100 use_precentfrom (select tablespace_name,file_id,sum(bytes) bytes from dba_free_space group by tablespace_name,file_id) a,dba_data_files bwhere a.file_id(+)=b.file_id and a.tablespace_name(+)=b.tablespace_namegroup by b.tablespace_nameunion allselect b.tablespace_name,round(b.bytes/1024/1024,0) sum_MB,round(nvl(a.bytes,0)/1024/1024,0) use_MB,round(b.bytes/1024/1024,0)-round(nvl(a.bytes,0)/1024/1024,0) free_MB,round(nvl(a.bytes,0)/b.bytes,4)*100 use_precentfrom (select tablespace_name,sum(nvl(bytes_used,0)) bytes from gv\$temp_extent_pool group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes from dba_temp_files group by tablespace_name)bwhere a.tablespace_name(+)=b.tablespace_nameorder by use_precent desc;exit;EOFexpdp \'/ as sysdba\'directory=$EXPDPDIR dumpfile="$BACKUPNAME"_%U.dmp logfile="$BACKUPNAME".log CLUSTER=N exclude=statistics compression=all full=y parallel=$PARALLELecho "#################################DMP FILE LIST##########################################"rm -f db_name.sqlls -lh $BACKUPDIRecho "#################################BACKUP LOG#############################################"tail -50 $BACKUPDIR/$BACKUPNAME.logecho "#################################Starting tar...########################################"cd $BACKUPDIRtar -cf $BACKUPNAME.tar $BACKUPNAME*.dmp $BACKUPNAME*.logrm -rf $BACKUPDIR/$BACKUPNAME*.dmp $BACKUPNAME*.logls -lh $BACKUPDIRecho "#################################DELETE 2+ DMP FILE#####################################"find $BACKUPDIR -mtime +2 -name "*.tar*" -exec rm -rf {} \;ls -lh $BACKUPDIRecho '===THE BACKUP OF END TIME IS '$(date +%Y/%m/%d/%H:%M:%S)===。

oracle 数据泵使用技巧

oracle 数据泵使用技巧

oracle 数据泵使用技巧Oracle 数据泵是一个非常强大的工具,用于在Oracle数据库之间导入和导出数据。

它提供了一种快速和高效的方式,可以将数据从一个数据库迁移到另一个数据库,或者备份和还原数据。

在本文中,我将分享一些使用Oracle数据泵的技巧,希望对您有所帮助。

让我们来了解一下数据泵的基本概念和术语。

数据泵由两个主要组件组成:导出(expdp)和导入(impdp)。

导出是将数据从源数据库导出到文件系统的过程,而导入是将数据从文件系统导入到目标数据库的过程。

在导出和导入过程中,可以使用各种参数和选项来控制数据的导出和导入行为。

一、导出数据1. 导出整个数据库要导出整个数据库,可以使用以下命令:```expdp username/password@database_name directory=directory_name dumpfile=dumpfile_name.dmp full=y```其中,username是数据库用户的名称,password是用户的密码,database_name是数据库的服务名,directory_name是导出文件保存的目录,dumpfile_name.dmp是导出文件的名称。

通过设置full参数为y,可以导出整个数据库。

2. 导出指定的表如果只需要导出特定的表,可以使用tables参数来指定要导出的表的名称:```expdp username/password@database_name directory=directory_name dumpfile=dumpfile_name.dmp tables=table_name```其中,table_name是要导出的表的名称。

可以通过逗号分隔多个表的名称。

3. 导出指定的数据有时候,可能只需要导出表中的部分数据。

可以使用query参数来指定要导出的数据的条件:```expdp username/password@database_name directory=directory_name dumpfile=dumpfile_name.dmp tables=table_name query=condition```其中,condition是指定要导出的数据的条件。

数据泵备份简易说明

数据泵备份简易说明

一、“expdp/impdp”的方式
但是oracle11g(11.2.0.1.0)里涉及到表分区,所以用expdp和impdp的命令。

1)create directory czcggx as 'E:\products\czcggx\DB';
请修改蓝色文字部分为合适的路径,供备份与恢复使用。

2)select * from dba_directories;
验证是否已经创建好。

在磁盘里创建步骤1)里创建的路径。

1、备份。

命令如下:
2、恢复。

命令如下:
在恢复库之前先要清空已有的用户及数据。

当前数据库不是一个空的库,即已经存在了通用用户或项目使用的用户、表空间和数据,则需要先DROP掉已经存在的用户,再创建用户并授权,表空间直接使用即可。

如果备份和恢复的机器的oracle版本不一致请增加“version=11.2.0.1.0”的参数来指定版本号。

指令中用到的各字段含义说明见下表:
注意:导入前一定要确保表空间足够大,否则造成导入失败需要重新导,很浪费时间。

此种备份与恢复的详细方法参见《Oracle_expdp_impdp用法详解.pdf》。

数据泵和数据库备份

数据泵和数据库备份
-rwxr-x--x 1 oracle oinstall 174K Sep 13 20:01 expdp
expdp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移
expdb支持三种模式:
a. 表模式: 导出用户所有表或者指定的表
SQL>exit;
[oracle@oradb ~]$ mkdir wl
[oracle@oradb ~]$ expdp FSD/FSD tables=cl_loan_acct directory=dump_test dumpfile=cl_loan_acct.dmp logfile=cl_loan_acct.log;
b. 用户模式:导出用户所有对象以及对象中的数据
c. 导出表空间:导出数据库中特定的表空间
d. 整个数据的例子
a.基于表模式的导出
SQL> create directory dump_test as '/home/oracle/wl';
directory=TEST_EXPDP job_name=hs_hisjob2 query='"where init_date between 20080501 and 20080701"';
注意:如果QUERY条件写得有问题那么下面总是会报以下的错误
ORA-39001: invalid argument value
为数据及数据对象提供更细微级别的选择性(使用exclude,include,content参数)
可以设定数据库版本号(主要是用于兼容老版本的数据库系统)
并行执行
预估导出作业所需要的磁盘空间(使用estimate_only参数)

oracle 11g数据泵备份恢复

oracle 11g数据泵备份恢复

ORACLE 11G数据泵备份恢复文档修改记录修改人修改时间修改内容2012-10-24 生成初始报告目录ORACLE 11G数据泵备份恢复 (1)1.原库准备工作 (2)1.1检查原库字符集 (2)1.2 检查源库表空间信息 (2)1.3 检查源系统用户及权限 (3)1.4 导出前检查及准备 (3)1.5 expdp 按用户导出 (4)1.6 传输备份数据 (5)2.新库导入工作及检查 (5)2.1安装数据库软件 (5)2.2 DBCA建实例 (5)2.3 建立表空间 (14)2.4 创建role(不需要创建用户) (28)2.5 导入数据 (30)停止job (30)同时禁用自动统计分析 (31)完成后启用jobs (31)2.6 检查数据库对象 (31)2.7 修改数据库为归档模式 (32)2.8 数据库参数修改 (32)2.9 修改用户密码 (32)2.10 检查对象 (32)1. 原库准备工作1.1检查原库字符集查询oracle server端的字符集有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:SQL> select userenv('language') from dual;USERENV('LANGUAGE')----------------------------------------------------SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280查询oracle client端的字符集在windows平台下,就是注册表里面相应OracleHome的NLS_LANG。

还可以在dos窗口里面自己设置,比如: set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280这样就只影响这个窗口里面的环境变量。

如果检查的结果发现server端与client端字符集不一致,请统一修改为同server端相同的字符集。

oracle 数据泵 备份 步骤

oracle 数据泵 备份 步骤

oracle 数据泵备份步骤(原创版)目录1.Oracle 数据泵简介2.数据泵备份的优势3.数据泵备份的步骤3.1 连接到数据库3.2 创建备份目录3.3 创建物理目录映像3.4 授权用户3.5 使用 expdp 命令进行备份3.6 检查备份文件3.7 设置定时任务正文一、Oracle 数据泵简介Oracle 数据泵(Data Pump)是 Oracle 数据库提供的一个高效、易用的数据传输工具,可以用于在 Oracle 数据库之间传输数据,也可以用于将数据从 Oracle 数据库导入到其他非 Oracle 数据库中。

数据泵采用基于服务器的数据传输方式,可以大大减少客户端的负担,提高数据传输效率。

二、数据泵备份的优势相较于传统的 Oracle 备份方法,如使用 export 工具或逻辑备份,数据泵备份具有以下优势:1.高效:数据泵利用 Oracle 数据库的内部机制进行数据传输,效率更高。

2.灵活:数据泵支持多种数据传输方式,如导出到文件、导入到其他数据库等。

3.可靠:数据泵备份可以实现数据的增量备份,只备份发生变化的数据,减少了备份空间的需求。

4.易用:数据泵提供了丰富的命令和选项,使得备份操作更加简单。

三、数据泵备份的步骤1.连接到数据库使用 plsql 或 developer 软件,以管理员角色连接到 Oracle 数据库。

2.创建备份目录在本地服务器或 Linux 服务器上创建一个备份数据保存目录。

3.创建物理目录映像在连接成功的数据库窗口中创建物理目录的映像。

4.授权用户如果是其他用户要使用这个目录进行导出操作,还需要对这个用户进行授权,如果是管理员用户就不需要再进行授权。

5.使用 expdp 命令进行备份在 dos 命令行中直接使用 expdp 对全库或指定表空间进行备份。

6.检查备份文件在计算机中找到备份文件的保存路径,检查备份文件是否存在。

Oracle数据泵备份与恢复实例

Oracle数据泵备份与恢复实例

SQL> conn / as sysdba已连接。

SQL> create directory mydump as 'd:\oracle\mydump';SQL> Grant read,write on directory mydump to test;授权成功。

创建目录d:\oracle\mydump。

C:\Users\David>expdp test/test directory=mydump dumpfile=test.dmp logfile=test.log tables=t1Export: Release 11.2.0.1.0 - Production on 星期三7月16 22:52:58 2014Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options启动"TEST"."SYS_EXPORT_TABLE_01": test/******** directory=mydump dumpfile=test.dmp logfile=test.log tables=t1正在使用BLOCKS 方法进行估计...处理对象类型TABLE_EXPORT/TABLE/TABLE_DATA使用BLOCKS 方法的总估计: 64 KB处理对象类型TABLE_EXPORT/TABLE/TABLE处理对象类型TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS. . 导出了"TEST"."T1" 5.507 KB 5 行已成功加载/卸载了主表"TEST"."SYS_EXPORT_TABLE_01"****************************************************************************** TEST.SYS_EXPORT_TABLE_01 的转储文件集为:D:\ORACLE\MYDUMP\TEST.DMP作业"TEST"."SYS_EXPORT_TABLE_01" 已于22:53:09 成功完成需要将原表删除。

orcl数据库备份格式

orcl数据库备份格式

orcl数据库备份格式Oracle 数据库备份格式:了解基本概念与步骤一、引言在信息技术快速发展的今天,数据备份和恢复是任何组织都不能忽视的重要环节。

对于Oracle 数据库来说,备份是保障数据安全的关键措施之一。

本文将以"Oracle 数据库备份格式" 为主题,详细介绍Oracle 数据库的备份格式、基本概念和备份步骤。

二、概念解析1. Oracle 数据库备份:备份即将数据库的数据(包括表、索引、存储过程等)复制到另一个存储介质中,以防止数据丢失或损坏。

备份可以基于物理结构或逻辑结构进行。

2. 备份格式:备份格式指备份文件的存储方式和组织结构。

Oracle 数据库支持多种备份格式,包括物理备份和逻辑备份。

三、物理备份格式物理备份是将数据库文件逐个复制到备份介质的过程,备份文件与数据库文件具有相同的物理结构。

Oracle 数据库提供了多种物理备份格式,包括如下几种常见的格式。

1. RMAN备份格式RMAN (Recovery Manager) 是Oracle 数据库的备份和恢复工具,允许用户通过命令行或图形界面对数据库进行备份和恢复操作。

RMAN 备份格式是Oracle 推荐的备份方式,其通过将数据文件、归档日志和控制文件等组合到一起进行备份。

RMAN 的备份格式很灵活,可以按时间、文件、表空间等各种方式选择备份的范围。

此外,RMAN 还支持增量备份、全备份、差异备份等备份策略,以满足不同需求。

2. Cold备份格式Cold备份指在数据库关闭状态下进行的备份。

这种备份格式是通过拷贝数据文件和归档日志文件来实现的。

Cold备份需要在备份期间关闭数据库,因此会造成数据库停机时间较长。

但备份过程简单、可靠、稳定,并且可以用于备份整个数据库。

3. Hot备份格式Hot备份指在数据库运行状态下进行的备份。

这种备份格式主要用于在线备份数据库,可以避免数据库停机,但在备份过程中可能会有一些性能损耗。

ORACLE数据库数据泵备份与恢复

ORACLE数据库数据泵备份与恢复

ORACLE数据库数据泵备份与恢复EXPDP和IMPDP是服务端的⼯具程序,他们只能在ORACLE服务端使⽤,不能在客户端使⽤。

IMP只适⽤于EXP导出的⽂件,不适⽤于EXPDP导出⽂件;IMPDP只适⽤于EXPDP导出的⽂件,⽽不适⽤于EXP导出⽂件。

⼀、expdp和impdp的使⽤1.创建⽬录create directory DBBAK as '/bak'; #DBBAK名称可以随便命名需要⼿⼯创建/bak,并且此⽬录oracle⽤户有读取写⼊权限2.查看所有⽬录select * from dba_directories;3.给test⽤户赋予在指定⽬录的操作权限,最好⽤root⽤户赋予。

grant read,write on directory DBBAK to test;4.导出数据1)按⽤户导expdp test/test@orcl schemas=test dumpfile=expdp.dmp DIRECTORY=DBBAK logfile=expdp.log2)并⾏进程parallelexpdp test/test@orcl directory=DBBAK dumpfile=expdp1.dmp parallel=10 job_name=test13)按表名导expdp test/test@orcl TABLES=table01,table02 dumpfile=expdp2.dmp DIRECTORY=DBBAK;4)按查询条件导expdp test/test@orcl directory=DBBAK dumpfile=expdp4.dmp Tables=table01 query='WHERE id=001';5)按表空间导expdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test,USERS;6)导整个数据库expdp system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;5、创建表空间及⽤户create tablespace test datafile '+data/test/datafile/data01.dbf' size 32000M;alter tablespace test add datafile '+data2/test/datafile/users02.dbf' size 32000M;create user test identified by test default tablespace TEST temporary tablespace TEMP;grant connect,resource,dba to test;grant read,write on directory DBBAK to test;6、还原数据1)导到指定⽤户下impdp test1/test1@orcl DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=test logfile=impdp.log2)改变表的ownerimpdp system/system DIRECTORY=DBBAK DUMPFILE=expdp2.dmp TABLES=test.table01REMAP_SCHEMA=test1:table11;3)导⼊表空间impdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test;4)导⼊数据库impdb system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/system DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION7、查看数据是否⼀致select OBJECT_TYPE,COUNT(*) from all_objects where OWNER='TEST' group by OBJECT_TYPE;⼆、expdp详细参数可以通过 expdp help=y查看1.CONTENT 指定要导出的数据其中有效关键字为:(ALL), (默认)导出结构和数据DATA_ONLY:只导出数据METADATA_ONLY:只导出结构2.DIRECTORY 供转储⽂件和⽇志⽂件使⽤的⽬录对象3.DUMPFILE ⽬标转储⽂件 (expdat.dmp) 的列表例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.d4.INCLUDE 包括特定的对象类型例如 INCLUDE=PACKAGE,FUNCTION,PROCEDURE,TABLE:"='EMP'"5.EXCLUDE 排除特定的对象类型与INCLUDE相反6.TABLES 标识要导出的表的列表7.SCHEMAS 要导出的⽅案的列表可⽀持多个schemas=(user01,user02,user03)8.TABLESPACES 标识要导出的表空间的列表9.ATTACH 连接到现有作业, 例如 ATTACH [=作业名]PRESSIONALL :对导出的元数据和表数据都进⾏压缩,得到的导出⽂件是最⼩的,耗时也是最长的。

数据库第二次作业能使用Oracle的数据泵进行数据的备份和数据恢复。

数据库第二次作业能使用Oracle的数据泵进行数据的备份和数据恢复。

数据库第⼆次作业能使⽤Oracle的数据泵进⾏数据的备份和数据恢复。

实验要求:能使⽤Oracle 的数据泵进⾏数据的备份和数据恢复。

加深对Oracle 基本锁的类型以及封锁机制的理解,掌握监控Oracle 多粒度封锁机制的⽅法。

实验内容:⼀、使⽤数据泵进⾏数据逻辑备份和恢复⽤expdp 和impdp 使⽤程序,导出数据是将数据库中的数据导出到⼀个操作系统⽂件中(即导出⽂件中),导⼊数据是将导出⽂件中的数据导⼊到数据库中。

expdp 和impdp 都是服务器端的使⽤程序,只能在oracle 服务器端使⽤,不能在客户端使⽤。

⽽exp 和imp 是客户端实⽤程序,既可以在客户端使⽤,也可以在服务器端使⽤。

由于expdp 和impdp 的速度优于exp 和imp ,所以oracle 建议使⽤expdp 和impdp 。

步骤:1 、创建⽬录对象并授权使⽤expdp 和impdp 实⽤程序时,其导出⽂件只能存放在directory( ⽬录) 对象指定的OS (操作系统)⽬录中,⽽不能直接指定OS ⽬录。

⽬录对象是数据库中的⼀个对象,它是使⽤create directory 语句建⽴的对象,⽽不是操作系统中的某个⽬录,但它指向操作系统中的某个⽬录。

⽬录对象不是⽅案对象,它不属于某个⽤户,⽽是属于数据库。

a. 先在操作系统中创建两个⽬录,如e:\dump1 和e:\dump2 。

这两个⽬录都可以保存导出⽂件和⽇志⽂件。

b. SYS ⽤户创建两个directory 对象,如dirdp1 和dirdp2 ,⽤于指向这两个操作系统⽬录,并为运⾏expdp 和impdp 实⽤程序数据库⽤户,如SCOTT 和pf ⽤户授权使⽤这两个directory 对象的权限。

导出⽂件、⽇志⽂件就保存在dirdp1 和dirdp2 所指的操作系统⽬录中。

最后,可以从dba_directories 数据字典视图中查询所创建的directory 对象。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

--赋予expdp,impdp的权限
SQL> grant exp_full_database,imp_full_database to suSYSTEM
第一种方法表示将DEPT和EMP表导入到SCOTT方案中,第二种方法表示将DEPT和EMP表导入的SYSTEM
注意,如果要将表导入到其他方案中,必须指定REMAP SCHEMA选项.
2,导入方案
Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott
4) 导出scott下的存储过程
SQL> $expdp scott/tiger@sjzx directory=dir_dump dumpfile=scott.dmp logfile=scott.log include=procedure
5) 导出scott下以'E'开头的表
SQL> $expdp scott/tiger@sjzx directory=dir_dump dumpfile=scott.dmp logfile=scott.log INCLUDE=TABLE:"LIKE 'E%'" //可以改成NOT LIKE,就导出不以E开头的表
3,导入表空间
Impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01
4,导入数据库
Impdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y
.log tables=dept,emp;
3) 导出scott下除emp之外的表 (有错误)
SQL> $expdp scott/tiger@sjzx directory=dir_dump dumpfile=scott.dmp logfile=scott.log EXCLUDE=TABLE:"='EMP'"
SQL> $expdp system/123456@sjzx directory=dir_dump dumpfile=scott_full.dmp logfil
e=scott_full.log schemas=scott;
2) 导出scott下的dept,emp表
SQL> $expdp scott/tiger@sjzx directory=dir_dump dumpfile=scott.dmp logfile=scott
Impdp system/manage DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=scott.dept,scott.emp
REMAP_SCHEMA=SCOTT:SYSTEM
Impdp system/hirisun@orcl DIRECTORY=DMP_DIR DUMPFILE=hea1.dmp TABLES=scott.dept,scott.emp
首先得建DIRECTORY:
SQL> conn /as sysdba
SQL> CREATE OR REPLACE DIRECTORY dir_dump AS '/u01/bac kup/';
SQL> GRANT read,write ON DIRECTORY dir_dump TO public;
1) 导出scott整个schema
--默认导出登陆账号的schema
SQL> $expdp scott/tiger@sjzx directory=dir_dump dumpfile=scott_full.dmp logfile=scott_full.log;
--其他账号登陆, 在参数中指定schemas
Impdp system/manager DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott REMAP_SCHEMA=scott:system
impdp system/hirisun@orcl directory=dmp_dir dumpfile=hea1.dmp schemas=hea version=10.2.0.1.0
Oracle 10g使用数据泵(EXPDP和IMPDP)
1.expdp使用
使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录.因此使用EXPDP工具时,必须首先建立DIRECTORY对象.并且需要为数据库用户授予使用DIRECTORY对象权限.
6) 带QUERY导出
SQL> $expdp scott/tiger@sjzx directory=dir_dump dumpfile=scott.dmp logfile=scott.log tables=emp,dept query=emp:"where empno>=8000" query=dept:"where deptno>=10 and deptno<=40"
SQL> $expdp scott/tiger@sjzx directory=dir_dump dumpfiel=a.dmp Tables=emp query='WHERE deptno=20'
2.调用IMPDP
1、导入表
Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp
全库导出
$expdp system/sgdc_090816@dcods directory=dir_dcods dumpfile=dcods.dmp logfile=dcods.log full=y;
$expdp system/orcl5073@74 directory=dir_dump dumpfile=74.dmp full=y;
相关文档
最新文档