您的位置:首页 > 数据库 > Oracle

oracle数据库的导出和导入

2012-04-27 14:59 183 查看
简单导出数据(Export)和导入数据(Import)

Oracle支持三种方式类型的输出:

(1)、表方式(T方式),将指定表的数据导出。

(2)、用户方式(U方式),将指定用户的所有对象及数据导出。

(3)、全库方式(Full方式),瘵数据库中的所有对象导出。

数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。


将数据库TEST完全导出,用户名zna密码zna导出到D:\exp.dmp中
expzna/znar@znafile=c:\exp.dmpfull=y

将数据库中system用户与sys用户的表导出
expsystem/manager@TESTfile=d:\daochu.dmpowner=(system,sys)


将数据库中的表table1、table2导出
expsystem/manager@TESTfile=d:\daochu.dmptables=(table1,table2)


将数据库中的表table1中的字段filed1以”00″打头的数据导出
expsystem/manager@TESTfile=d:\daochu.dmptables=(table1)query=\”wherefiled1like'00%'\”

将D:\daochu.dmp中的数据导入TEST数据库中。
impsystem/manager@TESTfile=d:\daochu.dmp


上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上ignore=y就可以了。


将d:\daochu.dmp中的表table1导入
impsystem/manager@TESTfile=d:\daochu.dmptables=(table1)



以上是基本的导入和导出的命令,如果你想把数据库从这台服务器迁移到另一台服务器,但是发现另一台服务器上有同样的环境的时候怎么办呢?

唯一的办法就是删除掉对应的用户空间,和用户对象,导入的时候重建。

删除的方法:

droptablespaceXXXXINCLUDINGCONTENTS;

dropuserXXXXcascade;



删除完以后,进行以下的重建操作:

//创建临时表空间
createtemporarytablespacetest_temp
tempfile'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf'
size32m
autoextendon
next32mmaxsize2048m
extentmanagementlocal;
//创建数据表空间
createtablespacetest_data
logging
datafile'E:\oracle\product\10.2.0\oradata\testserver\test_data01.dbf'
size32m
autoextendon
next32mmaxsize2048m
extentmanagementlocal;
//创建用户并指定表空间
createusertestserver_useridentifiedbytestserver_user
defaulttablespacetest_data
temporarytablespacetest_temp;
//给用户授予权限
grantconnect,resourcetotestserver_user;

#对用户授权
grantcreatesession,dbatoangeos;
CREATESESSION是一个系统特权,它可以为用户提供连接数据库的能力。
DBA是一个具有超过120个系统特权的角色,所以它可以让用户在数据库中完成几乎任何工作。



以上的操作均以sysdba的身份进行,完成建立用户和授权以后,就可以采用imp的方式,把所有的对象信息都一并导入了。



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: