logo资料库

KingbaseESV6.1与ORACLE对比.doc

第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
资料共20页,剩余部分请下载后查看
1概述
2系统的运行环境
2.1KingbaseES的系统运行环境
2.2与Oracle的比较
3数据库对象
3.1表空间
3.2表
3.3索引
3.4视图
3.5Sequence(序列号发生器)
3.6函数和存储过程
3.6.1字符串函数
3.6.2类型转换函数
3.6.3获得系统信息函数
3.7触发器
3.8KingbaseES不支持的数据库对象
4SQL
4.1数据类型
4.2SQL语法
4.3PL/SQL
4.4数据库编程接口和对开发工具的支持
4.4.1ODBC
4.4.2OLE DB
4.4.3JDBC
4.4.4.NET Data Provider
5数据库系统管理
5.1数据库的存储结构
5.1.1KingbaseES数据库的存储结构
5.1.2与Oracle数据库的存储结构的区别
5.2数据库的进程结构
5.2.1KingbaseES的进程结构
5.2.2与Oracle数据库的进程结构的区别
5.3数据库的内存管理
5.4数据库的并发控制和事务处理
5.5数据库的备份和恢复
5.5.1KingbaseES的数据库备份和恢复
5.5.2与Oracle数据库备份和恢复的区别
5.6数据库的性能监控
5.7数据库的安全性
5.7.1身份识别和认证
5.7.2基于角色的权限管理和访问控制
5.7.3审计
5.7.4数据库加密
5.8数据库的高可用性
6数据库管理工具
6.1KingbaseES企业管理器
6.2KingbaseES查询分析器
6.3KingbaseES数据迁移工具
6.4KingbaseES逻辑备份还原工具
6.5KingbaseES 物理备份恢复工具
6.6KingbaseES控制管理器
KingbaseES 与 Oracle 的对比 北京人大金仓信息技术股份有限公司 2009 年 8 月 第 1页/共 20页
目录 1 概述...................................................................................................................................................4 2 系统的运行环境.............................................................................................................................. 4 2.1 KingbaseES 的系统运行环境................................................................................................. 4 2.2 与 Oracle 的比较..................................................................................................................... 4 3 数据库对象...................................................................................................................................... 4 3.1 表空间...................................................................................................................................... 4 3.2 表.............................................................................................................................................. 5 3.3 索引.......................................................................................................................................... 5 3.4 视图.......................................................................................................................................... 5 3.5 Sequence(序列号发生器)...................................................................................................5 3.6 函数和存储过程...................................................................................................................... 6 字符串函数......................................................................................................................6 类型转换函数..................................................................................................................6 获得系统信息函数..........................................................................................................7 3.7 触发器...................................................................................................................................... 7 3.8 KingbaseES 不支持的数据库对象......................................................................................... 8 3.6.1 3.6.2 3.6.3 4 SQL...................................................................................................................................................8 4.1 数据类型.................................................................................................................................. 8 4.2 SQL 语法..................................................................................................................................9 4.3 PL/SQL .....................................................................................................................................9 4.4 数据库编程接口和对开发工具的支持................................................................................ 10 4.4.1 ODBC.................................................................................................................................10 4.4.2 OLE DB..............................................................................................................................11 JDBC.................................................................................................................................. 11 4.4.3 4.4.4 .NET Data Provider ............................................................................................................11 5 数据库系统管理............................................................................................................................ 12 5.1 数据库的存储结构................................................................................................................ 12 5.1.1 KingbaseES 数据库的存储结构....................................................................................... 12 5.1.2 与 Oracle 数据库的存储结构的区别........................................................................... 12 5.2 数据库的进程结构................................................................................................................ 13 5.2.1 KingbaseES 的进程结构................................................................................................... 13 与 Oracle 数据库的进程结构的区别........................................................................... 14 5.2.2 5.3 数据库的内存管理................................................................................................................ 14 5.4 数据库的并发控制和事务处理............................................................................................ 14 5.5 数据库的备份和恢复............................................................................................................ 15 KingbaseES 的数据库备份和恢复...............................................................................15 5.5.1 5.5.2 与 Oracle 数据库备份和恢复的区别..........................................................................15 5.6 数据库的性能监控................................................................................................................ 15 5.7 数据库的安全性.................................................................................................................... 16 第 2页/共 20页
5.7.1 5.7.2 5.7.3 5.7.4 身份识别和认证............................................................................................................16 基于角色的权限管理和访问控制................................................................................16 审计................................................................................................................................17 数据库加密....................................................................................................................17 5.8 数据库的高可用性................................................................................................................ 18 6 数据库管理工具............................................................................................................................ 18 6.1 6.2 6.3 6.4 6.5 6.6 KingbaseES 企业管理器 ....................................................................................................... 18 KingbaseES 查询分析器 ....................................................................................................... 18 KingbaseES 数据迁移工具................................................................................................... 19 KingbaseES 逻辑备份还原工具 ........................................................................................... 19 KingbaseES 物理备份恢复工具.......................................................................................... 19 KingbaseES 控制管理器 ....................................................................................................... 20 第 3页/共 20页
1 概述 KingbaseES 是一个大型通用跨平台的多用户数据库管理系统,可以安装和运行于 Windows、Linux、Unix 等多种操作系统平台下。 本文档从系统的运行环境、数据库应用开发、数据库系统管理和数据库管理工具等几个 方面比较了 KingbaseES 和 Oracle 的不同之处。 本文档依据于 KingbaseES V6.1 和 Oracle 做相关比较。 2 系统的运行环境 2.1 KingbaseES 的系统运行环境  硬件环境 CPU: x86 或兼容机型,PowerPC,UltraSparc 等; 内存:256MB 以上,建议 512MB 以上; 硬盘:硬盘的大小与所需要存储的数据量有关。Linux 上建议采用 ext3 文件系 统,Windows 上使用 NTFS 文件系统。  软件环境 KingbaseES 服务器可以安装在 Microsoft Windows 2000/XP/2003,红旗/中标 /Red Hat/Turbo Linux,麒麟 Kylin,IBM AIX,Sun Solaris 操作系统下。在安装 KingbaseES 之前,需要配置好相应系统平台的系统参数。 2.2 与 Oracle 的比较 Oracle 支持更多的操作系统平台。KingbaseES 目前虽然只提供上述操作系统平台的版 本,但 KingbaseES 中与平台相关的代码是独立出来的,因此很容易扩展到对其他操作系统 平台的支持。 3 数据库对象 3.1 表空间 KingbaseES 表空间的定义和使用与 Oracle 基本相同。 第 4页/共 20页
3.2 表 KingbaseES 可以创建常规表和临时表,并在表上支持完整性约束: (1) 实体完整性(主码) (2) 参照完整性(外码) (3) 用户自定义的完整性(NOT NULL,UNIQUE,CHECK,DEFAULT)。 KingbaseES 支持对表的水平分片(Partition),定义和使用与 Oracle 基本相同。 Oracle 支持,但是 KingbaseES 目前不支持的表的特征有: (1) 不能指定表的物理存储特征,这与 KingbaseES 的物理存储结构(在后面章节中会介 绍)相关。 (2) 不支持对表的并行操作(Parallel) (3) 不支持索引组织表(Index-Organized Table) (4) 不支持 Cluster 存储的表 3.3 索引 KingbaseES 和 Oracle 都支持以下的索引类型: (1) B 树索引 a) Unique 和 Non-unique 索引 b) 复合索引(Composite index) (2) 函数索引 KingbaseES 支持但是 Oracle 不支持的索引类型:Hash 索引 KingbaseES 不支持但是 Oracle 支持的索引类型: (1) Bitmap 索引 (2) Domain 索引 Oracle 支持,但是 KingbaseES 目前不支持的索引的特征有: (1) 不能指定索引的物理存储特征 (2) 不支持索引的分区(Partition ,与不支持表的分区相对应) (3) 不支持索引 key 的压缩。 (4) 不支持 reverse Key 索引。 3.4 视图 与 Oracle 相同,KingbaseES 视图的实现基本遵循 SQL 标准。目前 KingbaseES 不支持 实体化视图(Materialized View)。 3.5 Sequence(序列号发生器) 序列号发生器的定义和使用与 Oracle 基本相同。 第 5页/共 20页
3.6 函数和存储过程 KingbaseES 和 Oracle 都提供了多种类型的内置系统函数。具体函数的使用可以参看手 册。 3.6.1 字符串函数 功能说明 对 NULL 值的 处理 Oracle KingbaseES 语法 NVL(STRING,STRING) 语法 NVL(STRING,STRING)或 ISNULL(STRING,STRING) 实例 SELECT NVL(NULL,’THIS IS 实例 SELECT NVL(NULL,’THIS IS NULL’) FROM DUAL; NULL’) FROM DUAL; 某字符串在另 语法 INSTR(STRMAIN,STRSUB) 语法 INSTR(STRMAIN,STRSUB)或 一个字符串中 的位置 POSITION(STRSUB STRMAIN) IN 实例 SELECT INSTR(‘BEI JING’, 实例 SELECT INSTR(‘BEI JING’, ‘JING’) FROM DUAL; ‘JING’) FROM DUAL; 取得字符串的 语法 LENGTH() 语法 LENGTH()或 CHAR_LENGTH()或 长度 取 得 字 符 串 的一部分 匹 配 字 符 转 换 CHARACTER_LENGTH() 实例 SELECT LENGTH(‘BEIJING’) 实例 SELECT LENGTH(‘BEIJING’) FROM DUAL FROM DUAL 语法 SUBSTR(S,FROM,TO) 语法 SUBSTRING(S,FROM,TO)或 SUBSTR(S,FROM,TO) 实例 SELECT 实例 SELECT SUBSTR('KINGBASEES',5,4) FROM DUAL; 语法 TRANSLATE SUBSTRING('KINGBASEES',5,4) FROM DUAL; 语法 TRANSLATE 实例 SELECT 实例 SELECT TRANSLATE('12345', TRANSLATE('12345', 'AX') FROM DUAL; '14', '14', 'AX') FROM DUAL; 3.6.2 类型转换函数 功能说明 将日期转 换为字符 串 将数值转 换为字符 串 Oracle KingbaseES 语法 TO_CHAR(日期,格式) 语法 TO_CHAR(日期,格式) 实例 SELECT 实例 SELECT TO_CHAR(SYSDATE,'YYYY-M M-DD') FROM DUAL; 语法 TO_CHAR(VALUE)或 TO_CHAR(VALUE, FORMAT) TO_CHAR(NOW(),'YYYY-MM-DD')F ROM DUAL; 语法 TO_CHAR(VALUE) 实例 SELECT TO_CHAR(12345) 实例 SELECT TO_CHAR(12345) FROM 第 6页/共 20页
将字符串 转换为数 字 将字符串 转换为日 期 将字符串 转换为时 间 FROM DUAL; DUAL; 语法 TO_NUMBER(VALUE) 语法 TO_NUMBER(VALUE) 实例 SELECT 实例 SELECT TO_NUMBER('12345') TO_NUMBER('12345') FROM DUAL FROM DUAL 语法 TO_DATE(TEXT,TEXT) 语法 TO_DATE(TEXT,TEXT) 实例 SELECT 实例 SELECT TO_DATE('20080808','YYYY DDMM')FROM DUAL; TO_DATE('20080808','YYYYDDMM ')FROM DUAL; 语法 TO_TIMESTAMP(TEXT,TEXT) 语法 TO_TIMESTAMP(TEXT,TEXT) 实例 SELECT 实例 SELECT TO_TIMESTAMP('2006-12-13 23:54:32', 'YYYY-MM-DD HH24:MI:SS')FROM DUAL; TO_TIMESTAMP('2006-12-13 23:54:32', HH24:MI:SS')FROM DUAL; 'YYYY-MM-DD 3.6.3 获得系统信息函数 功能说明 取系统当 前日期 取系统当 前时间 Oracle KingbaseES 语法 SYSDATE 语法 SYSDATE 或 CURRENT_DATE() 实例 SELECT SYSDATE FROM 实例 SELECT SYSDATE FROM DUAL; DUAL; 语法 SYSDATE 或 CURRENT_TIMESTAMP 实例 SELECT CURRENT_TIMESTAMP FROM DUAL; 语法 CURRENT_TIMESTAMP() 或 NOW() 实例 SELECT CURRENT_TIMESTAMP FROM DUAL; 取当前的 访问用户 语法 USER 语法 USER 或 CURRENT_USER 实例 SELECT USER FROM DUAL; 实例 SELECT USER FROM DUAL; 另外,KingbaseES 和 Oracle 都可以自定义函数和存储过程来扩充系统的功能。 自定义的函数和存储过程通常使用 PL/SQL 编写。有关 PL/SQL 差异在后面的章节中介 绍。 3.7 触发器 KingbaseES 和 Oracle 都支持在触发事件前后的语句级和行级的触发器。 Oracle 支持但是 KingbaseES 不支持的触发器特征如下: (1) 触发事件: KingbaseES 支持的事件是对表的增、删、改操作。 Oracle 除此之外还支持修改某个列、DDL 事件和 DATABASE 事件。 (2) 触发事件前后触发器,Oracle 还支持在视图上的 INSTAEDOF 触发器 第 7页/共 20页
(3) 在触发器动作的定义中,Oracle 允许使用在触发器定义中给 old 和 new 定义别 名。 触发器的动作通常使用 PL/SQL 编写。有关 PL/SQL 差异在后面的章节中介绍。 3.8 KingbaseES 不支持的数据库对象 Oracle 支持而 KingbaseES 目前的版本没有的数据库对象包括: (1) 同义词(synonyms) (2) package (3) Materialized views (4) Index-organized Table (5) Cluster (6) Dimensions (7) Contexts (8) Directories (9) Profiles (10) Rollback segment 4 SQL 4.1 数据类型 KingbaseES 支持多种内置的数据类型,其数据类型的实现基本上遵循 SQL 标准中的定 义, 下图为与 Oracle 的数据类型对照表。 说明 字符串类型 VARCHAR2 Oracle LONG CLOB 数值数据类型 NUMBER 日期时间型 二进制串类型 BFILE DATE 或 TIMESTAMP RAW 或 LONG RAW BLOB KingbaseES VARCHAR 或 VARCHAR2 TEXT CLOB NUMERIC TIMESTAMP BLOB BYTEA BLOB 目前 Oracle 支持,但是 KingbaseES 目前不支持的数据类型有: (1) BFILE (2) "Any" Types (3) XML Types (4) Spatial Type (5) Media Types 与 Oracle 一样,KingbaseES 用户可以创建新的数据类型。 第 8页/共 20页
分享到:
收藏