Oracle远程导入导出数据

Java代码 
1.exp本地导出与imp本地导入  
2. 
3.exp命令:  
4.1 exp username/psw@TEST file=d:test.dmp full=y  
5.2 exp username/psw@TEST file=d:test.dmp owner=(ly)  
6.3 exp username/psw@TEST file= d:test.dmp tables=(grid1,grid2)   
7.1其中一是将Test(与某一数据库对应的oracle服务名)数据库进行整体导出  
8.2将属于用户ly的所有表导出  
9.3将表grid1,与grid2导出  
10.d:test.dmp是导出的文件地址  
11. 
12.imp命令:  
13.1 imp system/psw@TEST file=d:test.dmp  
14.2 imp system/psw@TEST full=y file=d:test.dmp ignore=y  
15.3 imp system/psw@TEST file=d:test.dmp tables=(grid1)ignore=y表示如果被导入的数据库中某个表已经存在就忽略不导入那个表  
16.3表示只导入grid1这个表  
17. 
18.在导入导出前要先测试下对应的数据库是否是通的:tnsping test来测试,同样test是服务名  
19.所有命令可在cmd下执行  
20. 
21. 
22.用exp/imp远程操作数据库  
23. 
24.对ORACLE数据库进行远程操作,假设数据库在192.168.1.110上,具体方法如下:  
25.一、在客户端创建和服务端对应的服务名  
26.方法1:  
27.修改tnsnames.ora文件  
28.加入远程服务器的命名:  
29. 
30.Sql代码   
31.TEST_ORCL =     
32.(DESCRIPTION =     
33.    (ADDRESS_LIST =     
34.      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.110)(PORT = 1521))     
35.    )     
36.    (CONNECT_DATA =     
37.      (SERVICE_NAME = orcl)     
38.    )     
39.)   
40. 
41.方法2:  
42. 
43.在oracle客户端,打开net manager。  
44. 
45.创建一个服务命名TEST_ORCL,主机IP为:192.168.1.110,服务名orcl,端口1521 
46. 
47. 
48.二、测试远程服务器是否畅通  
49. 
50.进入到cmd后,执行命令:tnsping TEST_ORCL。  
51. 
52.三、远程操作数据库  
53.导出:  
54. 
55.Sql代码   
56.1:exp username/password@TEST_ORCL file=bak_filepath   
57.2:exp username/password@TEST_ORCL full=y file=bak_filepath  
58.username 用户名,password 密码,TEST_ORCL 客服端服务名,bak_filepath 备份文件存放的路径  
59. 
60.导入:  
61. 
62.Sql代码   
63.1:imp username/password@TEST_ORCL file=bak_filepath full=y   
64.2:imp username/password@TEST_ORCL/database_name file=bak_filepath full=y   
65.3:imp username/password@TEST_ORCL file=bak_filepath fromuser=fromadmin touser=toadmin  
66. 
67.username 用户名,password 密码,TEST_ORCL 客服端服务名,bak_filepath 备份文件存放的路径  
68.fromadmin 备份数据的用户名,toadmin 还原数据库的用户名。database_name 还原到那个数据库上  
69.full=y 将数据库整体导出,包括表结构等。  
70.  
exp本地导出与imp本地导入

exp命令:
1 exp username/psw@TEST file=d:test.dmp full=y
2 exp username/psw@TEST file=d:test.dmp owner=(ly)
3 exp username/psw@TEST file= d:test.dmp tables=(grid1,grid2)
1其中一是将Test(与某一数据库对应的oracle服务名)数据库进行整体导出
2将属于用户ly的所有表导出
3将表grid1,与grid2导出
d:test.dmp是导出的文件地址

imp命令:
1 imp system/psw@TEST file=d:test.dmp
2 imp system/psw@TEST full=y file=d:test.dmp ignore=y
3 imp system/psw@TEST file=d:test.dmp tables=(grid1)ignore=y表示如果被导入的数据库中某个表已经存在就忽略不导入那个表
3表示只导入grid1这个表

在导入导出前要先测试下对应的数据库是否是通的:tnsping test来测试,同样test是服务名
所有命令可在cmd下执行


用exp/imp远程操作数据库

对ORACLE数据库进行远程操作,假设数据库在192.168.1.110上,具体方法如下:
一、在客户端创建和服务端对应的服务名
方法1:
修改tnsnames.ora文件
加入远程服务器的命名:

Sql代码
TEST_ORCL =  
(DESCRIPTION =  
    (ADDRESS_LIST =  
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.110)(PORT = 1521))  
    )  
    (CONNECT_DATA =  
      (SERVICE_NAME = orcl)  
    )  
)

方法2:

在oracle客户端,打开net manager。

创建一个服务命名TEST_ORCL,主机IP为:192.168.1.110,服务名orcl,端口1521


二、测试远程服务器是否畅通

进入到cmd后,执行命令:tnsping TEST_ORCL。

三、远程操作数据库
导出:

Sql代码
1:exp username/password@TEST_ORCL file=bak_filepath
2:exp username/password@TEST_ORCL full=y file=bak_filepath
username 用户名,password 密码,TEST_ORCL 客服端服务名,bak_filepath 备份文件存放的路径

导入:

Sql代码
1:imp username/password@TEST_ORCL file=bak_filepath full=y
2:imp username/password@TEST_ORCL/database_name file=bak_filepath full=y
3:imp username/password@TEST_ORCL file=bak_filepath fromuser=fromadmin touser=toadmin

username 用户名,password 密码,TEST_ORCL 客服端服务名,bak_filepath 备份文件存放的路径
fromadmin 备份数据的用户名,toadmin 还原数据库的用户名。database_name 还原到那个数据库上
full=y 将数据库整体导出,包括表结构等。
 

导入过程中可能要重新创建用户:

Java代码 
1.给用户增加导入数据权限的操作  
2.第一,启动sql*puls  
3.第二,以system/manager登陆  
4.第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)  
5.第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,  
6.    DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,  
7.       DBA,CONNECT,RESOURCE,CREATE SESSION   TO 用户名字  
给用户增加导入数据权限的操作
第一,启动sql*puls
第二,以system/manager登陆
第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)
第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
    DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
       DBA,CONNECT,RESOURCE,CREATE SESSION   TO 用户名字 

导入过程可能要创建表空间等:

Java代码 
1.其要操纵一个ORACLE数据库中的数据,应该:     
2.1.被授予关于一个或多个表空间中的RESOURCE特权;     
3.2.被指定缺省表空间;     
4.3.被分配指定表空间的存储空间使用份额;     
5.4.被指定缺省临时段表空间。     
6. 
7.drop user xuping cascade;  
8.drop tablespace xuping including contents;  
9.create tablespace xuping Logging datafile 'F:\oracle\product\10.2.0\oradata\develop\xuping.ora' size 50M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;;  
10.create user xuping identified by xuping default tablespace xuping  Temporary TABLESPACE Temp;  
11.grant connect,resource,dba to xuping; 
其要操纵一个ORACLE数据库中的数据,应该:  
1.被授予关于一个或多个表空间中的RESOURCE特权;  
2.被指定缺省表空间;  
3.被分配指定表空间的存储空间使用份额;  
4.被指定缺省临时段表空间。  

drop user xuping cascade;
drop tablespace xuping including contents;
create tablespace xuping Logging datafile 'F:\oracle\product\10.2.0\oradata\develop\xuping.ora' size 50M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;;
create user xuping identified by xuping default tablespace xuping  Temporary TABLESPACE Temp;
grant connect,resource,dba to xuping; 导入导出实例:

Java代码 
1.cmd  
2.exp hzbswcis/[email protected] file=e:/hzcis.dmp owner=hzbswcis  
3.创建用户和表空间  
4.imp hzbswcis/hzbswcis@orcl file=e:/hzcis.dmp full=y 
cmd
exp hzbswcis/[email protected] file=e:/hzcis.dmp owner=hzbswcis
创建用户和表空间
imp hzbswcis/hzbswcis@orcl file=e:/hzcis.dmp full=y

另见:Oracle导出用户中的表,视图等到另一个用户 http://quicker.iteye.com/blog/688253

         Oracle创建表空间和用户授权 http://quicker.iteye.com/blog/869946

         Oracle创建表空间的语法:http://quicker.iteye.com/admin/blogs/1561575

猜你喜欢

转载自815420244.iteye.com/blog/1663250