我有一个在oracle 8i中的数据库,我想将用户的整个数据库导出到.sql文件,并将其导入另一个安装了oracle 10g的系统.
要导出数据库,必须使用8i exp实用程序:
exp full=y compress=N userid=system/system_pw file=dumpfilename.dmp log=explog.txt
Run Code Online (Sandbox Code Playgroud)
要导入数据库,必须使用10g imp实用程序:
imp full=y file=dumpfilename.dmp userid=system/system_pw log=implog.txt
Run Code Online (Sandbox Code Playgroud)
10g imp实用程序向后兼容以前的版本,因此您应该能够使用8i exp实用程序导出并使用10g imp导入.两个实用程序都有一个"help = y"参数,该参数将显示您可以指定的参数列表.有很多; 在大多数情况下,默认值都很好.根据数据库的大小,这可能需要一段时间.
由于某些对象的循环依赖性,创建单个SQL文件并不像最初看起来那么容易.另外,创建或执行效率不高 - exp/imp更是如此.如果您的目标只是将数据库移动到新版本的Oracle,则exp/imp是最简单的方法.
一些文件可以帮到你:orafaq.com; Oracle 8i Utilities(oracle.com) ; Oracle 10g实用程序(oracle.com).