oracle和mysql和db2区别_MySQL、Oracle与DB2数据库差异

第一章:SQL执行差异

1.DB2数据库

1.1用户创建

#用户名等1到8个字符#DB2中用户必须是个操作系统用户(比如Windows和Linux用户)

#等同于在系统中创建用户设置密码(这点不同于oracle等数据库)

useradd -d /home/testuser -m testuser

passwd testuser

1.2赋权限

#查看数据库 dbdbname

su -db2inst

db2 list application#连接数据库权限授予、撤销

db2 connect to dbdbname user db2inst using db2inst

db2 GRANT dbadm ON DATABASE TO USER testuser;

db2 REVOKE connect,resource,dba ON DATABASE FROM testuser;

1.3创建表空间

--删除、创建自动存储、注释表空间

droptablespace testuserdb;CREATE TABLESPACE testuserdb MANAGED BYAUTOMATIC STORAGE;

COMMENT ONTABLESPACE testuserdbIS '表空间';

1.4创建schema

--查询当前存在的Schema

select * fromsyscat.schemata;--在不同用户下创建与之相同的默认 schema

DROP schema testuser RESTRICT;CREATE schema testuser authorizationtestuser;--查询、修改当前Schema(DB2数据库中用户与Schema没有必然联系,设置给用户设置一个与之相同的默认Schema)

select current schema fromsysibm.sysdummy1;SET CURRENT SCHEMA = 'testuser';

1.5创建索引

select * from sysibm.sysindexes where tbname = 'TESTTABLE'; --查看表索引

drop index ind_emp; --删除索引

create index ind_emp on testtable(NO); --普通索引

create unique index ind_emp on testtable(NAME,TYPE,NO); --唯一索引

Create unique index ind_emp on u_emp(emp) cluster; --聚集索引

2.Oracle数据库

2.1创建用户、赋权限、删除用户

3.MySQL数据库

第二章:在使用与功能上的差异总结

编号

功能

MySQL

DB2

1

账号管理

数据库用户名+IP地址

操作系统用户

2

权限管理

可以批量grant与revoke

只能单独授权包括最小单元

3

日志管理

归档日志与事务日志没有关系

归档日志由事务日志产生

4

锁的管理

MVCC实现锁的并发控制

内存模型实现锁的并发控制

5

schema的管理

每个schema为一个独立的DB

同一个DB内可以有多个schema

6

表空间管理

无法条带化、可管理、维护性较弱

管理方便、功能强大

7

数据备份

开源在线的备份工具少,传统的备份只支持温备份

备份方式严谨、功能强大

8

事务行为

回滚到上一个保存点,不会回滚整个事务

整个事务进行回滚

9

数据恢复

支持在恢复时打开数据库,灵活

不支持在恢复或前滚时打开数据库

10

SQL支持

对复杂SQL支持较弱,在运行时可能会存在性能问题

支持各种复杂SQL,多种jion方式

11

Package支持

不支持

支持

12

语法差异

遵守SQL92标准,但细节上有差异、默认大小写敏感

遵守SQL92标准,大小写不敏感

13

容灾与高可用

可选择方案较多、灵活、可二次开发

只有HADR

14

可扩展性

可选择方案较多、灵活、可定制、可开发

只有PureScale

15

DDL功能

支持指定位置加列、在线DDL

不支持

第三章:数据库连接&报错等

1.DB2数据库

1.1报错:https://www.cnblogs.com/ZhaoHS/p/14212588.html

1.2 驱动:com.ibm.db2.jcc.DB2Driver

URL:jdbc:db2://9.1.17.47:50001/TRDADB

2.MySQL数据库

2.1mysql安装磁盘满了,服务停止不能启动

启动mysql数据库

systemctl start mysqld

连接mysql数据库

mysql -h9.1.15.72 -uroot -proot

2.2驱动:com.mysql.cj.jdbc.Driver

URL:jdbc:mysql://9.1.15.72:3306/afaconsole?characterEncoding=utf8

待持续完善......

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值