oracle数据导出
查询表
select * from tab;
全部导出
在网上查找的方法
exp jck/password file=d:\test.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:密码
按用户导出
expdp JH4J2_USER/jh4juser@jh4jdb schemas=JH4J_STANDARD dumpfile=jh4j.dmp directory=DATA_PUMP_DIR logfile=expdp.log;
条件导出
exp jck/jck file=d:\test.dmp statistics=none TABLES=(JSEBOTEST,NEWMAKT,TEST_ORG,TEST_SUBJECT,TEST_USER)QUERY=\"WHERE rownum<11\"
expdp directory=pip_expdb logfile=exp.log
dumpfile=jh4j.dmp
INCLUDE=TABLE:\"LIKE \'SYS_%\'\"
正则匹配:exp tables='d_%'
导入
- 查询数据泵文件约定目录
$oracle sqlplus sys/ as sysdba # 进入SQL环境
select * from dba_directories
![](https://img2020.cnblogs.com/blog/1250855/202010/1250855-20201016112937414-1371484769.png)
-
将dmp文件拷贝到此目录
cp xxx /xxx -
导入
impdp mfis_user/talent@orcl directory=DATA_PUMP_DIR dumpfile=jh4j.dmp remap_schema=from_user:to_user
其中remap_schema 表示从源用户复制到新用户中,此命令省略,则默认表示所有。从用户a导出,导入到用户b,则可以使用此命令
@orcl:可省略
文件名是下图这样的,%U表示通配,从01递增。
![](https://img2020.cnblogs.com/blog/1250855/202010/1250855-20201016113611964-2048930324.png)
注意:如果impdp不能使用,可以尝试使用imp
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;
设置密码
alter user mes_user identified by password;
账号锁定
alter user scott account unlock;
alter profile default limit failed_login_attempts 6; ---设置6次失败之后就锁定用户
#将失败锁定的验证取消
alter profile default limit failed_login_attempts unlimited;
alter profile default limit failed_login_attempts 6;