资讯动态

Linux系统OracleMysql数据库导入导出

发布时间:2026/8/8 22:07:00 来源:尧图企业网站定制
目录Oracle数据库导入导出一. expdp/impdp 使用二. 导出实例1. 检查导出目录2. 导出数据库文件3. 传输数据库文件三. 导入实例1. 数据库文件处理2. 数据库文件导入Mysql数据库导入导出一. 脚本说明二. 导出实例三. 导入实例在Linux服务器上做数据库的导入导出Oracle与Mysql两种数据库对比而言Mysql的数据导入导出会简单很多。Oracle数据库导入导出一. expdp/impdp 使用expdp/impdp导入导出的运行命令基础相似这里就以对比形式进行对常用属性做部分说明expdpimpdpexpdp 用户名/密码IP/数据库实例 [导出属性]impdp 用户名/密码IP/数据库实例 [导入属性]用户/密码为数据库用户密码IP不写默认本地地址数据库实例为数据库TNS中的SERVICE_NAMEdirectoryDATA_PUMP_DIR导入导出的逻辑目录可默认使用Oracle现有的也可在oracle中自定义创建但需给目录授权用户读写权限dumpfilexx.dmp导入导出的数据文件的名称schemasuser_name指定用户如果有dblink则不是本数据库用户network_linkdb_ldblink参数对于导入时这个参数会限制导入的部分参数配置expdp的常用参数impdp常用参数tablespacesusers使用tablespaces参数导出users表空间内所有的对象tablespacesusers导入对应表空间users内所有对象logfileexpdp.log导出日志文件默认为expdp.loglogfileimpdp.log导入日志文件默认为impdp.logexcludeview排除视图excludeindex:like %TEMP%排除含TEMP索引excludetable:\ IN \(\TABLE1\,\TABLE2\\)\排除多张表includesequence导序列include object_type[:name_expr]object_type用于指定要排除/包含的对象类型,name_expr用于指定要排除/包含的具体对象.exclude和include不能同时使TABBLE_EXISTS_ACTION{SKIP | APPEND | TRUNCATE | REPLACE }该选项用于指定当表已经存在时导入作业要执行的操作,默认为SKIPqueryuser.temp :where col1 1 and col2 0query导出查询得到的结果集REUSE_DATAFIELS{Y | N}该选项指定建立表空间时是否覆盖已存在的数据文件.默认为N二. 导出实例1. 检查导出目录Xshell连接数据库服务器后登录进入oracle用户su - oracle登入sqlplus查看是否存在导出文件目录DATA_PUMP_DIRselect * from dba_directories;注意如果没有或不用现有dpdump目录需要进入sqlplus创建对应的导出目录并给目录授权如下a. 创建expdp备份目录create directory home as /home/oracle/backup;b. 对备份目录赋予读写权限grant read,write on directory home to user;2. 导出数据库文件退出sqlplus按表空间tbs_perm_hap导出数据库文件expdp user/password数据库实例 tablespacestbs_xx dumpfiletbs_2021042314.dmp directoryDATA_PUMP_DIR;导出成功3. 传输数据库文件将导出的数据库文件传输到目标服务器指定目录需切换到root用户scp /home/app/oracle/admin/数据库实例/dpdump/tbs_2021042314.dmp root目标服务器IP:/home/app/oracle/admin/数据库实例/dpdump/三. 导入实例1. 数据库文件处理Root用户登陆服务器查看传输进来的数据库文件cd /home/app/oracle/admin/数据库实例/dpdump/给文件赋予777权限chmod 777 tbs_2021042314.dmp2. 数据库文件导入切换用户切换到Oracle用户su – oracle删除表空间因为是数据库文件导入有些存在结构表、索引无法执行会被跳过所以需要先删掉表空间。1. 将表空间置为offlinealter tablespace tbs_xx offline;2. 将磁盘上的表空间数据文件一同删除drop tablespace tbs_xx including contents and datafiles;创建表空间1. 查看数据位置select * from dba_data_files;2. 创建命令create tablespace tbs_xx datafile /home/app/oracle/oradata/数据库实例/tbsxx.dbf SIZE 8G autoextend on extent management local segment space management auto;注意创建表空间后可以同时查看下数据库的密码过期校验一般密码会默认180天后过期要到期时会出现次报错ORA-28002: the password will expire within 7 daysSELECT * FROM dba_profiles s WHERE s.profile DEFAULT AND s.resource_name PASSMORD_LIFE_TINE;这时可以通过以下命令去掉密码有效期校验命令ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;数据文件导入1. 退出sqlplusexit;2. 执行导入命令impdp user/passwork数据库实例 tablespacestbs_xx dumpfiletbs_2021042314.dmp directoryDATA_PUMP_DIR;3. 出现以下图则导入成功Mysql数据库导入导出Mysql的导入导出是以实例进行操作的所以在进行导入导出操作前需要保证目标数据库的数据库实例与源数据库导出数据库实例一致。一. 脚本说明导出脚本mysqldump -h 172.0.0.1 -u root -p h_db /u01/20210423.sql参数说明-h 后面跟的是来源数据库服务器IP-u 后面跟的是数据库账号-p 后面跟的是数据库密码未写将在回车后输入h_db指的是数据库实例 后面跟的是文件导出文件路径导入脚本source execute.sql;execute.sql为sql文件具体路径二. 导出实例从来源数据库导出脚本SQLmysqldump -h 172.0.0.1 -u root -p h_db /u01/backup/20200701.sql将脚本移动到目标服务器scp /u01/backup/20200701.sql root172.0.0.2:/u01/uat_cover_dev_v/三. 导入实例mysql -uroot -p(登录数据库)use h_db;(选择数据库实例)source /u01/uat_cover_dev_v/20200701.sql;(执行脚本mysql的执行命令要以;结尾)

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价