1.oracle用exp如何导出某个用户下的所有的表,比如scott用户下的表,
scott用户,exp scott/tiger@地址:端口号/实例名 file=路径
exp scott/tiger@192.168.0.1:1521/orcl file=d:\scott.dmp
system用户,exp system/密码@地址:端口号/实例名 file=路径 owner=scott
exp system/oracle@192.168.0.1:1521/orcl file=d:\scott.dmp owner=scott
2.请问用PL/sql Developer具体该怎么实现导入导出
Oracle数据导入导出imp/exp就相当于逻辑(数据的)备份与恢复,支持客户端与服务器操作。
exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,
imp命令可以把dmp文件从本地导入到远处的数据库服务器中。
执行环境:在客户端与服务端的shell状态下DOS(命令行)中执行
*********************数据导出 exp ****************************
1、全库方式,导出整个数据库中所有的对象,但并不包括sys用户中的对象,即数据字典无法导出。
exp user/pwd@db_name full=y file=D:\database.dmp log=D:\database.log
2、用户方式:导出某一用户下所有的对象,授权了权限的用户可以导出其他用户所拥有的对象。作为全库导出的补充应用
exp user/pwd@db_name owner=(system,sys) file=D:\owner.dmp log=D:\owner.log
3、表方式:只导出某一用户下指定的表,而不是所有的表。
exp user/pwd@db_name tables=(tb1,tb2) file= D:\table.dmp log=e:\table.log
4、补充:将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp user/pwd@db_name tables=(table1) query=" where filed1 like '00%'" file=D:\query.dmp log=d:\query.log
***上面是常用的导出 **更多参数exp help=y 查看
===================================================================================
*********************数据的导入 imp ****************************
1、全部导入
imp user/pwd@db_name full=y file=D:\database.dmp log=d:\impdatabase.log ignore=y
2、选择表导入 将D:\table.dmp中的表table1 导入
imp user/pwd@db_name file=D:\table.dmp log=d:\imptable.log tables=(table1)
如果源表已经存在,导入时报错。在后面加上 ignore=y 就可以了。
不少情况要先是将表彻底删除,然后导入。或创建和原表一样结构的临时表然后导入到临时表中。
备注:语句执行中可能碰上的问题:
***EXP-00091 正在导出有问题的统计信息
原因:字符集问题
解决:exp命令加statistics=none选项
3.oracle 数据库备份语句
EXP 毕竟也需要连接到数据库,也就是需要提供用户名,密码,所以你说的数据库模式导出,是无法正常实现的。但是使用DBA用户登陆,可以实现导出整个数据库的类似功能。
数据库模式:
EXP SYSTEM/PASSWD@ORACLE FULL = Y FILE = 'DB081222.DMP' LOG = 'DB081222.LOG'
用户模式:
EXP USER/PASSWD@ORACLE FILE = 'USER081222.DMP' LOG = 'USER081222.LOG'
表模式:
EXP USER/PASSWD@ORACLE FILE = 'USER081222.DMP' LOG = 'USER081222.LOG' TABLES = ('TABLE_1','TABLE_2')
IMP 语句只要把上面3个语句中的 'EXP' 换成 'IMP' 就行了
如果还有不明白的,可以在命令行中输入EXP -HELP 或者 IMP -HELP 查看帮助!
4.oracle的exp导出的具体使用方法
对于:oracle的exp,就你的问题简答如下:
1、用户名和密码,提供这两个参数的作用是什么?
ORACLE是有权限管理及加密的,不知道用户名与密码会让你导不出数据。
(当然,如果你能本地登录安装ORALCE的地服务器,一般可以用管理员身份强登后改密码进行相关处理)。
2、提供用户名是导出该用户下的所有内容吗?
ORACLE中,用户与数据库是相对独立的概念,就象某几个人与某几个办公室,并不是一一对应关系,一个人可以有几个办公室的钥匙,当然,也可能一个办公室的钥匙都没有,或是只有能过窗户查看某个办公室内情况的权。
所以,某个用户,可以导出该用户下的内容,也可以导出其它用户的内容,前提是你登录的这个用户有相关的权限。
比如sys用户一般就是超级用户,可以导出所有用户的对象(表、存储过程,等等)。
3、那提供的数据库名又是干什么的?
就是上面我说的“办公室”的概念了。一般exp一次只能导出一个“办公室”(数据库)里的数据。