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

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

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

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';

并查看是否创建成功(执行1)

2.3、检查该目录是否为oracle用户及其用户组,如图所示

58e6dfcc4cbf2625c558dcc2f9dc36a2.png

若不是,为其修改所属用户及用户组

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@orcl directory=dump_dir file=COSPACE.dmp schemas=wind

4.2、指定某表导出数据

expdp wind/wind@oracle 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 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 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导入踩坑

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

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;

运行结果:

50bd5025b1996a030bd45da293597edd.png

fe74ea0128fe4f29c41dd4d2bfa23174.png

正在运行的job无法删掉,我的解决办法是重启数据库,重新导入,可能不是最好的方式,希望各位朋友又能解决的请留言

参考链接:https://blog.csdn.net/giveupyou/article/details/84690117

今天在用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

d94c73f0e72475a5173559396174e64a.png

278c27754398ba8ad37c7b50dba13362.png

4:Linux命令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/

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值