Linux操作系统上用数据泵导库

1、在Linux上 创建物理目录dp_dir,存放数据库.dmp文件;

用root用户登录,切换到oracle用户,用oralce身份创建物理目录如下:

[[email protected] oracle]# su - oracle

[[email protected] ~]$ mkdir /home/oracle/dp_dir

将数据库文件备份到 /home/oracle/dp_dir下,方法:可以用WinSCP远程登录主机后,.DMP文件拖拽到目录下,但显示该.DMP文件的所有者是root,所属组是root;故需要更换文件所属用户、所属组,如下:

切换到root用户:

[[email protected] /]# cd  /home/oracle/dp_dir

[[email protected] 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
[[email protected] dp_dir]# chown oracle hqoatest_20150511.dmp    /*更换.dmp文件所属用户*/

[[email protected] dp_dir]# ls -l

-rw-r--r-- 1 oracle root       95219712 05-11 15:35 hqoatest_20150511.dmp

[[email protected] dp_dir]# chgrp oinstall hqoatest_20150511.dmp    /*更换.dmp文件所属用户组*/

[[email protected] dp_dir]# ls -l

-rw-r--r-- 1 oracle oinstall   95219712 05-11 15:35 hqoatest_20150511.dmp

[[email protected] dp_dir]# chmod +x hqoatest_20150511.dmp    /*对.dmp文件添加可执行权限*/

[[email protected] dp_dir]# ls -l

-rwxr-xr-x 1 oracle oinstall   95219712 05-11 15:35 hqoatest_20150511.dmp

2、创建数据库逻辑目录dp_dir

数据库目录只允许sys创建,普通用户使用时,必须被授权,才可使用;

假设dyl用户是导入导出用户;

[[email protected] dp_dir]# su - oracle
[[email protected] ~]$ 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=导出的表空间名称:要导入的表空间名称

例如:

[[email protected] ~]$ impdp system/[email protected]/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;

时间: 2024-10-17 07:35:09

Linux操作系统上用数据泵导库的相关文章

Linux操作系统上要慎用的6个命令及防范方法

Linux操作系统上要慎用的6个命令及防范方法 基于Linux平台工作的童鞋都知道Linux命令行使用起来非常高效和快捷,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候(别笑,别以为自己真的知道自己想干啥).各大互联网公司因为在后台执行命令不慎导致数据库被删除和服务宕机的事情屡见不鲜,本文就给大家介绍一下Linux下比较危险的命令,引以为戒,在使用的时候一定要万分小心! rm -rf命令 把这个命令放到第一个,是因为它有不少故事,你懂的.rm -rf命令是删除整个文件夹最快的方式之一.

如何将.Net Core应用程序部署在Linux操作系统上运行

.Net Core简介 跨平台: 可以在 Windows.macOS 和 Linux 操作系统上运行. 跨体系结构保持一致: 在多个体系结构(包括 x64.x86 和 ARM)上以相同的行为运行代码. 命令行工具: 包括可用于本地开发和持续集成方案中的易于使用的命令行工具. 部署灵活: 可以包含在应用或已安装的并行(用户或系统范围安装)中. 可搭配 Docker 容器使用. 兼容性: .NET Core 通过 .NET Standard与 .NET Framework.Xamarin 和 Mon

Oracle 数据泵导数据(expdp,impdp)

目录:一.冷备份导数注意事项二.数据泵导数注意事项 一.冷备份导数注意事项    1.冷备恢复步骤:       a.关闭源库       b.从源库传输数据文件.控制文件.pfile.日志文件到目标库,并赋予oracle用户权限       c.从目标库打开传送过来的pfile,修改实例名.控制文件路径.dump(adump.bdump...)类文件夹路径       d.启动数据库到mount,rename数据文件和日志文件路径       e.启动数据库到open状态       f.配置

Linux操作系统上安装JDK

步骤1:下载JDK 1.7 安装包 JDK 1.7 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 在下载过程中,需要注意两点: 1:注意操作系统版本,以及32位还是64位操作系统.如下所示,Linux 分x86.x64两种, Product / File Description File Size Download Linux x86 80.38 MB jdk-7u

Oracle数据库分别在Windows/Linux环境下普通/数据泵方式导入/导出示例

1 Linux普通导出/入 1.1 终端下导出 exp naricom/[email protected]/SGTMS owner='('mw_app,mw_sys,statdba,dictdba')' file=/orabackup/SGTMS_201408131200.dmp log= /orabackup/SGTMS_201408131200.Log  buffer=80000000 1.2 终端下导入 imp naricom/[email protected] fromuser=(MW_

Linux环境下Oracle数据泵(expdp)备份报ORA-39006: internal error

问题描述: Oracle一直用数据泵备份,今天在终端备份时突然报ORA-39006: internal error错误. 数据泵导出日志文件为以下信息: ORA-39097: Data Pump job encountered unexpected error -31644 ORA-39065: unexpected master process exception in FILE ORA-31644: unable to position to block number 2 in dump f

oracle 数据库备份脚本(数据泵1-全库)

#!/bin/sh# ################################################################### Powered by Ironfo# ################################################################### Oracle Environment settings ORACLE_BASE=/u01/app/oracle; export ORACLE_BASEORACLE_HO

Linux操作系统上安装Mysql数据库

安装查看有没有安装过: yum list installed mysql* rpm -qa|grep mysql* 查看有没有安装包: yum list mysql* 安装mysql客户端: yum install mysql 安装mysql 服务器端: yum install mysql-server yum install mysql-devel 启动&&停止 数据库字符集设置 mysql配置文件/etc/my.cnf中加入default-character-set=utf8 启动my

Linux操作系统上的mysql安装

话说,这次安装mysql真是一波三折,没想到这么的麻烦.我是用yum源安装的,首先提供用yum安装mysql的一些事项. 一定要配好yum 源,yum 源有问题的可以参照我前面的博客内容 1.安装MySQL yum install mysql-server   --这里一定是mysql-server,不能够是 yum install mysql,mysql-server才是服务                                                    端,可以使用yu