我想请问一下如何将Oracle 10g从Windows2003移植到Unix平台上?需要注意什么问题?有没有什么推荐的方法?
Maria Anderson:因为你是要在不同的操作系统上移植软件,所以你不能通过物理拷贝数据库到UNIX服务器的方法解决问题。但是,有一些方法可以帮助你达到目的。
导入/导出:
在你的UNIX服务器上建立Oracle 10g数据库,将你的Oracle 9i数据块导出,用FTP将后缀名为。dmp的文件上传到UNIX服务器上,再将其导入到你的新创建的数据库中去。
通过数据库链接的方法创造选择的表(CTAS)。
在你的UNIX服务器上建立Oracle 10g数据库,然后再创立一个从Windows服务器的数据库到UNIX服务器的数据库的数据库链接。运行语句create table as select …利用UNIX服务器中的数据库来建立表。一定要记住的是,也要创建必须的索引,约束以及参照完整性。
使用Oracle 10g软件中的跨平台可移动的表空间
你可以通过Oracle 10g软件中新添加的跨平台可移动的表空间功能来把你的数据库移植到UNIX服务器上去。你必须通过查询视图V$ TRANSPORTABLE_PLATFORM命令来看到底支持哪些平台以及他们的字节顺序。根据你准备使用的UNIX版本,它可以是大端序的或者是小端序的。Windows就是小端序的,所以也许会有一个额外的步骤就是需要将表空间转化成为源系统或者是目的系统的格式。
如果您想进一步了解跨平台可移动的表空间的功能,请从Oralce技术网站下载《Oracle数据库管理者手册》(10.2版)
为了确保你要将数据库移植过去的UNIX操作系统支持Oracle 10g软件,并且经过了Oracle 10g的认证,你还需要去看《Oracle认证手册》。