Linux操作系统上用数据泵导库
1、在Linux上 创建物理目录dp_dir,存放数据库.dmp文件;
用root用户登录,切换到oracle用户,用oralce身份创建物理目录如下:
[root@server36 oracle]# su - oracle
[oracle@server36 ~]$ mkdir /home/oracle/dp_dir
将数据库文件备份到 /home/oracle/dp_dir下,方法:可以用WinSCP远程登录主机后,.DMP文件拖拽到目录下,但显示该.DMP文件的所有者是root,所属组是root;故需要更换文件所属用户、所属组,如下:
切换到root用户:
[root@server36 /]# cd /home/oracle/dp_dir
[root@server36 dp_dir]# ls -l
?昏. 2489816
-rw-r--r-- 1 oracle oinstall 28352512 05-08 09:33 EFMIS_23_YANSHI_201505080906.dmp
-rwxr-xr-x 1 oracle oinstall 29253632 05-11 09:06 EFMIS_23_YANSHI_201505110900.dmp
-rw-r--r-- 1 root root 95219712 05-11 15:35 hqoatest_20150511.dmp
-rw-r--r-- 1 oracle oinstall 436692 05-08 09:58 imp_EFMIS_23_YANSHI_201505080906.log
-rw-r--r-- 1 oracle oinstall 107675 05-08 09:45 imp_EFMIS_ZY_201505080910.log
-rw-r--r-- 1 oracle oinstall 464659 05-11 17:17 import.log
[root@server36 dp_dir]# chown oracle hqoatest_20150511.dmp /*更换.dmp文件所属用户*/
[root@server36 dp_dir]# ls -l
-rw-r--r-- 1 oracle root 95219712 05-11 15:35 hqoatest_20150511.dmp
[root@server36 dp_dir]# chgrp oinstall hqoatest_20150511.dmp /*更换.dmp文件所属用户组*/
[root@server36 dp_dir]# ls -l
-rw-r--r-- 1 oracle oinstall 95219712 05-11 15:35 hqoatest_20150511.dmp
[root@server36 dp_dir]# chmod +x hqoatest_20150511.dmp /*对.dmp文件添加可执行权限*/
[root@server36 dp_dir]# ls -l
-rwxr-xr-x 1 oracle oinstall 95219712 05-11 15:35 hqoatest_20150511.dmp
2、创建数据库逻辑目录dp_dir
数据库目录只允许sys创建,普通用户使用时,必须被授权,才可使用;
假设dyl用户是导入导出用户;
[root@server36 dp_dir]# su - oracle
[oracle@server36 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Mon May 11 17:34:11 2015
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>select * from dba_directories; /*查询逻辑目录*/
SQL> create directory dp_dir as '/home/oracle/dp_dir'; /*创建数据库逻辑目录*/
Directory created.
3、创建新用户,并对新用户附可执行.dmp文件权限;
SQL>create user dyl identified by 1; /*创建新用户,密码为1*/
User created.
SQL> grant read,write on directory dp_dir to dyl; /*对用户dyl附加对目录dp_dir可读可执行的权限,用system身份附权限*/
Grant succeeded.
4、数据泵导出数据
1)按用户导
expdp system/manager schemas=scott DIRECTORY=dpdata dumpfile=expdp.dmp ;
2)并行进程parallel
expdp system/manager directory=dpdata dumpfile=scott3.dmp parallel=40 job_name=scott3
3)按表名导
expdp system/manager TABLES=emp,dept directory=dpdata dumpfile=expdp.dmp;
4)按查询条件导
expdp system/manager directory=dpdata dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
5)按表空间导
expdp system/manager DIRECTORY=dpdata DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
6)导整个数据库
expdp system/manager DIRECTORY=dpdata DUMPFILE=full.dmp FULL=y;
5、还原数据
1)导到指定用户下
impdp system/manager DIRECTORY=dpdata DUMPFILE=expdp.dmp SCHEMAS=scott;
2)改变表的owner
impdp system/manager DIRECTORY=dpdata DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)导入表空间
impdp system/manager DIRECTORY=dpdata DUMPFILE=tablespace.dmp TABLESPACES=example;
4)导入数据库
impdb system/manager DIRECTORY=dpdata DUMPFILE=full.dmp FULL=y;
5)追加数据
impdp system/manager DIRECTORY=dpdata DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION=append;
6)并行命令
从oss_scap_83(db_link名)导出scap用户,然后导入到本地数据库上scap用户上
impdp system/oracle NETWORK_LINK=oss_scap_83 directory=dpdata SCHEMAS=scap job_name=expdmp parallel=4
附:
不同用户不同表空间下的导入操作:
impdp 用户名/密码 directory='您创建的目录的名称' dumpfile='导出的文件名称'
remap_schema=导出的用户名称:要导入的用户名称 remap_tablespace=导出的表空间名称:要导入的表空间名称
例如:
[oracle@server36 ~]$ impdp system/oracle@XXX.XXX.XX.XXX/service_name directory=dp_dir remap_schema= EFMIS_23_YANSHI:efmis_23_20150511 dumpfile=EFMIS_23_YANSHI_201505110900.dmp
remap_schema=导出的用户:预备导入的用户
service_name:一般是orcl,可查询:select instance_name from v$instance;
Linux操作系统上用数据泵导库的更多相关文章
- Linux操作系统上要慎用的6个命令及防范方法
Linux操作系统上要慎用的6个命令及防范方法 基于Linux平台工作的童鞋都知道Linux命令行使用起来非常高效和快捷,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候(别笑,别以为自己真的 ...
- 通过轻量级终端工具Tera Term远程向linux操作系统上传war文件
通过轻量级终端工具Tera Term远程向linux操作系统上传war文件 1.打开Tera Term终端工具,并输入正确的远程机器的IP地址以及端口号: 2.输入正确的用户名和密码进入到linux操 ...
- 如何将.Net Core应用程序部署在Linux操作系统上运行
.Net Core简介 跨平台: 可以在 Windows.macOS 和 Linux 操作系统上运行. 跨体系结构保持一致: 在多个体系结构(包括 x64.x86 和 ARM)上以相同的行为运行代码. ...
- 用rsync备份一台linux服务器上的数据
rsync是安装完linux后都会自带的,在机器上运行rsync命令看是否有安装即可 备份到远程服务器 这里介绍的rsync的用途是备份一台linux服务器上的数据到另外一台机器 环境 将需要备份机器 ...
- 在linux操作系统上进行简单的C语言源码的gcc编译实验
尝试在linux上用gcc 而非封装完好的codeblocks,vs等ide 来编译c和cpp源程序 首先查看我的gcc版本,我的是VM centos 自带的,没有的话得自行安装,安装上gcc就可以在 ...
- Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)
Apache-->hadoop的官网文档命令学习:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS Shell 调用文件系统( ...
- MongoDB导出与导入远程Linux服务器上的数据
场景 将远程服务器A上的MongoDB数据库test下的集合people导入到服务器B数据库test的集合people_test下. 简单方案 先将A服务器数据导出,然后再执行导入到B服务器. 下面的 ...
- mysql 开发进阶篇系列 22 磁盘I/O问题(从linux操作系统上优化)
1. 使用Symbolic Links分布I/O mysql的数据库名和表名是与文件系统的目录名和文件名对应的,默认情况下,创建的数据库和表都存放在参数datadir定义的目录下.如果不使用RAID或 ...
- oracle数据泵备份与恢复库
假如 导出库的用户名是tiger,密码是1 导入到用户名是scott,密码是1 备份库 expdp tiger/1@orcl dumpfile=expdp.dmp DIRECTORY=dpdata ...
随机推荐
- SQL server 复习一
第一天 下面我们从最基础的开始: 在运行里面输入:services.msc 一.启动服务 二.数据库登录的两种身份验证方式 另外一种身份验证方式就是SQL Server身份验证. sa不能使用的时候可 ...
- 最长不下降子序列//序列dp
最长不下降子序列 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数第二行n个数 输出格式 最长不下降 ...
- oracle触发器详解(转)
触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 8.1 触发器类型 触发器在数据库里以独立的对象存储,它与存储过 ...
- lintcode:strStr 字符串查找
题目: 字符串查找 字符串查找(又称查找子字符串),是字符串操作中一个很有用的函数.你的任务是实现这个函数. 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source ...
- lintcode:1-10题
难度系数排序,容易题1-10题: Cosine Similarity new Fizz Buzz O(1)检测2的幂次 x的平方根 不同的路径 不同的路径 II 两个字符串是变位词 两个 ...
- Java并发:Callable、Future和FutureTask
Java并发编程:Callable.Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口. 这2种方式都有一 ...
- QT5删除隐藏目录+隐藏文件(使用Process::start函数调用系统命令,且等待到结束)
1.功能需求 删除一个目录(包括目录本身),同时删除该目录中所有文件及目录(含隐藏的) 2.遇到的问题 qt5中已经有了递归删除目录的函数--->bool QDir::removeRecursi ...
- JAVA+ Proxool+ SQLserver 2008 “signer information does not match signer information of other classes in the same package”
1. Proxool+SQLserver2008(sqljdbc4.jar)集成问题最近在项目中遇到个问题:我用的是Proxool连接池,连接SQLserver2008数据库,控制台报错:签名信息和同 ...
- Android 自定义Android带图片和文字的ImageButton
经过分析,上述按钮效果实际上就是一个布局,一个最简单不过的垂直线性布局,上部分是一个ImageView,下部分是一个TextView,这个布局可点击.可设置监听. 我们首先要编写自己的ImageBut ...
- 使用 Async 和 Await 的异步编程
来自:http://msdn.microsoft.com/library/vstudio/hh191443 异步对可能起阻止作用的活动(例如,应用程序访问 Web 时)至关重要. 对 Web 资源 ...