由于项目组现在使用Oracle,所以对于一些基本的操作还要掌握起来比如导入,导出,因为今天下午用到了所以我们上午查了一下资料终于搞定了。做一下笔录。
先看一下导出如何用Emp
刚开始的时候我用PL/SQL来导入,导出,发现问题太大了,要么只能导出表结构和数据,要么只能导出表结构和存储过程不能导出数据,
现在我们用命令行来做,当然,这样做的前提是我们的机器已经装了Oracle了。
1、导出一个用户的所有数据(*包括表和数据,存储过程,触发器等)
开始-->运行-->进到DOS里面
emp yfqsdie/sdie?!3406@XE owner=yfqsdie file=D:\OracleBackup
回车,即可查看结果。第一次显示的错误为没有dba权限,,我查了一下果然是我确实用的不是管理员,只要给yfqsdie赋上权限即可。
好我们开始给yfqsdie赋上管理员的权限。
开始-->运行-->进到DOS里面
sqlplus /nolog
conn /as sysdba
grant dba to yfqsdie;(切记,这里有个分号)
图一
在上面的图中我们看到了解决方法。lili用到导入或是导出的用户名。
赋完了权限后我们可以到导出用户的对象了。
使用
开始-->运行-->进到DOS里面
exp yfqsdie/sdie?!3406@XE owner=yfqsdie file=E:\Oracle2-16
如图二
这样就把yfqsdie的所有数据(表,数据,存储过程,触发器等)导出了
这里要注意我们用的是exp不是emp,yfqsdie是用户名,sdie?!3406是密码,XE 是数据库的名字,owner=yfqsdie是说我们要导出的是所有者yfqsdie的数据。file=E:\Oracle2-16是说我们导出的文件的名称为:Oracle2-16地点在E盘。
图三为我们导出成功了。这里我们很欣慰的看到了存储过程,触发器视图等全部导出。
图三:
2、我们再看一下导入Imp的使用
现在我们将从用户yfqsdie备份的数据导入到用户lili中。
开始-->运行-->进到DOS里面
如图四:
命令与导出类似为:
imp lili/sdie?!3406 file=E:\Oracle2-16.dmp full=y
导入的时候不要先输上imp然后回车,在一路回车,这样我们什么也导不进来切忌。
当然,可能又出现了权限的问题,还是按上面说的赋一下权限即可。这样就可以导入所有的数据了。