重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1432|回复: 21

PG和ORACLE 对比

[复制链接]
发表于 2023-12-13 01:04:19 | 显示全部楼层 |阅读模式
1.进程对比
   ORACLE: 监听进程(守护进程),服务进程,后台进程
   PG:       服务进程(POSTGREMASTER))充当监听的职能, 后端进程(和ORACLE的服务进程功能类似),后台进程
回复

使用道具 举报

 楼主| 发表于 2023-12-13 01:08:32 | 显示全部楼层
2.内存组件对比
   oracle: 公共部分:sga(共享池,数据缓冲区,大池,JAVA池等) ,私有部分: pga
   pg:      share buffer cache(没有共享池),WAL , work_mem,维护内存
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-13 12:12:56 | 显示全部楼层
3.DELETE 记录对比

  oracle: delete yourtable_name;delete from yourtable_name;

  pg: delete from yourtable_name; 不能省略 FROM
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-14 10:17:33 | 显示全部楼层
4.过程对比

oracle: 有过程,函数

pg: 没有单独的过程,函数,统一为过程
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-15 10:30:58 | 显示全部楼层
5.与磁盘上文件交互
   oracle: sqlload

    pg: copy to file,copy table from file

回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-17 12:11:13 | 显示全部楼层
6.sql执行计划
   oracle: 放置在SHARE POOL,可以复用以前的SQL语句执行计划。

   PG: 没有share pool ,SQL语句执行每次都要重新解析,这个是到目前版本16.1 为止,是这样。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-17 12:49:40 | 显示全部楼层
7.写磁盘
  ORACLE:肮块先写道 BUFFER_CACHE,然后由DBWR直接写到磁盘,这也是叫DIRECT IO,所以,ORACLE可以把 SGA设置为物理内存的80%,不用考虑给操作系统留更多的缓存。绕过了操作系统缓存,实际效果要比PG好一些。

  PG:          肮块先写道 shared_BUFFER,然后 BGWR进程写到 OS_CACHE, 最后,由操作系统再把OS_CACHE中的数据写到磁盘,也就是说PG是双缓冲区写,平时shared_buffer不能设置太大,一般不超过物理内存的25%.还需要给操作系统内存部分。不知道后面版本会不会修改。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-17 12:54:53 | 显示全部楼层
8.UPDATE的差异
  ORACLE: 使用UNDO来实现读一致性,要后悔使用UNDO来实现。

  PG: 没有UNDO,UPDATE是直接插入一行,以前那一行不删除,只是给打标志,后面由VACUUM来进行清理,这个也叫MVCC,在PG中,这个MVCC也是容易导致表膨胀,目前OPENGUASS ,修改为 使用UNDO方式来解决 MVCC问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-17 23:36:31 | 显示全部楼层
9.高可用
  ORACLE;RAC,DG

  PG:  流复制 ,类似于ORACLE的dg,无类似RAC的架构。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-17 23:39:59 | 显示全部楼层
10.备份工具
  ORACLE: 逻辑备份: EXPDP,IMPDP,EXP,IMP
                物理备份:RMAN,手工备份

  PG:         逻辑备份:PG_DUMP,PG_DUMPALL,PG_RESTORE
                物理备份:手工热备份
                                 pg_basebackup
                                 插件:pg_rman
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-4-18 18:19 , Processed in 0.125963 second(s), 19 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表