db2数据库编目
❶ DB2与oracle有什么区别
1、体系结构,DB2的实例和数据库分开的做法,我个人还是比较喜欢的,因为实例可以创建多个,数据库的恢复直接恢复到实例下就可以了,相对ORACLE简单多了。
2、管理工具,DB2的管理工具做得太简陋了,控制中心只能说能用而已,而且还有好多BUG,不如ORACLE的企业管理器做得好,连WEB版都没有。
3、备份管理,DB2的备份只能说是简陋了,没有备份集的管理功能,没有恢复预览和校验功能,不能写到网络驱动器上,唉太多的没有了,ORACLE的RMAN确实强大;
4、DB2的命令执行方式,我很喜欢,可以在命令行上执行SQL,也可以在命令窗口上执行SQL,相对SQLPLUS灵活多了;
5、DB2的自动维护功能做的很好,可以定期自动整理数据库碎片和重建索引,唯一不大理想的是自动维护的备份功能不能指定压缩备份,相对而言ORACLE的自动维护功能就很一般了;
6、DB2的运行状况的功能我也很喜欢,ORACLE也有类似的AHM,但是 DB2的运行状况更为直接,可以一下就看出数据库目前有啥问题,DB2还给出了如何处理的建议顾问程序;
7、DB2的内存状况监控功能本来我也很喜欢,可以直接在内存状况监控上直接改相应的参数,但是发现一个巨大BUG后,我就很不喜欢了,如果你一直点刷新,发现内存占用量会不断上升,我有次为了监控一个内存参数,让这个工具运行了一天一夜,结果回来一看,晕倒,所有的内存参数增长到数百G,我想看的历史变化情况居然没有。
8、DB2的远程网络连接采用的编目方式描述连接串的方式我感觉很不爽,为了改个客户端的连接服务器的IP地址,所有的客户端都需要将编目删除,然后重新编目连接地址,晕倒100多台PC机搞下来,尽管可以使用脚本,但是还是把人都快搞疯了。ORACLE采用的用文件来配置远程服务器的方式,所有的PC机都通过更新服务器直接更新本机的TNSNAME,1分钟搞定。
9、DB2的数据库创建如果要手工管理容器,居然没有指定缺省的系统表空间数据文件名,你要创建一堆相应的文件名,没办法,只好照抄oracle的OFA体系结构的文件名。
10、DB2的连接配置图形工具实在是差了,在上面配置一步步配出的连接居然不能用!只好使用脚本,这点ORACLE比DB2强多了。
11、DB2在WINDOWS 平台的可靠性不怎么样,3个多星期无缘无故DOWN了4次机,ORACLE配好了应该没有这么悲惨吧。
12、DB2的锁自动管理机制,我比较喜欢,打开后,互锁的概率大大降低,相同的程序,在DB2下锁明显少许多,但是不爽的是DB2的select命令也是加锁的。
13、DB2 9.7的ORACLE兼容模式,我也很喜欢,迁移麻烦少了许多许多。
14、DEB2 的自动内存管理我看要比ORACLE 要强一些,几乎所有的内存参数都能自动管理,ORACLE11G貌似也可以全部自动管理了。
15、DB2的导出数据的工具实在太简陋了,连oracle的EXP/IMP 都不如,更不要说expdp/impdp
16、DB2的SQL语句运行速度明显快于ORACLE,5-6段相同的代码,同一台机器,参数都是缺省参数,个人测试DB2执行速度大约要快10%-15%,也许和DB2缺省的参数调优有关,ORACLE10g调优后,还是还有5-10%左右的差异。
❷ 如何设置数据库编目
如果在不同的机器上,你就做数据库编目。原理就是你要访问那个数据库,你要先访问那台主机,然后访问到主机上的实例,通过实例访问数据库。分两步:
1、编目远程节点
db2 catalog tcpip node 节点名(随便起) remote 远程机器ip地址 server 远程机器实例端口号
例如:db2 catalog tcpip node NODE_ B remote 192.168.1.1 server 50000
就是把地址为192.168.1.1 端口为50000的实例编目到本机名字为NODE_B的节点上
2、编目远程数据库
db2 catalog db 数据库名 at node NODE_B
例如:db2 catalog db B at node NODE_B 就是编目名字为B的数据库在节点NODE_B上
3、db2 terminate
4、db2 list db directory 你就能看见数据库了
❸ db2常用命令
操作数据库命令
1、 启动数据库实例
#db2start
2、 停止数据库实例
#db2stop
如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all就可以了 /db2stop force
3、 创建数据库
#db2 create db [dbname]
4、 连接到数据库
#db2 connect to [dbname] user[username] using [password]
5、 断开数据库连接
#db2 connect reset
操作数据表命令
1、 列出所有用户表
#db2 list tables
2、列出所有系统表
#db2 list tables for system
3、列出所有表
#db2 list tables for all
4、 列出系统表
#db2 list tables for system
5、列出用户表
#db2 list tables for user
6、 列出特定用户表
#db2 list tables for schema[user]
❹ DB2和Oracle的区别
Oracle和DB2是两种不同的数据库。
Oracle:
Oracle是甲骨文公司的一款关系数据库管理系统。
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
DB2:
全称为IBM DB2。是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本。
DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 DB2以拥有一个非常完备的查询优化器而着称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。