[IBM][CLI Driver] SQL0270N 函数不受支持(原因码:"75")。 SQLSTATE=42997
db2 update dbm cfg using FEDERATED yes
与
自动维护 (AUTO_MAINT) = ON
自动数据库备份 (AUTO_DB_BACKUP) = OFF
自动表维护 (AUTO_TBL_MAINT) = ON
自动 runstats (AUTO_RUNSTATS) = ON
自动语句统计信息 (AUTO_STMT_STATS) = ON
自动统计信息概要分析 (AUTO_STATS_PROF) = ON
自动概要文件更新 (AUTO_PROF_UPD) = ON
自动重组 (AUTO_REORG) = ON
红色的有冲突
启用自动表和索引重组
DB2 V9 可以对表和所以进行自动重组。要进行高效率的数据访问和获得最佳工作负载性能,具有组织良好的表数据是很关键的。在对表数据进行许多更改之后,逻辑上连续的数据可能会位于不连续的物理数据页上,在许多插入操作创建了溢出记录时尤其如此。按这种方式组织数据时,数据库管理器必须执行其他读操作才能访问顺序数据。另外,在删除大量行后,也需要执行其他的读操作。表重组操作会整理数据碎片来减少浪费的空间,并对行进行重新排序以合并溢出记录,从而加快数据访问速度并最终提高查询性能。还可以指定根据特定索引来重新排序数据,以便查询通过最少次数据读取操作就可以访问数据。既可重组系统目录表,也可以重组数据库表。由 RUNSTATS 收集的统计信息与其他信息一起来显示表中的数据分发情况。特别是,通过分析这些统计信息可以知道何时需要执行哪种类型的重组。自动重组通过使用 REORGCHK 公式来确定何时需要对表进行重组。它会定期评估已经更新了统计信息的表,以便了解是否需要重组。如果需要重组,则它会在内部调度对表进行传统重组。这将要求执行应用程序功能而不对正在重组的表进行写访问。可以使用 AUTO_REORG、AUTO_TBL_MAINT 和 AUTO_MAINT 数据库配置参数来启用或禁用自动重组功能部件。在分区数据库环境中,确定执行自动重组和启动自动重组是在目录分区上完成的。只需要在目录分区上启用数据库配置参数。将在目标表所在的所有数据库分区上运行重组。如果您不太确定何时以及如何重组表和索引,则可以将自动重组作为整个数据库维护方案的一部分。
统计信息概要文件是由 RUNSTATS 实用程序提供了一个选项来注册并使用的,该文件是一组选项,这些选项指定要对特定表收集的统计信息,例如,表统计信息、索引统计信息或分布统计信息。此功能部件简化了统计信息收集,它允许您存储在发出 RUNSTATS 命令时指定的一些选项,从而,可以对表反复收集相同的统计信息而不必重新输入命令选项。无论实际上是否正在收集统计信息,都可以注册或更新统计信息概要文件。例如,要同时注册概要文件和收集统计信息,可发出带有 SET PROFILE 选项的 RUNSTATS 命令。要在实际上并没有收集统计信息的情况下只注册概要文件,可发出带有SET PROFILE ONLY 选项的 RUNSTATS 命令。要使用已经注册的统计信息概要文件来收集统计信息,发出 RUNSTATS 命令,并且只指定表名和 USE PROFILE 选项。
统计信息概要文件还可以由 DB2 自动统计信息概要分析自动生成。当启用了此功能时,会收集有关数据库活动的信息,并将这些信息存储在查询反馈仓库中。可根据此数据来生成统计信息概要文件。启用此功能可以缓解统计信息与特定工作负载相关的不确定性问题,并可以收集最少的统计信息集来提供最佳的数据库工作负载性能。可以将此功能与自动收集统计信息功能配合使用,后一项功能会根据自动生成的统计信息概要文件中包含的信息来自动安排统计信息维护。要启用此功能,需要已经通过设置适当的配置参数启用了表的自动维护。AUTO_STATS_PROF 配置参数将激活查询反馈数据的收集,而 AOTO_PROF_UPD 配置参数将激活生成统计信息概要文件以供自动收集统计信息使用。
需要注意的是,生成统计信息概要文件不太适合 OLTP 环境中,比较适合 OLAP(运行使用许多谓词的大而复杂的查询、谓词列的数据中经常具有关联以及对几个表进行连接和分组)环境中使用。另外,自动生成统计信息概要文件只能以 DB2 串行方式激活,而对于联合环境、多分区 MPP 环境以及启用了分区内并行性的环境中的查询将禁用此功能。
接下来为了演示统计信息概要文件不能在联合环境中使用,我们先把 DBM CFG 中的 FEDERATED 配置参数设置成 ON,打开联合系统,提交,断开所有连接,重启示例,在 DB2CLP 窗口环境中,输入 UPDATE DBM CFG 等命令,具体如清单 1 所示:
清单 1. 更新 DBM CFG 参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
C:\> db2 update dbm cfg using FEDERATED yes DB20000I UPDATE DATABASE MANAGER CONFIGURATION命令成功完成。 SQL1362W 为立即修改而提交的一个或多个参数未动态更改。直到下次启动应用程序或发出 TERMINATE 命令之后,客户机更改才会生效。直到下一条 DB2START命令之后,服务器更改才会生效。 C:\> db2 terminate DB20000I TERMINATE命令成功完成。 C:\> db2 force applications all DB20000I FORCE APPLICATION命令成功完成。 DB21024I 该命令为异步的,可能不会立即生效。 C:\> db2stop 2007-09-23 19:54:07 0 0 SQL1064N DB2STOP 处理成功。 SQL1064N DB2STOP 处理成功。 C:\> db2start 2007-09-23 19:54:16 0 0 SQL1063N DB2START 处理成功。 SQL1063N DB2START 处理成功。 |
接下来我们连上数据库,对清单1中创建的示例数据库 DB2TEST1 启用自动统计信息概要分析和自动概要文件更新功能,在 DB2CLP 窗口环境中 ,连接上示例数据库 DB2TEST1,通过发出 UPDATE DB CFG 命令修改自动统计信息概要分析(AUTO_STATS_PROF)、自动概要文件更新(AOTO_PROF_UPD)参数,将其值置为 ON,具体如清单 2 所示:
清单 2. 更新 DB CFG 参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
C:\> db2 connect to db2test1 数据库连接信息 数据库服务器 = DB2 / NT 9.1.0 SQL 授权标识 = RHETTE 本地数据库别名 = DB2TEST1 C:\> db2 update db cfg using AUTO_STATS_PROF ON SQL0270N 函数不受支持(原因码 = " 75 " )。 SQLSTATE = 42997 C:\> db2 update db cfg using AUTO_PROF_UPD ON SQL0270N 函数不受支持(原因码 = " 75 " )。 SQLSTATE = 42997 |
命令执行失败,报 SQL0270N 错误,通过查询 DB2 帮助得知这是由于在联合系统中自动统计信息概要分析和自动概要文件更功能,我们在 DB2CLP 窗口中发出“DB2 ? SQL错误号”命令查询 SQL0270N(原因码 = " 75 " )对应的错误,具体如清单 3 所示:
清单 3. 更新 DB CFG 参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
C:\> db2 ? SQL0270N SQL0270N 函数不受支持(原因码 = "《原因码》")。 解释: 因为该语句违反由下列原因码所指示的限制,所以不能处理它: 1 主键、每个唯一约束以及每个唯一索引必须包含表的所有分布列(这些列可以按任何顺序出现)。 2 不支持更新分布键列值。 3 如果定义外键时指定了 ON DELETE SETNULL,则它不能包含任何可空分布键列。由于定义这样 的约束将导致尝试更新分布键列,所以这是原因码 2 的特殊情况。 . . . . . . . . . . . . . . . . . . . . 75 多数据库分区系统、启用了 SMP的系统或联合系统不支持自动统计信息概要分析功 能。 83 无法处理该语句,因为 DATA CAPTURE CHANGES 与COMPRESS YES 不兼容。 84 分区数据库不能启用自动存储器。 85 不能将分区添加至启用了自动存储器的单一分区数据库。 87 不能将下列类型的表定义为分区表:类型表、登台表、用户临时表和范围集群表。 . . . . . . . . . . . . . . . . . . . . 用户响应: 与原因码对应的操作是: . . . . . . . . . . . . . . . . . . . . 75 通过将数据库配置参数 AUTO_STATS_PROF 和AUTO_PROF_UPD 设置为OFF,对此数据库禁用 自动统计信息概要分析功能。 或者将系统更改为位于非联合的、未启用 SMP的单个数据库分区上的系统。 . . . . . . . . . . . . . . . . . . . . sqlcode : -270 sqlstate : 42997 |
通过帮助我们的用户响应,我们需要把系统更改为非联合的。接下来我们把我们先把DBM CFG中的FEDERATED配置参数设置成NO,关闭联合系统,提交,断开所有连接,重启示例,在DB2CLP窗口环境中,输入UPDATE DBM CFG 等命令,具体如清单12所示:
清单 4. 更新 DBM CFG 参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
C:\> db2 update dbm cfg using FEDERATED no DB20000I UPDATE DATABASE MANAGER CONFIGURATION命令成功完成。 SQL1362W 为立即修改而提交的一个或多个参数未动态更改。直到下次启动应用程序 或发出TERMINATE 命令之后,客户机更改才会生效。直到下一条 DB2START命令之后,服务器更改才会生效。 C:\> db2 terminate DB20000I TERMINATE命令成功完成。 C:\> db2 force applications all DB20000I FORCE APPLICATION命令成功完成。 DB21024I 该命令为异步的,可能不会立即生效。 C:\> db2stop 2007-09-23 19:42:49 0 0 SQL1064N DB2STOP 处理成功。 SQL1064N DB2STOP 处理成功。 C:\> db2start 2007-09-23 19:42:55 0 0 SQL1063N DB2START 处理成功。 SQL1063N DB2START 处理成功。 |
接下来我们再次连上数据库,对示例数据库DB2TEST1启用自动统计信息概要分析和自动概要文件更新功能,在 DB2CLP 窗口环境中 ,连接上示例数据库 DB2TEST1,通过发出 UPDATE DB CFG 命令修改自动统计信息概要分析(AUTO_STATS_PROF)、自动概要文件更新(AOTO_PROF_UPD)参数,将其值置为 ON,具体如清单 13 所示:
清单 5. 更新 DB CFG 参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
C:\> db2 connect to db2test1 数据库连接信息 数据库服务器 = DB2 / NT 9.1.0 SQL 授权标识 = RHETTE 本地数据库别名 = DB2TEST1 C:\> db2 update db cfg using AUTO_STATS_PROF ON DB20000I UPDATE DATABASE CONFIGURATION命令成功完成。 C:\> DB2 UPDATE DB CFG USING AUTO_PROF_UPD ON DB20000I UPDATE DATABASE CONFIGURATION命令成功完成。 |
这样我们就成功地启用自动统计信息概要分析和自动概要文件更新功能,可以通过 GET DB CFG 查看配置参数,具体如清单 6 所示:
清单 6. 查看示例数据库 DB2TEST1 的配置参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
C:\> db2 get db cfg for db2test1 数据库 的数据库配置 数据库配置发行版级别 = 0x0b00 数据库发行版级别 = 0x0b00 数据库地域 = CN 数据库代码页 = 1386 数据库代码集 = GBK 数据库国家/地区代码 = 86 数据库整理顺序 = UNIQUE 备用整理顺序 ( ALT_COLLATE ) = 数据库页大小 = 4096 . . . . . . . . . . . . . . . . . . . . 自动维护 ( AUTO_MAINT ) = ON 自动数据库备份 ( AUTO_DB_BACKUP ) = ON 自动表维护 ( AUTO_TBL_MAINT ) = ON 自动 runstats ( AUTO_RUNSTATS ) = ON 自动统计信息概要分析 ( AUTO_STATS_PROF ) = ON 自动概要文件更新 ( AUTO_PROF_UPD ) = ON 自动重组 ( AUTO_REORG ) = OFF |
接下来继续在DB2CLP窗口中中打开自动重组功能,输入UPDATGE DB CFG命令,把AUTO_REORG参数置成ON,打开自动重组功能(自动维护和自动表维护等父项开关必须都打开才有效),具体如清单 7 所示:
清单 7. 更新 DB CFG 参数
1
2
|
C:\> DB2 UPDATE DB CFG USING AUTO_REORG ON DB20000I UPDATE DATABASE CONFIGURATION命令成功完成。 |
命令成功完成,这样我们就打开了自动重组功能。另外,同本文的第一部分和第二部分一样,对自动重组、自动统计信息概要分析、自动概要文件更新也可以在图形化界面的配置自动维护中进行。
在控制中心在示例数据库DB2TEST1上右键单击,选择自动维护窗口, 打开,在第五个页面“选择要配置的维护活动”页面中对“整理表和索引数据碎片( REORG )”这条记录中的“自动化”列打上勾即可,具体界面如图12所示:
图 1. 配置自动维护窗口选择配置的维护活动页面
双击“整理表和索引数据碎片( REORG )”记录,或者选中这条记录并单击页面下面的“配置设置”按钮,就会打开“配置设置-整理数据碎片( REORG )”窗口,在其第一个标签页“表作用域”中,可以指定要将数据库中的哪些表用于自动重组。要排除特定表,使用“选择的表”选项并标识要使用国旅排除哪些表。要限制将进行自动重组的表的大小,可以指定大小限制。具体界面如图13所示:
图 2. 配置设置 - - 整理数据碎片( REORG )
在其第二个标签页“重组选项”中,可以指定索引重组方式是使用联机还是脱机,联机的方式允许对索引进行写访问,联机索引重组将在联机维护窗口中运行,注意,如果不允许对表进行写访问,则将使用脱机方式并且将在脱机维护窗口中运行索引重组。脱机方式允许对索引进行读访问。脱机索引重组将在脱机维护窗口中运行,注意,如果不允许对表进行读访问,则将在不进行访问的情况下重试脱机索引重组。
另外,本窗口还可以指定要用于压缩数据字典的选项,默认是保留,也可以重新选择成重建。具体如图14所示:
图 3. 配置设置 - - 整理数据碎片( REORG )
关于配置自动维护窗口的其他页面和上面所述的差不多,不再累述。
[IBM][CLI Driver] SQL0270N 函数不受支持(原因码:"75")。 SQLSTATE=42997的更多相关文章
- mstsc远程连接发生身份验证错误要求的函数不受支持
在win7电脑上使用远程连接连接一台服务器时,出现发生身份验证错误要求的函数不受支持的错误,原因是本地组策略配置错误,如下图: 解决办法: 进入windows命令行模式输入命令: 会弹出本地策略组编辑 ...
- WIN7远程桌面连接--“发生身份验证错误。要求的函数不受支持”
故障现象:WIN7发现远程桌面无法连接了,报“发生身份验证错误.要求的函数不受支持”的错误: 解决办法:开始菜单->运行gpedit.msc 打开配置项:计算机配置>管理模板>系统& ...
- Win10 远程桌面连接出现“要求的函数不受支持”的解决办法之修改注册表
问题起因 笔者自己在阿里云上搞服务器,有一台 Windows Server 必须通过远程桌面连接来管理,由于没能完全关掉 Win10 自带的烦人的系统更新,导致昨天安装完更新后出现了连接远程桌面时“要 ...
- windows连接远程win服务器失败,win7win10都存在此问题,显示出现身份验证错误,要求的函数不受支持,可能由于CredSSP加密Oracle修正 (原)
之前电脑windows+mstsc连接另一个windows服务器正常登陆,可在更新本地系统为win10以后,登陆就出现了问题,提示的错误是,出现身份验证错误.要求的函数不受支持,可能由于CredSSP ...
- Win7 发生验证错误 要求的函数不受支持
今天登陆服务器突然登不上了,给我报了一个错误“发生验证错误 要求的函数不受支持”,用同事的win7电脑和win10电脑都可以,就是我的不行,气死我了,然后我百度百度啊,用了好几种“说用了就OK”的办法 ...
- [IBM][CLI Driver][DB2/NT] SQL1101N 不能以指定的授权标识和密码访问节点 "" 上的远程数据库 "LBZM"。 SQLSTATE=08004
[IBM][CLI Driver][DB2/NT] SQL1101N 不能以指定的授权标识和密码访问节点 "" 上的远程数据库 "LBZM". SQLST ...
- windows10 升级1803后,远程错误提示“出现身份验证错误,要求的函数不受支持 CredSSP 加密 Oracle修正”的解决办法
远程出现错误提示:出现身份验证错误,要求的函数不受支持 CredSSP 加密 Oracle修正 运行 gpedit.msc 本地组策略: 计算机配置>管理模板>系统>凭据分配> ...
- 远程桌面连接 [Content] 出现身份验证错误。 要求的函数不受支持
[Window Title] 远程桌面连接 [Content] 出现身份验证错误. 要求的函数不受支持 以上是我远程得时候报的错. 下面直接上 最NB得解决方案.不管用直接在下面评论 通过管理控 ...
- win10 远程桌面远程电脑时每次要输入密码及身份验证错误,要求的函数不受支持问题解决
解决以前每次远程时能能记住密码,更新系统补丁后现在每次登录要输入密码了及远程时提示身份验证错误,要求的函数不受支持问题 解决方法一.卸载更新安装的新补丁,远程桌面正常,能记住密码 解决方法二.修改注册 ...
随机推荐
- 阿里云轻量应用服务器 怎么控制怎么上传文件怎么安装JDK和Tomcat怎么完成JavaWeb的部署
你是否遇到过这些问题,自己的javaweb项目本地运行一切正常,但是一旦转移到阿里服务器之类的.就出现以下问题. 1 jsp无法解析java类 2 Only a type can be importe ...
- 黄聪:通过 itms:services://? 在线安装ipa ,跨过appstore
1.需要一个html文件,引导下载用户在线安装ipa <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&quo ...
- 会话保持及Form表单
1,cookie技术视图views里面:def index(request): #获取请求中的cookie num = request.COOKIES.get('num') if num: num = ...
- android ButterKnife 点击事件没反应的解决方案
可能只添加了 implementation 'com.jakewharton:butterknife:8.8.1'而没有添加下面这行 annotationProcessor 'com.jakewhar ...
- 3-hive、sqoop
1.HIVE 1.交互命令 use db_name; create database db_name //创建数据库 create database if not exists db_name //创 ...
- 59.纯 CSS 创作彩虹背景文字
原文地址:https://segmentfault.com/a/1190000015352436 修改后地址:https://scrimba.com/c/cqK3LaTQ 感想: 又一次见识到CSS的 ...
- oracle用户的管理
用户登陆 sql>conn 用户名/密码 给用户修改密码 如果给自己修改密码可以直接使用 sql>password 用户名; 如果给别人修改密码则需要具有dba的权限,或是拥有alter ...
- centos7安装mysql客户端
1.判断是否已安装 [root@k8s-master master]# which mysql /usr/bin/which: no mysql in (/usr/local/sbin:/usr/lo ...
- leetcode23
public class Solution { public ListNode MergeKLists(ListNode[] lists) { var ary = new List<int> ...
- LeetCode OJ 102. Binary Tree Level Order Traversal
题目 Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to rig ...