DB2数据库

DB2是IBM公司研制的一种关系型数据库系统,它主要应用于大型应用系统,具有很强的海量数据处理能力,具有较好的可伸缩性 教学地址

可支持从大型机到单用户环境,包括DB2工作组版(DB2Workgroup Edition)、DB2企业版(DB2 Enterprise Edition)、DB2个人版(DB2 Personal Edition)和DB2企业扩展版(DB2 Enterprise-Exended Edition)等,这些产品基本的数据管理功能是一样的,区别在于支持远程客户能力和分布式处理能力。日常可自行安装DB2个人版进行学习,本教程旨在帮助初学者了解DB2,方便日后的进一步学习。

1、什么是DB2?

百度百科
DB2是IBM公司于1983年研制的一种关系型数据库系统(Relational Database Management System),主要应用于大型应用系统,具有较好的可伸缩性 。DB2是IBM推出的第二个关系型数据库,所以称为db2。DB2 提供了高层次的数据利用性、完整性、安全性 、并行性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令运行环境。可以同时在不同操作系统使用,包括Linux、UNIX 和 Windows。
DB2数据库_第1张图片

2、DB2数据库的特色

✔ 支持面向对象的编程db2支持复杂的数据结构,如无结构文本对象,可以对无结构文本对象进行布尔匹配、最接近匹配和任意匹配等搜索。可以建立用户数据类型和用户自定义函数。
✔ 支持多媒体应用程序
✔ db2支持大二分对象(blob),允许在数据库中存取二进制大对象和文本大对象。其中,二进制大对象可以用来存储多媒体对象。
✔ 备份和恢复能力
✔ 支持存储过程和触发器,用户可以在建表时显示的定义复杂的完整性规则
✔ 提供GUI和命令行,在windows和Unix下操作相同
✔ 支持异构分布式数据库访问
✔ 支持数据复制

3、DB2数据库的优势

✔ 开放性。 能在所有主流平台上运行(包括windows)。最适于海量数据。
✔ 可伸缩性,并行性。具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点。
✔ 安全性。获得最高认证级别的ISO标准认证。
✔ 客户端支持及应用模式。跨平台,多层结构,支持ODBC,JDBC等客户。
✔ 操作。操作简单,同时提供GUI和命令行,在windowsNT和unix下操作相同。
✔ 使用风险。在巨型企业得到广泛的应用,向下兼容性好。风险小。

4、使用场景

DB2性能较高,适用于数据仓库和在线事物处理。DB2 超大型数据库,数据仓库和数据挖掘相当的不错,特别是集群技术可以使DB2的可扩性能达到极致。

部署

docker run -itd --name mydb2 --privileged=true -p 50000:50000 -e LICENSE=accept -e DB2INST1_PASSWORD=123.com -e DBNAME=db2 -v  /data/db2:/database ibmcom/db2

查看日志

[root@master ~]# docker logs mydb2
2022-06-15-01.05.48.427085+000 I233623E393           LEVEL: Warning
PID     : 15210                TID : 139833389700992 PROC : db2start
INSTANCE: db2inst1             NODE : 000
HOSTNAME: 1e01bd034b3b
FUNCTION: DB2 UDB, base sys utilities, sqleReleaseStStLockFile, probe:16187
MESSAGE : Released lock on the file:
DATA #1 : String, 50 bytes
/database/config/db2inst1/sqllib/ctrl/db2strst.lck

进入容器中

[root@master ~]# docker exec -ti mydb2 bash -c "su - db2inst1"
Last login: Wed Jun 15 01:07:54 UTC 2022
[db2inst1@1e01bd034b3b ~]$ pwd
/database/config/db2inst1
[db2inst1@1e01bd034b3b ~]$ ls
set_rec_values.sh  sqllib
# 连接实例
[db2inst1@1e01bd034b3b ~]$ db2 attach to db2inst1

   Instance Attachment Information

 Instance server        = DB2/LINUXX8664 11.5.7.0
 Authorization ID       = DB2INST1
 Local instance alias   = DB2INST1
# 断开实例
[db2inst1@1e01bd034b3b ~]$ db2 detach
DB20000I  The DETACH command completed successfully.

# 创建数据库
[db2inst1@1e01bd034b3b ~]$ db2 create db test
db2 connect to test
DB20000I  The CREATE DATABASE command completed successfully.
# 连接数据库
[db2inst1@1e01bd034b3b ~]$ db2 connect to test

   Database Connection Information

 Database server        = DB2/LINUXX8664 11.5.7.0
 SQL authorization ID   = DB2INST1
 Local database alias   = TEST
 
db2 get dbm cfg				# 查看实例参数
db2 list db directory		# 查看数据库列表
db2 drop database TEST		# 删除数据库

# 查看db2端口
[db2inst1@1e01bd034b3b ~]$ db2 get dbm cfg|grep SVCENAM
 TCP/IP Service name                          (SVCENAME) = db2c_db2inst1
 SSL service name                         (SSL_SVCENAME) = 
[db2inst1@1e01bd034b3b ~]$ cat /etc/services | grep db2c_db2inst1
db2c_db2inst1      50000/tcp
db2c_db2inst1_ssl  50001/tcp

Don’t give up so easily! Your parents have been waiting for you their whole life.

你可能感兴趣的:(Docker,数据库,windows,database,后端,db)