(1)SF_GET_PARA_VALUE
SF_GET_PARA_VALUE(SCOPE, INI_PARAM_NAME)
功能说明:返回 dm.ini 文件中非浮点和字符串类型的参数值
参数说明:
- SCOPE: 取值为 1、2 。
- 1 表示从 dm.ini 文件中读取;2 表示从内存中读取。
- 当取值为 1,且 dm.ini 文件中该参数值设置为非法值时,若设置值与参数类型不兼容,则返回默认值;若设置值小于参数取值范围的最小值,则返回最小值;若设置值大于参数取值范围的最大值,则返回最大值。
- INI_PARAM_NAME:dm.ini 文件中的参数名
返回值:当前 INI 文件中对应的参数值
举例说明:
获得 dm.ini 文件中 BUFFER 参数值
SELECT SF_GET_PARA_VALUE (1, 'BUFFER');
(2)SP_SET_PARA_VALUE*
SP_SET_PARA_VALUE(SCOPE, INI_PARAM_NAME, VALUE)
功能说明:设置 dm.ini 文件中非浮点和字符串类型的参数值。DSC 环境下,除了特殊参数以外,其他参数值会在 OK 节点上同步。
特殊参数包括:
PORT_NUM、LISTEN_IP、SVR_LOG_ASYNC_FLUSH、SVR_LOG_FILE_PATH 、 EP_GROUP_NAME 、AP_GROUP_NAME 、 DCRS_IP 、DCRS_PORT_NUM、AP_IP、AP_PORT_NUM、MPP_INI、DFS_INI、DCR_PATH。
参数说明:
- SCOPE:取值为0、1、2 。
- 0表示修改内存中的动态配置参数值;
- 1表示 dm.ini 文件和内存参数都修改,不需要重启服务器;
- 2 表示只修改 dm.ini 文件,服务器重启后生效。
- INI_PARAM_NAME:dm.ini 文件中的参数名。
- VALUE:设置的值。
返回值:无
举例说明:
将 dm.ini 文件中 HFS_CACHE_SIZE 参数值设置为 320
SP_SET_PARA_VALUE (1,'HFS_CACHE_SIZE',320);
注意
SF_GET_PARA_DOUBLE_VALUE和SP_SET_PARA_DOUBLE_VALUE
SF_GET_PARA_STRING_VALUE和SP_SET_PARA_STRING_VALUE
分别就是查询与修改浮点型和字符串型参数的方法,这里就不详细介绍了,用法类似,可以参考数据库安装路径 doc 目录下《DM8_SQL语言使用手册.pdf》附录3第一部分1)INI参数管理部分。
(3)SF_SET_SESSION_PARA_VALUE*
SF_SET_SESSION_PARA_VALUE(PARANAME, VALUE)
功能说明:设置会话级 INI 参数的值
参数说明:
- PARANAME: 会话级 INI 参数的参数名
- VALUE:要设置的新值
返回值:无
举例说明:
设置会话级 ini 参数 JOIN_HASH_SIZE 的值为 2000
SF_SET_SESSION_PARA_VALUE ('JOIN_HASH_SIZE', 2000);
(4)SP_RESET_SESSION_PARA_VALUE*
SP_RESET_SESSION_PARA_VALUE(PARANAME)
功能说明:重置会话级 INI 参数的值,使得参数的值和系统级一致。
参数说明:PARANAME:会话级 INI 参数的参数名。
返回值:无
举例说明:
重置会话级 INI 参数 JOIN_HASH_SIZE 的值
SP_RESET_SESSION_PARA_VALUE ('JOIN_HASH_SIZE');
(5)SF_GET_SESSION_PARA_VALUE
SF_GET_SESSION_PARA_VALUE(PARANAME)
功能说明:获得整数类型的会话级 INI 参数的值。
参数说明:PARANAME:会话级 INI 参数的参数名。
返回值:整数类型的会话级 INI 参数的值
举例说明:
获取会话级 INI 参数 JOIN_HASH_SIZE 的值
SELECT SF_GET_SESSION_PARA_VALUE ('JOIN_HASH_SIZE');
注意:
SF_GET_SESSION_PARA_DOUBLE_VALUE:获得浮点型的会话级 INI 参数的值。用法类似。
(6)SF_SET_SYSTEM_PARA_VALUE*
SF_SET_SYSTEM_PARA_VALUE(PARANAME, VALUE, DEFERRED, SCOPE)
功能说明:
修改系统整型、DOUBLE、VARCHAR的静态配置参数或动态配置参数。DSC环境下,除了特殊参数以外,其他参数值会在 OK 节点上同步。关于特殊参数的介绍请参考函数 SP_SET_PARA_VALUE 的功能说明。
参数说明:
- PARANAME:ini 参数的参数名。
- VALUE:要设置的新值。
- DEFERRED:是否立即生效。默认为 0。
- 为 0 表示当前 session 修改的参数立即生效;
- 1 表示当前 session 不生效,后续再生效。
- SCOPE:取值为 0、1、2 。
- 0 表示修改内存中的动态的配置参数值;
- 1 表示修改内存和 INI 文件中动态的配置参数值;
- 2 表示修改 INI 文件中的静态配置参数值和动态配置参数值。
返回值:无
举例说明:
修改 INI 参数 JOIN_HASH_SIZE 的值
SF_SET_SYSTEM_PARA_VALUE ('JOIN_HASH_SIZE',50,1,1);
(7)SF_SET_SQL_LOG
SF_SET_SQL_LOG(SVRLOG, SVRMSK)
功能说明:设置服务器日志相关 INI 参数 SVR_LOG 和 SQL_TRACE_MASK
参数说明:
- SVRLOG:INI 参数 SVR_LOG 的设置值
- SVRMSK:INI 参数 SQL_TRACE_MASK 的设置值
返回值:是否成功
举例说明:
设置服务器日志相关 INI 参数
SELECT SF_SET_SQL_LOG(1, '3:5:7');
另附
SQL> SELECT DISTINCT PARA_TYPE,COUNT(*) FROM V$DM_INI GROUP BY PARA_TYPE;
行号 PARA_TYPE COUNT(*)
---------- --------- --------------------
1 READ ONLY 80
2 SYS 172
3 IN FILE 189
4 SESSION 228
- READ ONLY:手工参数,不能通过函数或 SQL 语句修改(数据库运行期间不能修改),只能通过修改 dm.ini 中的值,重启数据库才能生效。
- IN FILE:静态参数,可以通过函数或 SQL 语句修改(不能修改内存中的值,只能修改参数文件
- 中的值,修改后需要重启数据库才能生效)
- SYS:动态参数(系统级),可以通过函数或 SQL 语句修改(既可以修改内存中的值,也可以修改参数文件中的值),修改内存中的值后对整个数据库有效。
- SESSION:动态参数(会话级),可以仅针对当前会话生效。