ORACLE7用户之间数据拷贝的方法

王朝oracle·作者佚名  2008-05-19
宽屏版  字体: |||超大  

大型数据库系统不是一个简单的文件系统,不象FOXBASE的DBF文件那样,可以简单地拷来拷去。就拿ORACLE数据库来说,数据是隶属于某个用户的,每个用户都有各自的权限,如果某用户要用另一个用户的数据,可以通过访问权限来实现。有时需要将某用户的数据直接搬到自己的用户下用,可用下边的方法实现:

1.例子

ORACLE7数据库服务器操作系统为UNIX。

ORACLE用户1:o7user1,密码:passwd1

ORACLE用户2:o7user2密码:passwd2

现在要做的工作是,将用户o7user1 的所有的表(视图及其它全部应用)复制到o7user2 中去。

2.具体实现方法

2.1 将用户o7user1的数据卸出

$ exp o7user1/passwd1

Export:......

Export file:expdat.dmp

E(ntire database),(2)U(sers),or (3)T(ables):(2)U

Export grants(yes/no):yes

Export table data(yes/no):yes

Compress extents(yes/no):yes

Abort to export specified users....

Abort to export O7USER1's tables...

Export terminated successfully without warnings

最后将o7user1用户的数据生成于默认的expdat.dmp 文件中。

2.2 确认已建立用户o7user2,并赋有相应的权限(一般用户的权限为connect和resource)。

2.3 将o7user1的数据全部复制到o7user2 中

$ imp o7user2/passwd2

Import:Release ......

Import file: expdat.dmp

Enter insert buffer size (minimum is 4096) 30720307200

Export file created by EXPORT:

List contents of import file only(yes/no):no

Ignore create error due to object existence(yes/no):no

Import grants(yes/no):yes

Import table data(yes/no):yes

Import entire export file(yes/no):noy

开始复制o7user1之数据到o7user2中,出现如下提示:

.importing O7USER1's objects into O7USER2

.. importing table "table1" 10 rows imported

Import terminated successfully without warnings.

至此,o7user1的数据已全部复制到了o7user2用户中。值得注意的是,在Import entire export file(yes/no):noy,选择的是"y",若选择"no",就不能完成复制工作。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有