oracle数据备份与还原Word文档格式.docx
- 文档编号:19924557
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:12
- 大小:28.02KB
oracle数据备份与还原Word文档格式.docx
《oracle数据备份与还原Word文档格式.docx》由会员分享,可在线阅读,更多相关《oracle数据备份与还原Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
因为数据泵技术是基于数据库服务器的,它是数据库服务器的一部分,一旦启动数据泵作业,则与客户机无关。
☐支持网络操作:
支持在两个联网的数据库服务器之间导入和导出数据文件,也支持直接的将数据从一个数据库导入另一个数据库,而不需要备份文件。
网络操作的方式基于数据库连接,在数据库间直接移动数据的方法不需要磁盘存储。
导入功能更加细粒度:
在数据泵技术中,使用INCLUDE和EXCLUDE参数使得数据泵实用程序可以导入或导出更加细粒度的对象,如可以选择只导出过程或函数等。
☐数据泵导入导出的目录对象
✓数据泵作业在数据库服务器上创建所有的备份文件,而Oracle要求数据泵必须使用目录对象,以防止用户误操作数据库服务器上特定目录下的操作系统文件。
目录对象对应于操作系统上的一个指定目录。
✓如果当前用户是DBA用户,可以使用默认的目录对象而不必再创建数据泵操作的工作目录。
此时,数据泵作业会将备份文件、日志文件以及SQL文件存储在该目录下,我们使用如下指令查找该默认目录。
SQL>
select*
2fromdba_directories
3wheredirectory_name='
DATA_PUMP_DIR'
;
OWNERDIRECTORY_NAMEDIRECTORY_PATH
-------------------------------------------------
SYSDATA_PUMP_DIRF:
\app\Administraor\admin\orcl\dpdump\
☐不具备目录对象时的错误提示
D:
\expdpscott/tiger@orcl
Export:
Release11.1.0.6.0-Productionon星期四,278月,200918:
45:
08
Copyright(c)1982,2007,Oracle.Allrightsreserved.
连接到:
OracleDatabase11gEnterpriseEditionRelease11.1.0.6.0-Production
WiththePartitioning,OLAPandDataMiningoptions
ORA-39002:
操作无效
ORA-39070:
无法打开日志文件。
ORA-39145:
必须指定目录对象参数且不能为空
☐用户创建自己数据泵备份目录的步骤,以SCOTT用户创建目录对象为例:
1.向SCOTT用户授权
SQL>
connsystem/oracle@orcl
已连接。
grantcreateanydirectorytoscott;
2.创建目录
connscott/tiger@orcl
已连接。
createdirectoryscott_pump_diras‘d:
/scottpumpdir’;
☐数据泵导出(EXPDP)概述及参数含义
☐数据泵导出EXPDP类似于传统的EXP实用程序导出数据,使用EXPDP允许挂起和恢复作业,并且实现与正在运行的作业交互,可以从正在运行的导出作业中分离,也支持从失败或终止的作业中重启。
☐使用EXPDP使得导出是对象选择的粒度更细,并提供并行处理,使用多个数据流导出数据,允许控制导出操作使用的线程数,EXPDP支持两种数据访问方法,即使用外部表和直接路径访问方法。
使用外部表允许数据库服务器从操作系统文件中读取数据,而直接路径方法使用直接路径API,它很好的改善了导出导入的性能,因为其内部流的数据格式和存储在备份文件中的数据格式相同,减少了数据转换的时间。
☐EXPDP提供了三种提取数据的方法,一是只提取数据库中的元数据即数据库对象的定义,二是只提取数据库中的数据而忽略数据库对象的定义,三是同时提取数据库中的元数据和数据。
☐EXPDP实用程序参数。
D:
\>
expdphelp=y
✓ATTACH:
说明EXPDP附加到一个正在运行的现有的EXPDP作业。
方式为ATTACH=JOB_NAME;
✓CONTENT:
说明要导出的数据是元数据还是数据,或者包括元数据和数据,选项包括ALL、DATA_ONLY和METADATA_ONLY。
✓DIRECTORY:
说明要导出的备份文件,日志文件和SQL文件的存储目录,此时必须事先创建该目录对象,当然可以将其他用户创建的目录对象赋予该当前用户。
否则无法启动EXPDP程序。
✓DUMPFILE:
导出的备份文件的文件名,格式为FILENAME.DMP。
✓ESTIMATE:
计算EXPDP导出作业的导出文件的大小,选项包括基于BLOCKS或者基于STATISTICS,其中BLOCKS基于数据库块大小的倍数计算备份文件大小,而基于STATISTICS使用当前对象的统计量来计算到导出的备份文件的大小。
✓ESTIMATE_ONLY:
在EXPDP没有实际地导出作业时估计导出文件的大小,该参数的值为Y或N。
✓EXCLUDE:
排除不需要导出的特定对象类型,如EXCLUDE=TABLE:
DEPT,对于任何不导出的对象,也不会导出与它有依赖关系的对象,如不导出表,也不会导出和表相关的任何索引、过程和约束等。
✓FLASHBACK_SCN:
允许在导出数据库时使用数据库闪回特性,此时EXPDP使用规定的SCN进行闪回。
✓FULL:
说明是否导出整个数据库对象,如果该参数为Y,说明导出数据库的所有对象。
✓INCLUDE:
说明要导出的特定对象类型,此时会导出该参数指定的对象和与它们有依赖关系的对象。
✓JOB_NAME:
为了便于管理运行的EXPDP作业设置当前作业的名字。
系统默认的命名格式为sys_operation_mode_nn。
如导出SCOTT用户的元数据,此时的作业名字为"
SCOTT"
."
SYS_EXPORT_SCHEMA_01"
。
✓LOGFILE:
说明在导出操作时记录导出过程的日志文件名,其默认名为export.log,和导出文件保存在相同的目录下,即directory参数指定的目录。
✓PARALLEL:
说明在导出作业时最大的线程数,实现导出作业的并行处理。
也可以在作业运行总使用ATTACH改变并行度,PARALLEL参数的默认值为1,表示使用单线程导出单独个备份文件,如果设置多个工作线程,则要指定相同数量的备份文件,这样多个线程可以同时写多个备份文件。
给出一个例子,设置并行度为2。
✓QUERY:
允许使用SQL语句程序过滤导出的数据,在Oracle11g中,允许使用表名限定SQL语句,使得SQL语句适用于特定的表,如下所示。
QUERY=SCOTT.EMP:
”WHERESAL>
3000”。
说明表EMP中工资SAL大于3000的表被导出。
✓SCHEMAS:
说明要导出数据的模式,该模式列表可以有多个,使用逗号隔开,如果登录的用户不是导出数据的模式,则登录用户必须拥有exp_full_database的权限。
✓STATUS:
该参数在给定的时间间隔内给出作业的状态,该参数以秒为单位,默认值为0。
✓TABLES:
说明要导出数据库表的列表,此时也会导出与表有依赖关系的对象。
✓TABLESPACES:
说明要导出的数据库表空间的列表,同时会导出其他表空间中这些表空间中的表有依赖关系的所有对象。
✓VERSION:
说明要导出的数据库对象到特定版本的数据库。
该参数很好的解决了数据库的对象从高版本迁移到低版本的数据库过程中的版本兼容问题。
☐交互式参数
✓ADD_FILE:
向导出备份文件集中增加文件以增加目录空间。
如在一个作业运行期间输入CTRL+C组合键切换到交互式导出提示EXPORT>
如果该作业因为备份文件的空间不足导致停止,可以使用ADD_FILE命令增加文件到导出目录中。
Export>
add_file=data_dump_dir:
expdata02.dmp;
✓STOP_JOB:
停止运行的数据泵作业,数据库服务器端的导出数据服务器进程终止。
✓START_JOB:
重新恢复由于某种意外导致停止的数据泵作业。
✓KILL_JOB:
杀死客户机进程和数据泵作业(服务器进程)。
✓CONTINUE_CLIENT:
退出交互方式(EXPORT方式)恢复正在运行地导出数据泵作业,实际的数据泵作业不受影响。
✓EXIT_CLIENT:
停止交互式会话并终止客户机会话,但是实际的数据泵作业不受影响,此时用户可以在当前窗口中继续其他操作
☐数据泵导出(EXPDP)数据库实例
✓导出整个数据库,我们使用SYSTEM用户登录数据库,限制备份的数据文件的大小为100M,一旦备份数据文件满,则自动创建一个新的备份文件,使用了替换变量%U来实现备份文件的自动创建,其中NOLOGFILE=Y即不记录备份过程。
例子25-23使用EXPDP导出整个数据库
F:
expdpsystem/oracle@orcldumpfile=pump_dir:
mydb3_%u.datfilesize=100mnologfile=y
job_name=tomfull=y
✓导出一个模式
我们导出SCOTT模式,在下例中没有SCHEMA参数,但是默认导出登数据库时的模式对象。
例子25-24使用EXPDP导出一个SCOTT模式。
expdpscott/tiger@orcldirectory=pump_dirdumpfile=scottschema.dmplogfile=scottschema.log;
☐数据泵导出(EXPDP)数据库实例
✓导出特定的表,此时使用TABLES参数指定导入的表的列表,如果该表不属于登录的用户,但是登录用户有访问这些表的权限,则在TABLES参数的表必须使用schema.tablename的方式。
例子25-25使用EXPDP导入特定的表。
scott_tables_%u.dat
tables=scott.emp,scott.deptnologfile=yjob_name=only_scott
✓导出表空间,导出指定表空间使用TABESAPCES参数,如果有多个表空间需要导出,表空间名使用逗号隔开,这里我们使用了PARALLEL参数,指定数据导出并行线程数量,与之对应使用替换变量%U来创建相应数量的备份数据文件,这样每个线程可以独立写一个备份数据文件,提高了导出速度。
例子25-26使用EXPDP导出指定的表空间。
expdpsystem/oracle@orcldumpfile=pump_dir:
users_tbs_%u.dmptablespaces=users
filesize=100mparallel=2logfile=users_tbs.logjob_name=exp_users_tbs
✓只导出数据,使用EXPDP的CONTENT参数,可以指定导出表数据和元数据(对应参数ALL),导出表行数据(对应参数DATA_ONLY)或只导出元数据即表以及其他数据库对象的定义(对应参数METADATA_ONLY)。
例子25-27使用EXPDP只导出数据行。
expdpsystem/oracle@orcldumpfile=pump_dir:
mydb_dataonly_%u.datfilesize=100m
job_name=larryfull=ycontent=data_onlylogfile=pump_dir:
mydb_exp_dataonly_log
☐使用参数文件
使用参数文件:
在使用EXPDP导出数据时,由于参数很多导致每次执行备份都输入一长串指令,这样不但繁琐而且不易修改,Oracle的数据泵技术允许使用参数文件,用户事先在参数文件中创建各种参数,保存该文件为praname.par文件,然后在执行导出时使用参数PARFILE指定参数文件的位置执行导出备份,这样就不用输入一长串参数指令。
首先我们建立参数文件如下:
directory=pump_dir
dumpfile=para_data_only_%u.dmp
content=data_only
exclude=table:
"
in('
salgrade'
'
bonus'
)"
logfile=para_data_only.log
filesize=50m
parallel=2
job_name=para_data_only
✓保存在文件EXP.PAR内,然后在使用EXPDP备份数据时,可以使用该参数文件,如下所示。
expdpscott/tiger@orclparfile=exp.par
使用参数PARFILE说明参数文件的位置必须说明绝对路径。
☐估计空间导出文件的空间大小,EXPDP使用参数ESTIMATE_ONLY计算导出数据所需要的存储空间,显然这是个有用的参数,在导出的数据大小不清楚时,事先知道备份文件的大小,可以提前分配磁盘空间,防止由于磁盘空间不足而引起的EXPDP导出作业停止。
✓使用EXPDP导出数据时只计算导出作业所需要的空间。
f:
expdpsystem/oracle@orclfull=yestimate_only=yestimate=statisticsnologfile=y
☐数据泵导入(IMPDP)概述及参数含义
☐Oracle数据泵导入实用程序(IMPDP)将备份的数据导入到整个数据库、特定的模式、特定的表或者特定的表空间,使用IMPDP也可以在不同平台的数据库之间迁移表空间。
IMPDP实用程序通过各种参数支持对数据过滤以及对元数据的过滤,而元数据的过滤可以有效控制要导入的对象类型,如导入表、索引还是授权等等。
使用数据泵导入实用程序与数据泵导出实用程序一样可以使用DIRECTORY、PARFILE、DUMPFILE和LOGFILE等参数,但是正如ADD_FILE是数据泵导出EXPDP实用程序专有的一样,SQLFILE参数也是数据泵导入IMPDP实用程序所专有的。
在执行数据泵导入作业时,往往需要从备份数据文件中途提取DDL语句,此时需要使用SQLFILE。
☐数据泵导入参数
(1)目录和文件相关参数
说明备份文件、日志文件和SQL文件的目录对象,如果没有定义目录,则会使用PUMP_DIR的默认值。
说明备份文件名,如导入数据时需要多个备份文件,则用逗号分隔这些文件名,在DUMPFILE参数后可以使用包括目录,如DUMFILE=PUMP_DIR:
BACKUP.DMP,也可以使用替换变量(%U)告诉IMPDP可以使用多个备份文件。
如DUMPFILE=PUMP_DIR:
BACKUP_%U.DMP。
✓PARFILE:
说明参数文件,IMPDP使用外部定义一个参数文件执行导入行为,该参数文件是本地的,使用时需要告诉IMPDP参数文件的绝对位置。
如
✓D:
\IMPDPSYSTEM/ORACLE@ORCLPARFILE=D:
\PAR\EXP.PAR
说明使用日志文件保存导入过程的信息,该参数的值是日志文件的名字名,如LOGFILE=MYLOG.LOG。
✓NOLOGFILE:
说明不使用日志文件记录导入过程,如NOLOGFILE=Y。
✓SQLFILE:
说明从备份文件中提取SQL的DDL语句,并写入该参数设置的文件中,如SQLFILE=MYSQLFILE.SQL。
该文件默认保存在DIRECTORY参数设置的目录对象中。
☐
(2)过滤参数
说明要导入的特定对象,如只导入表,此时会导入和导入特定对象有依赖关系的对象如索引、触发器等。
下面是使用INCLUDE参数的例子,说明只允许导入表对象,且只有两个表可以导入。
INCLUDE=TABLE:
"
IN(‘EMP’,’DEPT’)"
也可以使用QUERY参数过滤要导入的表数据,此时数据泵导入作业使用外部表数据方法访问数据,而不是采用直接路径方法。
如下所示。
QUERY=EMP:
WHEREsal>
3000ORDERBYsal"
✓TABLE_EXITS_ACTION:
该参数说明当导入的表已经存在时,IMPDP导入程序的行为,参数TABLE_EXITS_ACTION有四个值,SKIP表示如果该表存在则跳过该表,它是默认值;
APPEND将导入的数据行附加到当前存在的表中;
TRUNCATE截断表并从导入数据文件中重新装载数据;
REPLACE删除存在的表然后重建该表并导入数据。
在导入操作中排除特定的元数据,如不导入特定的表,此时也不会导入和排除对象有依赖关系的其他对象。
如下所示告诉IMPDP程序不导入表EMP和DEPT。
(3)导入作业参数
说明导入作业名,IMPDP提供了很多可管理性如停止作业和恢复作业,附加(ATTACH)到特定的作业,都需要作业名来关联导入作业。
✓PRALLEL:
说明当前导入作业的线程数。
该值的默认值为1。
监视导入作业的状态频率,该参数的默认值为0
(4)导入方式参数
说明允许导入指定的表,如果有多个表使用逗号分隔开,同时也导入与这些表有依赖关系的对象,如索引、触发器和函数等。
说明要导入的模式列表,要使用该参数登录数据库的用户必须拥有imp_full_database的权限。
说明要导入的表空间的列表,在导入这些表空间的同时也要求导入与表空间有依赖关系的所有数据库对象。
FULL:
说明要导入整个数据库。
该参数的默认值为n。
(5)重新映射参数
重新映射使得在数据导入过程中将数据从一个数据库对象移动到另一个数据库对象,可以映射模式,映射数据文件和映射表空间,映射可以理解为“数据对象移动”。
✓REMAP_SCHEMA:
重新映射模式,可以将对象从一个模式移动到另一个模式,
impdpsystem/oracle@orcldumpfile=pump_dir:
SHCEMA_SCOTT.DMP
remap_schema=scott:
linzi
上例将SCOTT模式下的所有数据库对象移动到LINZI模式下,这样使用LINZI模式登录数据库,就可以使用SCOTT用户的所有数据库对象。
我们通过下例验证重映射模式的结果。
✓REMAP_DATAFILE:
在导入数据时,重新定义数据文件的名称和目录。
\impdpsystem/oracle@orcldirectory=pump_dirdumpfile=backup_full.dmpremap_datafile='
c:
\mydb.dbf'
:
'
d:
\mydb\newdb.dbf
✓REMAP_TABLESPACE:
重映射表空间使得将数据对象从一个表空间移动到另一个表空间。
\impdpsystem/oracle@orclremap_tablespace='
users'
mynewusers'
directory=pump_dirdumpfile=backup_full.dmp
(6)转换参数
✓TRANSFORM:
该参数说明在导入数据泵作业时可以选择导入某个对象的存储参数或其他属性值,如导入表时,不导入该表的存储属性等。
☐TRANSFORM参数的语法如下所示:
TRANSFORM=transform_name:
value[:
object_type]
☐下面我们介绍各个部分:
1、transform_name:
转换名由四个选项组成,代表四种基本的对象特征。
其中SEGMENT_ATTRIBUTES段属性包括物理属性、存储参数、表空间等,该参数的值为Y或N,如果选择SETMENT_ATTRIBUTES=Y则说明导入作业包括对象的这些属性;
STORAGE存储属性说明是否导入对象的存储属性,如果STORAGE=Y说明对象的存储属性作为导入作业的一部分。
OID说明是否分配新的OID给对象表。
PCTSPACE:
提供一个正数值,可以增加对象的分配尺寸。
2、value:
转换名的值中前三个值即SEGMENT_ATTRIBUTES、STORAGE和OID默认值为Y,说明默认数据泵导入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 数据 备份 还原