expdp导出oracle数据库中指定表空间下数据

大家在工作中,应该很多接触各种各样的数据库,笔者在此记录一下,我的一次导出数据经历。

工作环境是oracle+Linux(红帽系统,类似centos)

1.进入linux系统(这里不在赘余)

2.运行sqlplus,建议创建oracle用户 管理数据库,直接输入sqlplus 可能不行,需要修改系统的环境变量,我这里是用的

. /home/oracle/.bash_profile 

临时改变系统环境变量

3.在进入sqlplus 中,创建目录路径:输入命令:

create directory my_url as ‘/u01/Backup/oracledata‘

;(注:这里my_url和路径可以修改为自己的)

查看路径是否创建成功;

select * from dba_directories

4.授权 用户

Grant read,write on directory my_url to myusers; 

(myusers为数据库用户,没有可创建)

5.数据导出,执行命令:

expdp 用户名/密码@ip地址(不写默认为本地地址)/实例  [属性]

expdp myusers/[email protected] schemas=dbuser dumpfile=expdp.dmp directory=my_url logfile=expdp.log

directory=dmpfile          --导出的逻辑目录,务必要在oracle中创建完成的,并且给对应用户授权读写权限
dumpfile=xx.dmp      --导出的数据文件的名称,如果想在指定的位置的话可以写成dumpfile=/home/oracle/userxx.dmp
logfile=xx.log          --日志文件,如果不写这个参数的话默认名称就是export.log,可以在本地的文件夹中找到
schemas=userxx       --使用dblink导出的用户不是本地的用户,需要加上schema来确定导出的用户,类似于exp中的owner,但还有一定的区别
EXCLUDE=TABLE:"IN(‘T1‘,‘T2‘,‘T3‘)"     --exclude 可以指定不导出的东西,table,index等,后面加上不想导出的表名
network_link=db_local          --这个参数是使用的dblink来远程导出,需要指定dblink的名称
举例 :

expdp lims_data/*********************  directory=lims_url dumpfile=data200302.dmp schemas=lims_data logfile=data200302.log

  

原文地址:https://www.cnblogs.com/prophet-xc/p/12393941.html

时间: 2024-11-10 07:47:04

expdp导出oracle数据库中指定表空间下数据的相关文章

如何导出远程oracle数据库中的表结构

从远程oracle数据库上导出指定表的表结构语句有两种方法: 方法一:通过sql语句获得 1,make sure that you can connect the remote database. 2,enter into the sqlplus,and execute the command: select dbms_metadata.getddl('TABLE',tablename) from user_tables and you will get all the tables defin

使用sql查询mysql/oracle/sql server/gp数据库中指定表的字段信息(字段名/字段类型/字段长度/是否是主键/是否为空)

1,根据数据库类型拼接不同URL /** * 根据类型不同拼接连接的URL * @param dbType 1:mysql.2:oracle.3:sql server.4:gp * @param ip * @param port * @param databaseName * @return*/ public static String getTestDbUrl(int dbType, String ip, String port, String databaseName){ String ur

实例讲解Oracle数据库设置默认表空间问题

实例讲解Oracle数据库设置默认表空间问题 实例讲解Oracle数据库设置默认表空间问题,阅读实例讲解Oracle数据库设置默认表空间问题,DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空 DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空间.导致系统

Oracle数据库自带表空间

需求:需要整理现场用户创建的表空间以及其存储数据,进行规范化管理.在整理用户现场建立的表空间时,需要排除掉非用户创建的表空间,所有首先需要那些表空间是用户创建的,那些是Oracle自带的. 本机测试建立一个新库,发现自带表空间如下: 下面对每一个表空间进行简单说明(部分内容引自网络): 1.SYSAUX表空间 SYSAUX表空间在Oracle Database 10g中引入,作为SYSTEM表空间的辅助表空间.以前一些使用独立表空间或系统表空间的数据库组件现在在SYSAUX表空间中创建.SYSA

文章标题 Oracle数据库中dual表使用

一. 业务场景 业务流程需要进行写入和更新的比较,所以有原表和历史表. 要求表中的ID唯一性,以及两张表的ID关联,另外后续可能数据库会进行迁移 二.方案选择 方案一:id设置为int型自增长. 这种做法编程简单,无需考虑id唯一性,由数据库帮忙维护.但是在此业务场景下存在缺点 1. 这里存在两张表关联.id自增长无法确保数据唯一性,也就无法保证原表与历史表进行数据映射.比如说,现在需要向原表A和历史表A_HISTORY表中插入相同的一条数据.插入A表后,发现无法取到A表的ID(A表的ID是主键

内网环境下centos7.4离线安装oracle,及不同用户表空间迁移数据

初始环境为Centos7.4 Mini安装后的系统,最开始用镜像iso做为yum源,安装oracle,在静默安装的时候报错,后来用一台同样环境的系统,开启yum缓存,下载安装依赖环境,让rpm包离线下载后,传到这台服务器,在静默安装,还是失败,最后网上找了个离线安装依赖包,成功静默安装及建库,将源oracle下的用户及表空间数据迁移到新安装的oracle用户和表空间下.以后安装可以直接安装离线依赖包 安装前的准备: 1. 修改主机名 #sed -i "s/HOSTNAME=localhost.l

RMAN数据库恢复之恢复表空间和数据文件

执行表空间或数据文件恢复时,数据库既可以是MOUNT状态,也可以是OPEN状态.1.恢复表空间在执行恢复之前,如果被操作的表空间未处理OFFLINE状态,必须首先通过ALTER TABLESPACE…OFFLINE语句将其置为脱机.然后再RESTORE-->RECOVER--->ONLINE即可. RMAN> SQL 'ALTER TABLESPACE USERS OFFLINE IMMEDIATE'; 在恢复目录中注册的数据库的新原型 正在启动全部恢复目录的 resync 完成全部 r

oracle学习 六 删除表空间,数据文件的语句以及导入导出dmp文件的方法(持续更新中)

要想删除表空间就要先删除数据文件 例如这个例子 CREATE TABLESPACE STHSGIMGDB_SPACE11 DATAFILE 'D:\ORACLEDATABASE\JinHuaDataBase\STHSGIMGDB_SPACE11_01' SIZE 1M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED, 'D:\ORACLEDATABASE\JinHuaDataBase\STHSGIMGDB_SPACE11_02' SIZE 1M AUTOEXTE

oracle查看表空间下数据文件

下面两个数据字典视图就知道了.查看有哪些表空间:select * from dba_tablespaces;查看有哪些数据文件在哪个表空间中:select * from dba_data_files; select * from dba_tablespace_groups;