今天做小测试,将数据库设置为READ ONLY 模式 ,在导出用户时,出现了一个小问题, 如果用户数据量比较大,我更倾向于用expdp方式,其实数据泵的方式已经用习惯了,大多数情况下也会自然的选择使用数据泵的方式。 只是这次有点小问题
情况如下:
-
[oracle@ora10 backup]$ expdp t1/test directory=sh_dmp dumpfile=t1.dmp logfile=t1.log
-
-
Export: Release 11.2.0.4.0 - Production on Sun Jul 2 10:16:08 2017
-
-
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
-
-
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
-
With the Partitioning, OLAP, Data Mining and Real Application Testing options
-
ORA-31626: job does not exist
-
ORA-31633: unable to create master table "T1.SYS_EXPORT_SCHEMA_05"
-
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
-
ORA-06512: at "SYS.KUPV$FT", line 1038
-
ORA-16000: database open for read-only access
也就是说,只读模式下, 我们无法使用expdp 导出数据,因为只读模式无法创建相应的资源,这里显示无法创建master 表,该名字也就是JOB名
那么怎么办, 当然exp方式还是可以导出数据的,如果数据量真的比较大呢?如果非在只读模式呢?
那么 expdp 参数中 network_link 就派上用场了,当然我们需要借助于其他数据库,如果想规避网络资源的消耗,只能在read only模式数据库的服务器上临时创建一个数据库实例,实行导出任务。如果网络宽带够用,我们就可以借助其他服务器上的数据库实例进行导出任务。
在只读模式下的数据库,我们想导出一个用户数据,除了exp 和上述方式,还有其他方式吗 欢迎讨论
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29487349/viewspace-2141482/
,如需转载,请注明出处,否则将追究法律责任。