学做沪江网站要多久,个人建站流程详解,网站数据链接怎么做,网站改版 新闻文章目录 前言一、什么是dmp#xff1f;二、imp/impdp、exp/expdp对比及示例1.区别2.imp/impdp对比及示例a. impb. impbp 3.exp/expdp对比及示例a. expb.expdp 3.其他事项 三、执行导入导出前置条件1.创建角色并授权2.创建目录映射 前言
在工作中#xff0c;经常会遇到需要备… 文章目录 前言一、什么是dmp二、imp/impdp、exp/expdp对比及示例1.区别2.imp/impdp对比及示例a. impb. impbp 3.exp/expdp对比及示例a. expb.expdp 3.其他事项 三、执行导入导出前置条件1.创建角色并授权2.创建目录映射 前言
在工作中经常会遇到需要备份库库表迁移的场景对于oracle会使用dmp文件进行数据迁移和备份。基于一次迁移数据库的经历整理记录dmp相关知识点供后续工作参考使用。 一、什么是dmp
● dmp是Data Pump的缩写它是Oracle独有的一种数据导入导出文件格式。.dmp文件是一种数据库导出文件的扩展名通常用于存储数据库中的表、数据、视图等对象的结构和内容。是一种特定数据库系统的二进制信息因此不能直接用文本编辑器打开。
●.dmp文件一般包含数据定义语言(DDL)和数据操作语言(DML)。具体来说DDL是用来定义数据库对象例如表、视图、用户等等DML则是用来操作这些对象例如插入、删除、更新数据等。常用来进行数据库迁移或者备份操作。
●其他数据库也有类似备份文件比如MySQL数据库使用.sql文件或者.dump文件来表示数据库导出文件而SQL Server数据库使用.bak文件来表示备份文件。
二、imp/impdp、exp/expdp对比及示例 imp/expOracle导入导出实用程序是使用传统的导出技术而impdp/expdp数据泵导入实用程序是使用Oracle Data Pump技术。Data Pump是Oracle在10g版本中引入的高性能、可扩展的导入导出工具即 Oracle 10g 之前的版本不可以使用 impdp/expdp。 1.区别
●imp和exp是传统的导入和导出工具而impdp和expdp是数据泵工具采用了新的架构和方法。
●imp和exp是基于基于二进制文件的而impdp和expdp则是使用数据泵作业来执行数据移动操作可以提供更高的性能和扩展性。
●imp和exp不支持在分布式环境中执行而impdp和expdp可以在分布式环境中执行。
●数据泵通常指的是一种高性能的数据导入和导出工具用于在数据库系统中进行快速的数据迁移和加载操作。数据泵工具能够提供比传统的导入导出工具更快速、更灵活的数据传输方式通常支持并行处理、大容量数据传输和高性能加载等特点。
2.imp/impdp对比及示例 a. imp 可通过 imp helpy 命令查询相关参数 imp常用参数说明,可以根据需要指定不同的参数来控制导入的方式和内容。
参数使用说明TOUSER指定要导入数据的用户名。FROMUSER指定导入数据来自的用户名。FILE指定要导入的文件路径和名称。例如FILE/path/to/import.dmp。IGNORE指定是否忽略导入过程中遇到的错误。可以是Y或N。INDEXES指定是否导入索引。可以是Y或N。ROWS控制是否导入表中的行数据。可以是Y或N。DATA_ONLY指定只导入数据不包括对象定义。可以是Y或N。IGNORECASE指定导入时是否忽略大小写。可以是Y或N。FULL指定导入前先删除现有对象。可以是Y或N。LOG指定导入操作的日志文件路径和名称。例如LOG/path/to/import.log。BUFFER指定读取导入文件时的缓冲区大小。REMAP_SCHEMA指定要将导入的对象映射到的新模式名。REMAP_TABLESPACE指定要将导入的表空间映射到的新表空间名。TABLES指定要导入的特定表。举例IMP SCOTT/TIGER IGNOREY TABLES(EMP,DEPT) FULLNor TABLES(T1:P1,T1:P2) 表分区可用
命令格式
imp 用户名/密码数据库实例 FILE导入文件的路径.dmp FROMUSER源用户名 TOUSER目标用户名命令示例
--windows环境下
imp username/passwordSERVICENAME:1521 filee:\temp.dmp rowsy
logE:/test/dmp/kf_workflow_0512.log full y;
-linux环境路径进行替换b. impbp 可通过 impbp helpy 命令查询相关参数 impbp常用参数说明,可以根据需要指定不同的参数来控制导入的方式和内容。
参数使用说明ATTACH指定是否附加到正在运行的 impdp 作业。DIRECTORY指定导入和导出文件所在的目录对象。DUMPFILE指定要导入的数据泵文件名。REMAP_DATAFILE指定要将源数据文件映射到的目标数据文件。REMAP_SCHEMA指定要将源模式映射到的目标模式。REMAP_TABLESPACE指定要将源表空间映射到的目标表空间。TABLE_EXISTS_ACTION对于已存在的表指定要采取的操作SKIP、APPEND、TRUNCATE、REPLACE。TRANSFORM指定要应用的数据转换选项。CONTENT指定要导入的对象类型ALL、DATA_ONLY、METADATA_ONLY。PARALLEL指定并行执行导入作业的程度。LOGFILE指定导入操作的日志文件名。INCLUDE/EXCLUDE指定要导入或排除的对象。QUERY指定导入时使用的查询条件。For example, QUERYemployees:“WHERE department_id 10”.
命令格式
--命令参考
impdp 用户名/密码数据库实例 DIRECTORY目录名称 DUMPFILE导入文件的名称.dmp REMAP_SCHEMA源用户名:目标用户名
--举例
impdp user/passwordSID DIRECTORYDMPDATA DUMPFILEfileName.dmp remap_tablespaceum_dev:um remap_schemau_um_dev:u_um
参数说明
user/passwordSID 用户名/用户密码数据库实例directorydmpdata 导入的目录DMPDATA为数据库虚拟路径参考目录三中的目录映射即导入dmpdata下的文件也就是’/data/u01/dmpdata/dumpfilefilename.dmp 导入的文件名结合上面的 directorydmpdata 就将’/data/u01/dmpdata/filename.dmp’;导入目标服务器需要注意大小写remap_tablespaceum_dev:um-----um_dev导出表空间 um导入表空间remap_schemau_um_dev:u_um ---- u_um_dev导出用户 u_um导入用户。
命令示例
impdp kf_gs_workflow_0604/agfmisdev directoryDUMP_DIR DUMPFILEGSU_WORKFLOW_20240604.dmp LOGFILEGSU_WORKFLOW_20240604.log REMAP_SCHEMAGSU_WORKFLOW:kf_gs_workflow_0604 REMAP_TABLESPACEGRP:USERS3.exp/expdp对比及示例 a. exp 可通过 exp helpy 命令查询相关参数 imp常用参数说明,可以根据需要指定不同的参数来控制导入的方式和内容。
参数使用说明TABLES指定要导出的表格。例如TABLEStable1,table2。FILE指定导出文件的路径和名称。例如FILE/path/to/export.dmp。LOG指定导出过程的日志文件路径和名称。例如LOG/path/to/export.log。QUERY指定要导出数据的查询条件。例如QUERY“ SELECT * FROM TABLE WHERE column_name‘value’”。ROWS控制是否导入表中的行数据。可以是Y或N。STATISTICS指定是否导出统计信息。可以是ALL、ESTIMATE或NONE。GRANTS指定是否导出对象的授权信息。可以是Y、N或FULL。CONSISTENT指定是否导出一致性视图。可以是Y或N。INDEXES指定是否导出索引。可以是Y或N。COMPRESS指定是否压缩导出文件。可以是Y或N。
命令格式
exp username/password[database] FILE[导出文件路径] TABLES[要导出的表名]命令示例
--完全导出
exp user/passwordSID fileE:/test/dmp/kf_workflow_0512.dmp fully--导出A、B表
exp user/passwordSID file E:/test/dmp/kf_workflow_0512.dmp tables(A,B)
b.expdp 可通过 expdp helpy 命令查询相关参数 imp常用参数说明,可以根据需要指定不同的参数来控制导入的方式和内容。
参数使用说明SCHEMAS指定要导出的模式名。例如SCHEMASschema1,schema2。INCLUDE指定要包括的对象类型。例如INCLUDETABLE,VIEW将只导出表和视图。EXCLUDE指定要排除的对象类型。例如EXCLUDEINDEX将排除索引的导出。DIRECTORY指定导出文件的目录对象。例如DIRECTORYdatapump_dir。DUMPFILE指定导出文件的名称。例如DUMPFILEexport.dmp。LOGFILE指定导出操作的日志文件名称。例如LOGFILEexport.log。PARALLEL指定并行导出的进程数。DIRECTORY指定导出文件的目录对象。例如DIRECTORYdatapump_dir。COMPRESSION指定导出文件是否压缩。可以是ALL、DATA_ONLY、METADATA_ONLY或NONE。CONTENT指定导出内容。可以是ALL、DATA_ONLY、METADATA_ONLY或METADATA_ONLY_EXCLUDING_DATA。QUERY指定导出的数据查询条件。例如QUERY“WHERE column_name‘value’”。FILESIZE指定导出文件的最大文件大小。JOB_NAME指定导出作业的名称。VERSION给定系统版本号的对象。例如VERSIONSCNSCN为版本号。
命令格式
expdp 用户名/密码数据库实例 DIRECTORY目录名称 DUMPFILE导出文件名.dmp EXCLUDETABLE:IN (table1,table2) INCLUDETABLE:IN (EMPLOYEES, DEPARTMENTS) FULLY命令示例
--按用户导
expdp user/passwordSID schemasu_mom_um dumpfileexpdp.dmp directorydmp logfileexpdlog.log;--按表名导
expdp user/passwordSID tablestest1,test2 dumpfileexpdp.dmp directorydmp logfileexpdlog.log;--按查询条件导
expdp user/passwordSID directorydmp dumpfileexpdp.dmp Tablestest queryWHERE id20 logfileexpdlog.log;--按表空间导
expdp user/passwordSID directorydmp dumpfileexpdp.dmp TABLESPACES{#表空间1},{#表空间2} logfileexpdlog.log;--导整个库
expdp user/passwordSID directorydmp dumpfileexpdp.dmp FULLy logfileexpdlog.log;具体命令示例
--按照表空间导
expdp user/passwordSID directoryDMPDATA dumpfiletbs2022.dmp TABLESPACEStbs logfileexpdlog.log;--用EXCLUDE、INCLUDE时对应的符号需要进行转译
expdp GSU_ELEMENT/yth2023 schemasGSU_ELEMENT dumpfileGSU_ELEMENT_20240604.dmp EXCLUDETABLE:\IN\(\GFM_TB_RESULT\,\GAP_PAYEE_ACCOUNT\\)\ directoryGSZX logfileGSU_ELEMENT_20240604.log
3.其他事项
在执行导入导出时需要进入oracle去执行。
--linux
su oracle ;--到这就可执行导入导出
sqlplus / as sysdba;--windows:
win rcmdenter; --到这可执行导入导出
sqlplus 用户名/口令数据库名 as sysdba在执行导入、导出的命令时可通过nohup来执行nohup是一个在Unix和类Unix操作系统上用来忽略HUP挂起信号并运行命令的实用程序。通过使用nohup您可以使命令在后台运行即使当前Shell终端窗口关闭也能继续运行。使用exp 导出文件需要使用imp导入数据泵类型需要一致。用EXCLUDE、INCLUDE时对应的符号需要进行转译;
三、执行导入导出前置条件 如果数据库用户已经存在并有相关目录跳过此步骤。 1.创建角色并授权
--创建角色
create user orcl identified by orclorcl;--授权
grant dba ,connect ,resource ,select any table,create view to orcl;--查看用户创建情况
select * from all_users;2.创建目录映射 CREATE DIRECTORY my_dir AS /path/to/directory;查询现有目录是否满足条件
select * from DBA_DIRECTORIES;创建文件夹
--linux
mkdir /data/u01/dmpdata--windows下自行创建文件记下目录文件夹创建后给oracle用户授权
chown -R oracle /data/u01/dmpdata数据库里执行SQL创建导入/导出目录(目录映射)
--目录对象在数据库中注册并映射到实际物理目录的路径。
create or replace directory DMPDATA as /data/u01/dmpdata;为建立的目录赋权限须要以其余用户运行建议在sys用户下执行
grant read,write on directory DMPDATA to {#用户名};