版本:v2.3 免费版大小:7M
类别:数据库类系统:WinAll, Win7, Win8, Win10
立即下载oracleToPostgres是一款全自动的Oracle迁移Postgre的软件,方便工程师们将数据库导出转移备份,能当易能批量能计划任务,需要的直接来IT猫扑下载!
OracleToPostgres是一种数据转换软件,可帮助数据库用户将Oracle数据库数据转换为Postgres。节省将Oracle数据导入的时间,快速安全的完成数据库导入工作。
单击任务对话框中的“从查询导入”。
然后显示“导入查询”表单。
1.输入源查询。
2.选择目标表
3.总结。
4.导入。
对于可重复的任务,您可以单击“保存会话”按钮保存配置,然后下次运行它。
1、搭建PG环境,创建好用户,表空间,数据库,SCHEMA等。
2、根据ORACLE中的表结构,变换成PG的结构,主要是字段类型方面。一般常见有以下几种:
number(n,m)--->numeric(n,m)
varchar2(n)--->character varying(n)
date--->timestamp without time zone
log--->bytea
其他的可查询资料,这里不一一列举了。
注:如果ORACLE库里的表比较多的话,这一步挺痛苦的,我是手工改的,哪位知道有好的工具,可以推荐下。而且在改的时候还需要注意,不能漏了constraint。
3、分表。
ORACLE做得好的一点就是它的分区:可对分区单独进行维护,查询总表会自动对应到相应分区,非常方便。PG就没PARTITION功能,只能通过继承来创建分表。
例:假设ORACLE里tbl_a表是按时间字段按月分区的分区表。
CREATE TABLE tbl_a_201301 (like tbl_a including all) INHERITS (tbl_a);
CREATE TABLE tbl_a_201302 (like tbl_a including all) INHERITS (tbl_a);
CREATE TABLE tbl_a_201303 (like tbl_a including all) INHERITS (tbl_a);以此类推。
这样tbl_a_yyyymm分表将会和tbl_a拥有完全相同的结构,包括constraint和index。
这里强调一点,和ORACLE应用中把数据插入总表,ORACLE会自动把数据插入对应分区不同,PG没有该功能(可以通过TRIGGR和CONSTRAINT做到,但性能损失非常非常大,坚决禁止这么做)。所以对于数据库的O转P,在应用程序中也要做相应改动,可以通过动态SQL,根据当前时间,拼出要插入数据的分表的名字,在插入数据。
4、创建SEQUENCE,VIEW,FUNCTION,PROCEDURE等,具体语法可参考PG官方文档。往往大家会把注意力集中在TABLE的创建上,而忽略了这一步。
5、数据从ORACLE导入PG,这里需要用到PG的一个功能--外部表。
6、创建索引。注意:出于性能考虑,通常大表都在数据入库后再创建索引。
7、IP鉴权。ORACLE只要LISTENER启动,并在客户端正确配置了TNS,就可以了。PG则要在$PGDATA/pg_hba.conf文件中进行相应配置,才能允许客户端访问DB。
查看全部