Oracle数据库逻辑备份方法exp-expdp
oracle数据库全库备份语句

oracle数据库全库备份语句Oracle数据库是一种关系型数据库管理系统,提供了全库备份的功能,可以用来备份整个数据库。
下面列举了10个不同的Oracle数据库全库备份语句。
1. 使用RMAN备份全库:使用RMAN工具备份整个Oracle数据库,可以使用以下命令:```RMAN> backup database;```2. 使用expdp备份全库:使用expdp工具备份整个Oracle数据库,可以使用以下命令:```expdp system/password@database_name full=Y directory=backup_dir dumpfile=full_backup.dmp logfile=full_backup.log;```3. 使用exp备份全库:使用exp工具备份整个Oracle数据库,可以使用以下命令:```exp system/password@database_name full=y file=full_backup.dmp log=full_backup.log;4. 使用Data Pump备份全库:使用Data Pump工具备份整个Oracle数据库,可以使用以下命令:```expdp system/password@database_name full=Y directory=backup_dir dumpfile=full_backup.dmp logfile=full_backup.log;```5. 使用RMAN增量备份全库:使用RMAN工具进行增量备份,可以使用以下命令:```RMAN> backup incremental level 1 cumulative database;```6. 使用expdp表空间备份:使用expdp工具备份指定表空间的数据,可以使用以下命令:```expdp system/password@database_name tablespaces=tablespace_name directory=backup_dir dumpfile=tablespace_backup.dmplogfile=tablespace_backup.log;7. 使用exp表空间备份:使用exp工具备份指定表空间的数据,可以使用以下命令:```exp system/password@database_name tablespaces=tablespace_name file=tablespace_backup.dmp log=tablespace_backup.log;```8. 使用RMAN备份控制文件和参数文件:使用RMAN工具备份控制文件和参数文件,可以使用以下命令:```RMAN> backup current controlfile;```9. 使用expdp备份指定用户的数据:使用expdp工具备份指定用户的数据,可以使用以下命令:```expdp system/password@database_name schemas=user_name directory=backup_dir dumpfile=user_backup.dmp logfile=user_backup.log;```10. 使用exp备份指定用户的数据:使用exp工具备份指定用户的数据,可以使用以下命令:```exp system/password@database_name owner=user_name file=user_backup.dmp log=user_backup.log;```以上是10个不同的Oracle数据库全库备份语句,可以根据实际需求选择合适的备份方式进行数据库备份。
ORACLE数据库有两类备份方法和ImpExp命令使用

ORACLE数据库有两类备份方法。
第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。
数据库逻辑备份方法ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份和完全备份。
逻辑备份,三种模式:表备份、用户备份和完全备份。
逻辑备份:imp/exp就相当于oracle数据还原与备份Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。
exp命令可以把数据从远程数据库服务器导出到本地的dmp文件。
imp命令可以把dmp文件从本地导入到远处的数据库服务器中。
利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,装了oracle数据库,但在dos壮态下执行exp/imp时,显示不是内部或外部命令,也不是可用的程序,不知道什么问题??没有设置oracle的系统环境变量,设置一下就ok:path=c:\oracle9\ora92\binDOS中可以执行时由于在oracle 8i 中安装目录ora81BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。
SQLPLUS.EXE 也可以调用IMP exp命令模块。
-------------------------------------Oracle Exp命令参数c:> exp -help 查看参数。
C:\Users\Ruibron>exp -helpExport: Release 11.1.0.6.0 - Production on 星期六9月6 19:27:50 2014Copyright (c) 1982, 2007, Oracle. All rights reserved.通过输入EXP 命令和您的用户名/口令, 导出操作将提示您输入参数:例如: EXP SCOTT/TIGER或者, 您也可以通过输入跟有各种参数的EXP 命令来控制导出的运行方式。
oracle数据库全库备份语句

oracle数据库全库备份语句Oracle数据库是一种关系型数据库管理系统,它可以用于存储和管理大量的结构化数据。
在进行数据库管理时,备份是非常重要的一项工作,它可以保护数据库免受数据丢失和系统故障的影响。
下面列举了十个Oracle数据库全库备份的语句,以供参考。
1. 使用RMAN进行全库备份:RMAN是Oracle提供的备份和恢复工具,可以通过以下命令进行全库备份:```RMAN> BACKUP DATABASE;```2. 使用EXPDP进行全库逻辑备份:EXPDP是Oracle提供的逻辑备份工具,可以通过以下命令进行全库备份:```expdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y; ```3. 使用IMPDP进行全库逻辑恢复:IMPDP是Oracle提供的逻辑恢复工具,可以通过以下命令进行全库恢复:```impdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y; ```4. 使用ALTER DATABASE进行全库备份:ALTER DATABASE命令可以备份整个数据库,可以通过以下命令进行全库备份:```SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/path/to/backup/controlfile.bkp';```5. 使用Data Pump进行全库备份:Data Pump是Oracle提供的数据导入导出工具,可以通过以下命令进行全库备份:```SQL> EXPDP system/password@database_nameDIRECTORY=data_pump_dir DUMPFILE=full_backup.dmp FULL=YES;```6. 使用RMAN进行全库增量备份:RMAN可以进行增量备份,只备份发生变化的数据,可以通过以下命令进行全库增量备份:```RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;```7. 使用EXP进行全库逻辑备份:EXP是Oracle提供的逻辑备份工具,可以通过以下命令进行全库备份:```exp system/password@database_name file=full_backup.dmp full=y;```8. 使用ALTER TABLESPACE进行表空间备份:可以通过ALTER TABLESPACE命令备份指定的表空间,可以通过以下命令进行表空间备份:```SQL> ALTER TABLESPACE tablespace_name BEGIN BACKUP;```9. 使用RMAN进行全库镜像备份:RMAN可以进行镜像备份,备份数据库的所有镜像拷贝,可以通过以下命令进行全库镜像备份:```RMAN> BACKUP AS COPY DATABASE;```10. 使用EXPDP进行全库逻辑备份,并压缩备份文件:可以通过以下命令进行全库逻辑备份,并对备份文件进行压缩:```expdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y compression=all;```以上是十个Oracle数据库全库备份的语句,可以根据实际需求选择其中一种或多种备份方式进行数据库的备份工作。
oracle数据库备份---备份和恢复(expimp,冷,热备份)汇总

oracle数据库备份---备份和恢复(exp/imp,冷,热备份二(2009-09-15 19:00:42 转载标签:电脑oraclesqlyes路径信息it 分类:数据库一,逻辑备份准备:ALTER TABLESPACE tablsspace_name(空间表名) READ ONLY将其设置为只读属性(READ WRITE-- -----进入管理员(system,sys. 打开cmd输入exp--进行数据导出(表,用户,、 2: 进入要导出表空间的用户wuquanyin kgddxsksk按着步骤导出 port: Release 10.1.0.2.0 - Production on 星 pyright (c 1982, 2004, Oracle. All right 户名: wuquanyin 令: 接到: Oracle Database 10g Enterprise Editi th the Partitioning, OLAP and Data Mining 入数组提取缓冲区大小: 4096 > 1024 导出文件: EXPDAT.DMP >f:\stud.dmp --------------------------------------------------------- 打开cmd输入imp--进行数据导入 1:ALTER TABLESPACE tablsspace_name(空间表名) READ write; 2:导入文件: EXPDAT.DMP> f:\student.dmp 输入插入缓冲区大小 (最小为 8192 30720>1024经由常规路径由 EXPORT:V10.01.00 创建的导出文件已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入只列出导入文件的内容 (yes/no: no > no 由于对象已存在, 忽略创建错误 (yes/no: no > yes 导入权限 (yes/no: yes > yes 导入表数据 (yes/no: yes > yes 导入整个导出文件 (yes/no: no > yes . 正在将 WUQUANYIN 的对象导入到 WUQUANYIN . . 正在导入表 "STUDENT"导入了 1 行 . . 正在导入表"STUDENT2"导入了 0 行/ --------------------------------------------------------------------------------------------- 二,Oracle数据库冷备份及恢复过程V$backup 不论何种方式,数据库的备份即为v$datafile/v$controlfile/$logfile此三种文件的备份 1,通过v$controlfile 查看控制文件, 2,通过v$logfile查看重做日志文件, 3,通过V$DATAFILE查看数据文件. 发现他们都处于同一文件夹中D:\oracle\product\10.1.0\oradata\oracle中,索性都复制到另一台机器的e:\oracle\product\10.1.0\oradata\oracle中,复制之前shutdown系统。
oracle----【EXPDP】使用EXPDP工具的 EXCLUDE选项过滤掉不关心的数据库对象

【EXPDP】使用EXPDP工具的EXCLUDE选项过滤掉不关心的数据库对象上一篇/ 下一篇2010-03-08 22:54:51 / 个人分类:备份与恢复查看( 952 )/ 评论( 2 ) / 评分( 5 / 0 )使用EXPDP逻辑备份工具的EXCLUDE选项可以指定那类数据库对象不被导出,EXPDP工具的前身EXP如果想要完成同样的任务非常的困难。
我们以排除部分表为例看一下这个选项带给我们的便利。
如果在命令行中完成备份,特殊字符的转义需要特别注意(我这里使用的是Linux操作系统)。
1.EXPDP帮助中的描述信息ora10g@secDB /expdp$ expdp -help……EXCLUDE Exclude specific object types, e.g.EXCLUDE=TABLE:EMP.……2.创建directory数据库对象,并将读写权限授予sec用户sys@ora10g> create or replace directory dump_dir as '/expdp'; Directory created.sys@ora10g> grant read,write on directory dump_dir to sec; Grant succeeded.3.确认操作系统信息ora10g@secDB /expdp$ uname -aLinux secDB 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux4.在sec用户下创建几张表用于后续的测试创建三张表T1、T2和T3,每张表中初始化一条数据sec@ora10g> create table t1 (x int);sec@ora10g> insert into t1 values (1);sec@ora10g> create table t2 (x int);sec@ora10g> insert into t2 values (2);sec@ora10g> create table t3 (x int);sec@ora10g> insert into t3 values (3);sec@ora10g> commit;5.为了与后面的比较,先全用户导出ora10g@secDB /expdp$ rm -f sec.dmp sec.logora10g@secDB /expdp$ expdp sec/sec directory=dump_dir dumpfile=sec.dmp logfile=sec.logExport: Release 10.2.0.3.0 - 64bit Production on Monday, 08 March, 2010 9:59:25Copyright (c) 2003, 2005, Oracle. All rights reserved.Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit ProductionWith the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine optionsStarting "SEC"."SYS_EXPORT_SCHEMA_01": sec/********directory=dump_dir dumpfile=sec.dmp logfile=sec.logEstimate in progress using BLOCKS method...Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATATotal estimation using BLOCKS method: 192 KBProcessing object type SCHEMA_EXPORT/USERProcessing object type SCHEMA_EXPORT/SYSTEM_GRANTProcessing object type SCHEMA_EXPORT/ROLE_GRANTProcessing object type SCHEMA_EXPORT/DEFAULT_ROLEProcessing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA Processing object type SCHEMA_EXPORT/TABLE/TABLEProcessing object type SCHEMA_EXPORT/TABLE/INDEX/INDEXProcessing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT Processing object typeSCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICSProcessing object type SCHEMA_EXPORT/TABLE/COMMENT. . exported "SEC"."T1" 4.914 KB 1 rows . . exported "SEC"."T2" 4.914 KB 1 rows . . exported "SEC"."T3" 4.914 KB 1 rows Master table "SEC"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded ********************************************************************* *********Dump file set for SEC.SYS_EXPORT_SCHEMA_01 is:/expdp/sec.dmpJob "SEC"."SYS_EXPORT_SCHEMA_01" successfully completed at 09:59:326.排除T1表进行备份ora10g@secDB /expdp$ rm -f sec.dmp sec.logora10g@secDB /expdp$ expdp sec/sec directory=dump_dir dumpfile=sec.dmp logfile=sec.logEXCLUDE=TABLE:\"IN\(\'T1\'\)\"Export: Release 10.2.0.3.0 - 64bit Production on Monday, 08 March, 2010 10:02:03Copyright (c) 2003, 2005, Oracle. All rights reserved.Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit ProductionWith the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine optionsStarting "SEC"."SYS_EXPORT_SCHEMA_01": sec/********directory=dump_dir dumpfile=sec.dmp logfile=sec.logEXCLUDE=TABLE:"IN('T1')"Estimate in progress using BLOCKS method...Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATATotal estimation using BLOCKS method: 128 KBProcessing object type SCHEMA_EXPORT/USERProcessing object type SCHEMA_EXPORT/SYSTEM_GRANTProcessing object type SCHEMA_EXPORT/ROLE_GRANTProcessing object type SCHEMA_EXPORT/DEFAULT_ROLEProcessing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA Processing object type SCHEMA_EXPORT/TABLE/TABLEProcessing object type SCHEMA_EXPORT/TABLE/INDEX/INDEXProcessing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT Processing object typeSCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICSProcessing object type SCHEMA_EXPORT/TABLE/COMMENT. . exported "SEC"."T2" 4.914 KB 1 rows . . exported "SEC"."T3" 4.914 KB 1 rows Master table "SEC"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded ********************************************************************* *********Dump file set for SEC.SYS_EXPORT_SCHEMA_01 is:/expdp/sec.dmpJob "SEC"."SYS_EXPORT_SCHEMA_01" successfully completed at 10:02:10排除表T1后T2和T3表被成功导出。
oracle用expdp定时备份所有步骤详解

oracle用expdp定时备份所有步骤详解
一连接数据库
输入命令:sqlplus system/123456@orcl如果设置过可以用sq登录
其中system是登录数据库的用户名
123456是用户名的密码
orcl是数据库实例名称
二.创建备份目录
创建oracle的备份目录:
sql>create directory dpdata1 as 'D:\temp\dmp';
这仅仅是在oracle里设定的目录,并没有真正创建
●可以通过这句命令查看到这个目录
sql>select * from dba_directories;
●赋于要导出数据表的所属用户权限
sql>grant read,write on directory dpdata1 to sshe;
三备份命令
首先,要切换回命令窗口,不要再在sql>下运行,切换到expdp所在位置,如“C:\Program Files\oracle\product\10.2.0\db_1\BIN”,然后输入命令:expdp system/123456@orcl directory=dpdata1 dumpfile=sshe.dmp logfile=sshe.log schemas=sshe
四.还原命令
其中directory 需要设置为备份文件的路径(create directory dpdata1 as 'D:\temp\dmp';)
impdp system/123456@orcl directory=dpdata1 dumpfile=SSHE.DMP logfile=sshe.log schemas=sshe。
oracle 1tb数据 备份方法

oracle 1tb数据备份方法
Oracle数据库备份的方法主要有三种:导出/导入、热备份和冷备份。
对于
1TB的数据,可以根据实际需求和场景选择合适的备份方法。
1. 导出/导入(逻辑备份):利用exp/expdp将数据从数据库中提取出来,利用imp/impdp将提取出来的数据导入回数据库中。
这种备份方式适用于数据迁移和数据量较小的情况,可以快速完成备份和恢复。
优点是可以执行对象或者行恢复,备份和恢复的速度快,能够跨操作系统平台迁移数据库,且数据库可一直运行。
2. 热备份:在数据库正在运行时进行数据备份的过程。
适用于24X7不间断运行的关键应用系统。
备份时数据库可以是打开的,热备份可以用来进行点恢复。
3. 冷备份:发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。
冷备份是将关键性文件拷贝到另外的位置的一种说法。
优点是能简单快速地备份和恢复,执行简单。
但必须关闭数据库,不能进行点恢复。
在选择备份方法时,需要考虑数据的重要性、备份时间和可用资源等因素。
另外,为了保证备份的可靠性和完整性,建议定期进行备份验证和恢复演练。
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 数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.3 调用Import
(1)输入命令 imp username/password PARFILE=filename (2)输入命令 exp username/password <parameters> (3)输入命令 imp username/password
第三章 导入导出与字符集
导入导出经常遇到的问题: (1)字符集 (2)版本
SKIP_UNUSABLE_INDEXES:是否跳过已被设为 不可用的索引。(N) TABLE:导入的表的列表 TABLESPACES: TOUSER:指定被导入的用户名列表 TRANSPORT_TABLESPACE: TTS_OWNERS:表空间导入时列出可传输表空 间中的数据的用户 USERID VOLSIZE
1.2.1
Export程序的参数
BUFFER:缓冲区大小 COMPRESS:(Y)是否合并压缩 CONSISTENT: (N)一致性 CONSTRAINTS:约束(Y) DIRECT:直接路径导出(N) FEEDBACK:点格式显示进度(0) FILE:导出文件名称。(expdat.dmp)
FILESIZE:导出文件最大字节数 FULL:是否在全数据库方式下导出(N) GRANTS:权限(Y) HELP:显示描述参数的帮助信息(N) INCTYPE:指定增量备份的类型 INDEXES:导出索引(Y) LOG:接收报告和错误消息的文件名 OWNER:用户导出方式 PARFILE:参数文件
QUERY:选择表的行的子集 RECORD:是否记录系统表(Y) RECORDLENGTH:文件记录长度 ROW:到出表数据的行(Y) STATISTICS:优化器统计类型(estimate) TABLES:表方式 TABLESPACES:表空间列表 TRANSPORT_TABLESPACE:表空间方式(N) USERID:用户名/密码 VOLSIZE:每卷磁带中导出文件的最大字节数
3.2 版本
可以跨版本的使用 EXP/IMP ,但必须正确地 使用EXP和IMP的版本: 使用IMP的版本匹配数据库的版本 使用EXP的版本匹配两个数据库中最低的版本 版本跨度不要大
Oracle数据泵expdp/impdp
数据泵技术是在Oracle10g及以上版本中使用的数据库备份与 恢复技术,是一种更自动化、智能化得数据库备份与恢复 工具。 数据泵技术的特点: 1.导入导出速度更快:因为在数据泵导入导出作业中可以启 动多个线程,所以可以并行的实现 作业,对于移动大数 据量,性能显著提高。 2.重启失败的作业:这个功能是传统的EXP/IMP程序无法实现 的,不论是数据泵导入导出作业 停止还是失败,都可以 很容易的重启作业。同时也支持手动停止或重启作业。 3.实时交互能力:在一个运行的数据泵作业中,可以从其他 屏幕或控制终端与当前数据泵作业 交互,以监控作业的 执行以及更改作业的某些参数。
Oracle数据泵技术特点-续
4.独立于客户机:因为数据泵技术是基于数据库服务器的, 它是数据库服务器的一部分,一旦 启动数据泵作业,则 与客户机无关。 5.支持网络操作:支持在两个联网的数据库服务器之间导入 和导出数据文件,也支持直接的将 数据从一个数据库导 入另一个数据库,而不需要备份文件。网络操作的方式基 于数据库连接 ,在数据库间直接移动数据的方法不需要 磁盘存储。 6.导入功能更加细粒度:在数据泵技术中,使用INCLUDE和 EXCLUDE参数使得数据泵实用程序可 以导入或导出更加 细粒度的对象,如可以选择只导出过程或函数等。 7.支持增量备份以及快速增量备份,使得备份的数据量减少 加快了备份速度。
1.4 直接路径导出
Export提供常规路径导出和直接路径导出两种方法 导出表数据。 常规路径导出使用sql select语句从表中提取数据。 直接路径导出中,数据从磁盘读到缓冲区高速缓存 中,行被直接传输到Export用户 直接路径导出提去数据比常规路径导出快
1.5 Export常见注意事项
跨网络传输导出文件 远程导出/导入 字符集 使用不同版本的Export
授权成功。
数据泵的目录对象(续)。
数据泵的目录对象(续)。
如果使用SYS用户可以直接创建数据泵目录。 SQL> create directory pump_dir as 'f:\pump'; 目录已创建。 我们创建了一目录。该目录可以给其他用户使用,但是必须将读、写该目录的权限赋予用 户,我们可以将该目录的读、写权赋予SCOTT用户,如下所示。
第二章 Import(导入)
Import程序将Export程序从一个Oracle数据库 中导出的数据插入到另一个Oracle数据库中 。Export导出的文件只能由Import读取。 建议在到入导已有表时,将引用完整性约束 使不能,在导入完成后重新是能该约束
2.1 导入方式
表方式 用户方式 全数据库方式 可传输的表空间方式
2.2 Import程序的参数
ANALYZE:导出文件中的sql analyze语句,或 装入导出时的优化统计。(Y) BUFFER: COMMIT:每组插入后是否提交(N) CONSTRAINTS: (Y) DATAFILES:在表空间导入时,制定要传输导 数据库的数据文件
DESTROY:数据库文件是否被重用(Y) FEEDBACK: (0) FILE : (expdat.dmp) FILESIZE:导出时指定导入时必须指定 FROMUSER:指定包含导入对象的模式列表 FULL: (N) GRANTS: (Y) HELP: (N) INNORE:如何处理对象建立错误(N)
SQL> grant read on directory pump_dir to scott;
授权成功。
数据泵导入导出操作实例:
1.导出整个数据库,我们使用SYSTEM用户登录数据库, 限制备份的数据文件的大小为100M,一旦备份数据文 件满,则自动创建一个新的备份文件,使用了替换变 量%U来实现备份文件的自动创建,其中NOLOGFILE=Y 即不记录备份过程。 F:\>expdp system/oracle@orcl dumpfile = pump_dir:mydb3_%u.dat filesize = 100m nologfile = y job_name =tom full = y。 2.导出一个模式 我们导出SCOTT模式,在下例中没有SCHEMA参数,但 是默认导出登录数据库时的模式对象。 D:\>expdp scott/tiger@orcl dumpfile=pump_dir:scottschema.dmp logfile =pump_dir:scottschema.log
数据泵的目录对象
数据泵的目所有的备份文件,而Oracle要求数据泵必 须使用目录对象,以防止用户误操作数据库服务器上特定目录下的操作 系统文件。目录对象对应于操作系统上的一个指定目录。 如果用户需要自己创建目录对象,需要具有CREATE ANY DIRECTORY权限,如 下所示,首先向SCOTT用户授权CREATE ANY DIRECTORY然后创建属于 SCOTT用户的数据泵目录对象。 授权过程: SQL> conn system/oracle@orcl 已连接。 SQL> grant create any directory to scott;
只需设置导出和导入端的客户端 NLS_LANG等于数据库字符集即可。
(2)源数据库和目标数据库字符集不同: 先将导出端客户端的NLS_LANG设置成和导 出端的数据库字符集一致,导出数据,然后 将导入端客户端的NLS_LANG设置成和导出 端一致,导入数据,这样转换发生在数据库 端,而且只发生一次。 只有当导入端数据库字符集为导出端数据库 字符集的严格超集时,数据才能完全导成功 ,否则,可能会有数据不一致或乱码出现。
表方式 用户方式 表空间方式 全数据库方式
1.2 使用Export
为了使用Export,在建立数据库后必须运行脚 本CATEXP.SQL或CATALOG.SQL。它们只需在 数据库上运行一次,在执行导出前不需重 新运行。 运行Export前,要确保有足够的磁盘或磁带存 储空间以写导出文件。若没有足够的空间 ,则发生写故障,Export中断。
数据泵导入导出操作实例:
3.导出特定的表,此时使用TABLES参数指定导入的表的列表,如果该表不 属于登录的用户,但是登录用户有访问这些表的权限,则在TABLES参数 的表必须使用schema.tablename的方式。 F:\>expdp system/oracle@orcl dumpfile = pump_dir:scott_tables_%u.dat tables=scott.emp,scott.dept nologfile=y job_name=only_scott 4.导出表空间,导出指定表空间使用TABESAPCES参数,如果有多个表空间 需要导出,表空间名使用逗号隔开,这里我们使用了PARALLEL参数,指 定数据导出并行线程数量,与之对应使用替换变量%U来创建相应数量 的备份数据文件,这样每个线程可以独立写一个备份数据文件,提高了 导出速度。 D:\>expdp system/oracle@orcl dumpfile=pump_dir:users_tbs_%u.dmp tablespaces=users filesize=100m parallel=2 logfile=users_tbs.log job_name =exp_users_tbs
3.1 字符集
导出使用的字符集将会记录在导出文件中, 当文件导入时,将会检查导出时使用的字 符集设置。如果不同于导入客户端的 NLS_LANG设置,字符集将根据导入客户端 NLS_LANG设置进行转换。
通常在导出时最好把客户端字符集设置得和 数据库端相同。
两种情况
当进行数据导入时,主要存在以下两种情 况: (1)源数据库和目标数据库具有相同的字 符集: