第一章: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
待持续完善......