Oracle DMP备份文件使用数据泵expdp/impdp导出导入dmp文件

news/2024/11/16 13:28:02/

Oracle DMP备份文件使用数据泵expdp/impdp导出导入dmp文件

  • 1:expdp导出操作
  • 2:impdp导入操作
  • 3:impdp导入踩坑
    • 3.1:ORA-01653 错误解决方案
    • 3.2:ORA-39171: Job is experiencing a resumable wait
    • 3.3:oracle impdp时卡死Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
  • 4:Linux命令scp--远程拷贝文件
    • scp介绍
    • 如何使用

1:expdp导出操作

0、数据库登陆
plsql 使用sys账号,as sysdba身份登录orcl实例;
1、查询有哪些操作目录
select * from dba_directories;2、创建操作目录,可以使用该已创建好的目录或创建新目录(此次我们创建新目录)
2.1、在指定目录下创建dump_dir文件夹(数据泵导出存放的路径)
2.2、用系统管理员登录数据库,在SQL执行器中执行如下命令
create directory dump_dir as '/home/oracle/data/expdpfile'; 
并查看是否创建成功(执行12.3、检查该目录及其目录下文件是否为oracle用户及其用户组,如图所示

温馨提示:只要按照步骤进行操作,一般这一步都是没问题的(此处防止以root用户创建目录或上传dmp文件,导致后面无法进行导入)
在这里插入图片描述
在这里插入图片描述

若不是,为其修改所属用户及用户组
chown -R oracle:oinstall /home/oracle/data/expdpfile;3、将该目录的使用权限赋给用户,执行如下命令(SQL执行器执行)
3.1、赋值给wind用户
grant read,write on directory dump_dir to wind;4、导出数据(切换到数据泵存放的路径下,执行cmd命令行如下)
4.1、导出wind数据
expdp wind/123456@192.168.0.01:1521/orcl directory=dump_dir file=COSPACE.dmp schemas=wind
4.2、指定某表导出数据
expdp wind/wind@192.168.0.01:1521/orcl directory= dump_dir file=cbondpricesnet.dmp tables= wind.cbondpricesnet logfile=cbondpricesnet.log

2:impdp导入操作

结合导出步

0、数据库登陆
plsql 使用sys账号,as sysdba身份登录orcl实例;
1、查询有哪些操作目录
select * from dba_directories;2、在被导入的数据库创建操作目录
2.1、在指定目录下创建dump_dir文件夹(将数据泵文件都放到此目录(e:\dump))
2.2、用系统管理员登录数据库,在SQL执行器中执行如下命令
create directory dump_dir as '/home/oracle/imp_dir'; 3、用户赋权(sql执行器中执行如下命令)
3.1、赋权给指定用户(例如:wind)
grant connect,resource,dba to wind;4、执行导入数据(切换到数据泵存放的路径下,执行cmd命令行如下)
4.1、普通执行命令
impdp wind/123456@192.168.0.01:1521/orcl directory=dump_dir dumpfile=test.dmp
4.2、复杂执行
链接: https://blog.csdn.net/zhengwei125/article/details/53670656
remap_tablespace=WIND:WIND        原来表空间:新的表空间
remap_schema=WIND:WIND            原来的schema:现在的schema
transform=segment_attributes:n       去掉表空间和存储子句,加上这个参数后,remap_tablespace参数就会失效,就会倒进用户默认的表空间impdp wind/wind@192.168.0.01:1521/orcl directory=dump_dir dumpfile=cbondprices.dmp remap_tablespace=WIND:WIND   remap_schema=WIND:WIND table_exists_action=replace transform=segment_attributes:n logfile=cbondprices.log

3:impdp导入踩坑

3.1:ORA-01653 错误解决方案

ORA-01653 无法在表空间扩展的解决办法 -- 增加表空间大小或给表空间增加数据文件
当前系统的数据量越来越大的,昨天还运行正常的数据库,突然无法使用了。经过定位发现是"ORA-01653 " 即表空间满了,在这里简单记录下处理办法,长期来看oracle是顶不住了,需要尽快切到hadoop的HBase里存储数据
--查询表空间使用情况---
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;--查看表空间是否具有自动扩展的能力
SELECT T.TABLESPACE_NAME,D.FILE_NAME,
D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS
FROM DBA_TABLESPACES T,DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME
ORDER BY TABLESPACE_NAME,FILE_NAME;--修改表空间文件扩展方式:
ALTER DATABASE
DATAFILE '/u01/Oracle/oradata/orcl/ccen01.dbf' AUTOEXTEND
ON NEXT 50M MAXSIZE UNLIMITED增加表空间大小的四种方法Meathod1:给表空间增加数据文件ALTER TABLESPACE app_data ADD DATAFILE 
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;Meathod2:新增数据文件,并且允许数据文件自动增长ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;Meathod3:允许已存在的数据文件自动增长ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;Meathod4:手工改变已存在数据文件的大小ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF'
RESIZE 100M;参考:
http://www.linuxidc.com/Linux/2011-08/39834.htm
http://www.2cto.com/database/201109/103101.html

3.2:ORA-39171: Job is experiencing a resumable wait

select * from dba_datapump_jobs;SELECT owner_name, job_name, rtrim(operation) "OPERATION",
rtrim(job_mode) "JOB_MODE", state, attached_sessions
FROM dba_datapump_jobs
WHERE job_name NOT LIKE 'BIN$%'
ORDER BY 1,2;

运行结果:
在这里插入图片描述
在这里插入图片描述
正在运行的job无法删掉,我的解决办法是重启数据库,重新导入,可能不是最好的方式,希望各位朋友又能解决的请留言
参考链接:https://blog.csdn.net/giveupyou/article/details/84690117

3.3:oracle impdp时卡死Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX

今天在用impdp导入时,Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX卡在建索引的过程一直不动,也不报错,重试了好几遍还是这样。一般看日志没有报错请耐心等待,纸质成功或报错。后来恍然大悟,是不是DB出什么问题了,查看alert日志,发现这个错误:
statement in resumable session 'SYSTEM.SYS_IMPORT_SCHEMA_03.1' was timed out  
statement in resumable session 'SYSTEM.SYS_IMPORT_SCHEMA_03.1' was suspended due to  
ORA-01659: unable to allocate MINEXTENTS beyond 2 in tablespace TBS_FALABELLA 
原来是空间不足,加大空间后,重试,OK!
快速找到oracle的alert日志方法:
1、进入到sqlplus接口
$sqlplus '/as sysdba'
注意:使用角色sysdba
2、查询alter日志目录
show parameter dump

在这里插入图片描述
在这里插入图片描述

4:Linux命令scp–远程拷贝文件

scp介绍

scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令。
有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。

如何使用

// 假设远程服务器IP地址为 192.168.1.100
1.从服务器复制文件到本地:scp root@192.168.1.100:/data/test.txt /home/myfile/
补充:多文件拷贝
scp root@192.168.1.100:/data/\{test1.txt,test2.cpp,test3.bin,test.*\} /home/myfile/
root@192.168.1.100   root是目标服务器(有你需要拷贝文件的服务器)的用户名,192.168.1.100是IP地址,后面紧跟的 “:” 不要忘记,/data/test.txt(多文件还有test1.txt,test2.cpp,test3.bin,test.a,test.c等) 是目标服务器中你要拷贝文件的地址,接一个空格,后面的 /home/myfile/ 是本地接收文件的地址。2.从服务器复制文件夹到本地:scp -r root@192.168.1.100:/data/ /home/myfile/
只需在前面加 -r 即可,就可以拷贝整个文件夹。3.从本地复制文件到服务器:scp /home/myfile/test.txt root@192.168.1.100:/data/
补充:多文件拷贝
scp /home/myfile/test1.txt test2.cpp test3.bin test.* root@192.168.1.100:/data/4.从本地复制文件夹到服务器:scp -r /home/myfile/ root@192.168.1.100:/data/

http://www.ppmy.cn/news/438300.html

相关文章

dmp(dump)转储文件

文章目录 简介打开方式生成dmp文件方法任务管理器Windbg下载 & 安装打开软件打开生成的dmp文件查看数据:!analyze -v查看所有线程:~*kbn Adplus 简介 dmp文件(dump文件):系统错误内存转储文件,可以把转…

Typora常用快捷键

目录 1. 标题 2. 文字和字段 3. 列表 4. 引用 5. 表格 6. 代码块 1. 标题 格式: #空格文字回车, #个数对应几级标题 或 ctrl数字 2. 文字和字段 粗体: 文字左右增加**或ctrlb 斜体: 文字左右增加*或ctrli 突出: 文字左右增加 下划线: ctrlu 分割线: ---回车 3. 列表…

签到中奖一部颈部按摩仪

今天在CSDN手机app上日常签到,今天算算是第60天签到了,然后弹出了下面的信息: 然后我楞了一下, 才意识到自己中奖了。于是联系CSDN客服,填写了快递信息。 开心!坐等按摩椅! 感谢CSDN&#xff01…

【69元】茗振 捶打按摩披肩100种模式 颈肩颈椎按摩器 腰部敲敲乐

购买产品链接请点击“阅读原文” https://yao.jk.cn/index.html#/yao-item/323758/0?channelCodeduojin&promoCodeMERCENARY5279360301

颈部按摩仪语音提示ic,挡位真人语音播报提示IC芯片,唯创WT588F

随着现代生活节奏的加快,越来越多的人开始意识到身体健康的重要性。其中,颈部按摩仪作为一种常用的健康产品,备受关注。然而,在使用颈部按摩仪时,往往需要频繁地切换挡位,调整按摩力度,这对于一…

物联网毕业设计 - 基于stm32单片机的放松按摩仪

⭐️基于stm32单片机的放松按摩仪⭐️ stm32单片机RT-Thread物联网操作系统NTC温度采集模块碳钎维板热敷模块气囊按摩模块 源码: https://blog.csdn.net/m0_71369066/article/details/126415022

智能颈部按摩仪——5.档位切换实现

1、档位实现原理 按摩仪共设置15个档位,可以控制按摩的力度,通过BOOST升压电路实现。 通过P8口产生PWM波,调节PWM输出的正占空比来实现升压,详细的硬件原理可参考硬件部分关于升压原理的介绍,具体数值如下&#xff1…

两款护颈仪(颈舒)拆机一探

A款图: 1、充电接口: USB Type-C。 2、充电IC: TC4056A (兼容TP4056 ) 1A锂电池充电IC芯片贴片8脚SOP-8。 3、功放,主控 等芯片都被打磨看不清。 4、发热采用 PI电热膜 柔性聚酰亚胺加热膜 B款图: 1、充电接口&am…