查询表
select * from tab;
全部导出
在网上查找的方法
exp jck/password file=d: est.dmp statistics=none TABLES=(tb1, tb2...)
实际环境
Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) )
- 建一个存放输出文件的目录
[root@localhost ~]# su - oracle
Last login: Fri Jul 21 13:49:22 CST 2017 on pts/1 (成功切换)
[oracle@localhost ~]$ sqlplus sys/ as sysdba
# 切换到
SQL>
然后依次执行如下命令:
1、sys用户登录创建目录
SQL>create directory exp as '/data/oracledata'; (创建目录并分配存放路径)
- 如果sqlplus命令不存在->
切换到 /home/oracle下,编辑 .bash_profile环境变量,
[oracle@jlweb data]$ vim ~/.bash_profile
# .bash_profile
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
PATH=$PATH:$HOME/bin:/data/app/oracle/product/12.1.0/dbhome_1/bin
export export PATH
export ORACLE_SID=whxx
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=/data/app/oracle/product/12.1.0/dbhome_1
export ORACLE_TERM=vt100
export NLS_LANG=american_america.zhs16gbk
使生效:`source ~/.bash_profile`
- bash下,导出指定表的数据
$oracle expdp mfis_user/password dumpfile=exp:aa.dmp TABLES=AA
jck: 用户名
password:密码
条件导出
exp jck/jck file=d: est.dmp statistics=none TABLES=(JSEBOTEST,NEWMAKT,TEST_ORG,TEST_SUBJECT,TEST_USER)QUERY="WHERE rownum<11"
正则匹配:exp tables='d_%'
导入
- 查询数据泵文件约定目录
$oracle sqlplus sys/ as sysdba # 进入SQL环境
select * from dba_directories
-
将dmp文件拷贝到此目录
cp xxx /xxx -
导入
impdp mfis_user/talent@orcl directory=DATA_PUMP_DIR dumpfile=U6_assp_full_20181126021904_%U.dmp remap_schema=from_user:to_user
其中remap_schema 表示从源用户复制到新用户中,此命令省略,则默认表示所有。
@orcl:可省略
文件名是下图这样的,%U表示通配,从01递增。
oracle新建用户
创建表空间
create tablespace test
datafile '/home/oracle/data/test.dbf' size 50M
default storage (initial 500K
Next 500K
minextents 1
maxextents unlimited
pctincrease 0);
分配用户
//Oracle创建用户权限
//创建用户
create user lxg identified by lxg default tablespace test;
//授权
grant resource,connect,dba to test;