繁体   English   中英

如何从Oracle 10导出整个数据库并将其与所有用户一起导入Oracle 11.2.0?

[英]How do I export an entire database from Oracle 10 and import it to Oracle 11.2.0 with all users?

我在一台计算机上安装了Oracle 10,并且那里有一个数据库中心。 在B计算机上,我已经安装了Oracle 11.2.0,并且没有数据库。 A计算机上的数据库名称为centt,我那里还有一些用户,例如stt,wnn,tnn等。现在,我想将A所有计算机上的所有用户的整个数据库导出到文件(例如allDBdump.dat)。 然后,我想将此数据库(文件allDBdump.dat)导入到B计算机。 我在计算机上使用了如下导出命令:

exp userid=sys/sys file='c:\allDBdump.dat' log='c:\allDBdump.log' FULL=Y

现在,我想在所有用户的计算机上导入整个数据库。 我知道在导入之前,我需要通过“数据库配置助手”在A计算机上创建数据库。 然后,我需要通过以下命令在sql工具中创建所有用户:

CREATE USER st IDENTIFIED BY st;
GRANT ALL PRIVILEGES TO st WITH ADMIN OPTION;
GRANT IMP_FULL_DATABASE TO st WITH ADMIN OPTION;

然后,我使用命令导入数据库:

imp 'sys/sys@192.168.61.62:1521/centt as sysdba' FULL=Y file=allDBdump.dat fromuser=st touser=st

这个解决方案很好,但是在导入之前我需要了解所有用户。 问题是如何做到这一点,如何导入allDBdump.dat而不在计算机上创建所有用户。 就像是:

imp 'sys/sys@192.168.61.62:1521/centt as sysdba' FULL=Y file=allDBdump.dat IMPORT_ENTIRE_DATABASE_WITH_ALL_USERS_ON_A_COMPUTER

非常感谢你。

您是否尝试过Datapump 好多了 唯一的缺点是两个服务器上都需要一个目录(或使用db_link链接它们)

expdp system/password@db10g full=Y directory=TEST_DIR dumpfile=DB10G.dmp logfile=expdpDB10G.log

impdp system/password@db11g full=Y directory=TEST_DIR dumpfile=DB10G.dmp logfile=impdpDB11G.log

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM