欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

对Oracle数据库中某个用户数据的复制

程序员文章站 2022-06-09 10:44:07
...

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.1首先以sys或者system的身份登录

安装了oracle10g之后,在开始-所有程序-找到oracle10g的相关启动程序。双击SQL Plus进行登陆,或者用PLSQL Developer登陆。在此我们使用的是图形化界面的PLSQL Developer,操作起来比较方便。

1.2创建表空间 (由于计算机A上的oracle数据库用的是users表空间,所以在此不用创建表空间,如果Aoracle用的不是系统自带的表空间,则要创建。)

在创建表空间之前应该先查询计算机A中kby表空间的大小。

selecttablespace_name,sum(bytes)/1024/1024 from dba_data_files wheretablespace_name='kby' group bytablespace_name;

通过查询,查询结果如图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 task identified by cloud default tablespaceusers;

创建成功会提示 User created,同时在左边的Objects下的用户Users文件夹下找到TASK用户。

1.4 给用户授权

grantconnect,resource,dba to task;

在命令窗口输入以上命令,就会出现Grantsucceeded提示。

2 导出数据库中task用户的所有表

方法1:打开DOS的命令窗口,输入命令如下,运行结果如图1-9和1-10所示。

exp task/task@orcl file=c:\task\task.dmp full=y

图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服务器名的查询

3 导入从计算机A中导出的文件

方法一:进入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文件。

注:如果有什么问题,可以提问哦!