Oracle数据库导出有4种模式:ful(全库导出),owner(用户导出),table(表导出),tablespace(表空间导出)。
1、数据常用导出命令
①将数据库TEST完全导出,用户名system密码manager,导出到/tmp/daochu.dmp中
exp system/manager@TEST file=/tmp/daochu.dmp full=y (全库导出)
exp xtjg_user/123456@ORCL file=/tmp/XTJG.dmp 默认导出连接数据库的用户数据库对象
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
③将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
④ 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
2、导入dmp命令
在导入dmp文件时候,通常我们需要新建一个用户来导入,新用户需要一个表空间和一个临时表空间。
表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间,可自动释放;而表空间中存储表数据、函数、过程、序列等。是随数据库永久存在的。
新建临时表空间:
create temporary tablespace user_temp
tempfile '/usr/local/oradata/orcl/user_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
新建表空间:
create tablespace xtjg
logging
datafile '/usr/local/oradata/orcl/xtjg.dbf'
size 50m
autoextend on ;
新建用户:
create user xtjg_user identified by 123456
default tablespace xtjg
temporary tablespace user_temp;
授权新用户:
grant connect,resource to user_name;
grand dba to user_name;
导入dmp文件:
imp user_name/user_password@SID file=F:\xxx.dmp full=y;
如:imp xtjg_user/123456@orcl file=/home/software/XTJG.dmp full=y;
备注:
1、关于full=y 参数
①oracle exp命令中的full参数
@H_403_230@full=y( 全库导出): 导出除ORDSYS,MDSYS,CTXSYS,ORDPLUGINS,LBACSYS 这些系统用户之外的所有用户的数据.full=n或不加full: 默认导出连接数据库的用户数据库对象.
②oracle imp命令中的full参数
Full=y 导入一个完整的数据库
2、删除命令
drop user user_name cascade;
删除表空间和临时表空间:
drop tablespace tablespace_name including contents;