我正在尝试编写一个sql脚本来检查表是否存在,如果存在则将其删除,然后重新创建表。我正在尝试使用DB2 9.7LUW的sql脚本和IBM Data studio 2.2来实现这一点。
(1)声明@tablefound整数;
SET @TABLEFOUND = (select COUNT(*) from syscat.tables where tabschema = 'AELUM‘and tabname = 'PRODUCTS');
(2) IF @TABLEFOUND>0 THEN
DROP TABLE "AELUM"."PRODUCTS
我有持久化Hibernate的DB2数据库。我想为一个具体的“用户”撤销对所有数据库中所有表的DROP TABLE权限。因此,普通的“用户”不能删除任何DB2数据库中的表。我也有mySQL数据库,但我不在乎在其中做DROP语句。
有没有可能通过components.xml (hibernate)中的标记来做这件事,或者必须直接在DB2上做?(以及如何?-什么样的sql脚本会在所有DB2s的所有方案上为一个具体用户撤销DROP语句?要撤销CREATE STAT,我找到了以下内容:
REVOKE CREATETAB ON DATABASE DB1 FROM USER1 BY ALL;
...bu
我试图使用检查IBM中所有表的所有计数。当我尝试运行这个DB2 SQL脚本时
db2 "SELECT 'SELECT COUNT(*) AS ROW_COUNT FROM '|| tabschema || '.' || tabname || ';' FROM sysibmadm.admintabinfo WHERE tabschema not like 'SYS%' order by tabschema, tabname asc" > script
Linux将返回
bash: script: Permiss
我目前正在使用DB2,并计划使用cassandra,因为据我所知,cassandra的读取性能优于关系数据库管理系统。
也许这是一个愚蠢的问题,但我有一个实验,比较DB2和卡桑德拉的阅读性能。
使用500万条记录和相同的表架构进行测试。使用查询SELECT * FROM customer。DB2使用25-30,卡桑德拉使用40-50。
但是查询where条件SELECT * FROM customer WHERE cusId IN (100,200,300,400,500) DB2使用2-3s和Cassandra使用3-5 5ms。
为什么卡桑德拉比DB2快,条件在哪里?所以我无法证明哪个数据
在DB2 for linux平台上,我可以在SYSIBM.SYSTBSPACEAUTH表中检查它。例如:
SELECT * FROM SYSIBM.SYSTBSPACEAUTH WHERE GRANTEE=....
既然没有SYSIBM.SYSTBSPACEAUTH表,那么在z/os上如何做到这一点呢?
提前感谢,去吧
我创建了一个包含数据类型decfloat列的表,但是当我试图为这个表创建一个联邦昵称时,如下所示:
CREATE SERVER CRV_TEST TYPE DB2/UDB VERSION '9.7' WRAPPER DRDA
AUTHORIZATION "XXX" PASSWORD "XXX" OPTIONS ( DBNAME 'XXX' );
CREATE USER MAPPING FOR DB2INST3 SERVER CRV_TEST
OPTIONS ( REMOTE_AUTHID 'xxx
你可以提到DB2依赖目录表,找出表和视图,表和索引,表和触发器之间的依赖关系,举例说明。
在Oracle中,我可以使用All_Dependencies表和查询表和视图
SELECT * From All_Dependencies
WHERE Type = 'VIEW' AND
Referenced_Owner = 'ownerName' AND
Referenced_Type = 'TABLE' AND
Referenced_Name = 'tableName'
在DB2中有SYSIBM.SYS
在Db2 Enterpise Server v11.1上,Linux/Intel上的单个数据库使用LOGARCHMETH1执行备份和还原命令:
db2 "backup database mydb online to /path/to/backup include logs without prompting"
然后在相同的Linux/Db2计算机上:
db2 "restore database mydb from /path/to/backup into mydb logtarget /path/to/logs"
“备份的结束”和“日志的结束”有什么区别?
db