http://blog.sina.com.cn/s/blog_68c266e701016dy3.html 将一台计算机(暂且称为计算机A)上oracle数据库中的task用户的所有表复制到另外一台计算机(暂且称为计算机B)的oracle数据库中。注意:为了不修改程序等其他项,在计算机B的oracle中创建的表空间、
http://blog.sina.com.cn/s/blog_68c266e701016dy3.html
将一台计算机(暂且称为计算机A)上oracle数据库中的task用户的所有表复制到另外一台计算机(暂且称为计算机B)的oracle数据库中。注意:为了不修改程序等其他项,在计算机B的oracle中创建的表空间、用户等应该和计算机A中的一样(oracle数据库中用户名为task,密码为task,表空间为users)。
1.1首先以sys或者system的身份登录
安装了oracle10g之后,在开始-所有程序-找到oracle10g的相关启动程序。双击SQL Plus进行登陆,或者用PLSQL Developer登陆。在此我们使用的是图形化界面的PLSQL Developer,操作起来比较方便。
1.2创建表空间 (由于计算机A上的oracle数据库用的是users表空间,所以在此不用创建表空间,如果A中oracle用的不是系统自带的表空间,则要创建。)
在创建表空间之前应该先查询计算机A中kby表空间的大小。
selecttablespace_name,sum(bytes)/1024/1024 from
dba_data_files wheretablespace_name='kby'
通过查询,查询结果如图1-5所示。
图1-5 表空间大小查询结果
从图中可以看出,KBY的全部表空间为100M,但是还有99M空闲。接下来在计算机B的oracle数据库中创建表空间。同时在左边的Objects下的表空间Tablespace文件夹下找到KBY表空间。
createtablespace kby datafile ‘d:\task\kby.dbf’ size 10M autoextend onnext 10m maxsize 100m extent management local;
1.3 创建新用户task,并和表空间建立关系
createuser
创建成功会提示 User created,同时在左边的Objects下的用户Users文件夹下找到TASK用户。
1.4 给用户授权
grantconnect,resource,dba to task;
在命令窗口输入以上命令,就会出现Grantsucceeded提示。
方法1:打开DOS的命令窗口,输入命令如下,运行结果如图1-9和1-10所示。
exp
图1-9
图1-10
此时在c:\task文件夹下可以看到task.dmp文件。
方法2:使用PLSQL Developer导出
说明:
1.expuserid=system的用户/system用户的密码@服务器名,owner用来指定执行导出操作的方案。
2.查询数据库服务名:
方法一:select valuefrom v$parameter where name ='service_name';
方法二:show parameter service_name;
方法三:select name fromv$database;
方法三:在参数文件中查询。查看tnsnames.ora 的连接,有个SID,SID就是服务名了。
在此,我们用第二种方法,用system登陆,如图1-12所示。
图1-12服务器名的查询
方法一:进入DOS命令窗口,输入命令,运行结果如图1-14所示。
imptask/task@orcl file=c:\task\task.dmp full=y
图1-14
导入完成之后,用户task登陆,在Objects中可以看到task用户的tables文件夹中有很多表,与计算机Aoracle数据库task用户的表相同,导入成功。
方法二:跟导出一样,可以使用PLSQLDeveloper导入,task用户登陆,然后点击tools ->importtables-> Oracle Export选择选项,导入task.dmp文件。
注:如果有什么问题,可以提问哦!