今天在负责的运维项目中,遇到了关于流程数据无法正常显示的问题。不知道是何种原因,通过调试发现,后台中的存储过程报错。并且显示
ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
的错误,由于之前没有遇到过这种问题,不知道是什么原因。但是大致估计可能是存储过程返回的值存在问题,可能和定义的参数的长度有关。
经过尝试,发现修改了返回参数的长度大小,这个问题即得到解决。
今天在负责的运维项目中,遇到了关于流程数据无法正常显示的问题。不知道是何种原因,通过调试发现,后台中的存储过程报错。并且显示ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小的错误,由于之前没有遇到过这种问题,不知道是什么原因。但是大致估计可能是存储过程返回的值存在问题,可能和定义的参数的长度有关。 经过尝试,发现修改了返回参数的长度大小,这个问题即得到解决。
ORA
-27104: system-defined limits for shared memory was misconfigured –
ora
cle的sga超过安装
ora
cle配置的最大内存
ipcs -l
—— Messages Limits ——–
max queues system wide = 32768
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384
—— Shared Memory Limits ——–
max number of segments = 4096
max s
1. 问题起因
最近在进行
ora
cle的一些操作时,总会遇到这个
错误
:
ORA
-
06502
:
PL
/
SQL
:
数字
或值
错误
:
字符串
缓冲区
太小
,
错误
如下:
[
sql
]
ORA
-00604: 递归
SQL
级别 1 出现
错误
ORA
-
06502
:
PL
/
SQL
:
数字
或值
错误
:
字符串
缓冲区
太小
ORA
-06512: 在 line 7
最近在进行
ora
cle的一些操作时,总会遇到这个
错误
:
ORA
-
06502
:
PL
/
SQL
:
数字
或值
错误
:
字符串
缓冲区
太小
,
错误
如下:
ORA
-00604: 递归
SQL
级别 1 出现
错误
ORA
-
06502
:
PL
/
SQL
:
数字
或值
错误
:
字符串
缓冲区
太小
ORA
-06512: 在 line 7
ORA
-
06502
:
PL
/
SQL
:
数字
或值
错误
:
字符串
缓冲区
太小
ORA
-06512: 在"WMSYS.WM_Concat_im
pl
",line30
--检查原因:
WMSYS.WM_Concat返回的是varcha
最近在进行
ora
cle的一些操作时,总会遇到这个
错误
:
ORA
-
06502
:
PL
/
SQL
:
数字
或值
错误
:
字符串
缓冲区
太小
,
错误
如下:
ORA
-00604: 递归
SQL
级别 1 出现
错误
ORA
-
06502
:
PL
/
SQL
:
数字
或值
错误
:
字符串
缓冲区
太小
ORA
-06512: 在 line 7
2.官方解释
查看官方文档上的解释
今天在系统中导入数据模板时,后台日志中提示如下
错误
:
ORA
-
06502
:
PL
/
SQL
:
数字
或值
错误
:
字符串
缓冲区
太小
首先想到的是模板中数据字段太长,然后将内容缩短,但是导入时还是提示如上
错误
;
然后跟踪数据库日志,后台触发器中调用程序包时返回的参数长度太短,调整参数长度,继续导入,成功。
出现这个问题,一般都是字段长度不够导致,如表中字段长度、触发器或是程序包中变量相关
现在有这么一个需求,业务单据上面有很多流程跟踪的信息,要显示在列表页面的一个字段中。可能出现一个问题,那就是如果合并的字段长度超过4000个字节,
SQL
语句会报错,
ORA
-
06502
字符串
缓冲区
太小
,即使你用substr()截取也是这样的
错误
。其实就是一个行转列的过程。那怎么解决这个问题,来做个试验:
drop table test;
create table test(
track_i
serializable:
说明: 确定查询是否获取表级的读取锁, 以防止在包含该查询的事务处理被提交之前更新任何对象读取。这种操作模式提供可重复的读取,
并确保在同一事务处理种对相同数据的两次查询看到的是相同的值。
值范围: TRUE | FALSE
默认值: FALSE
row_locking:
说明: 指定在表已更新或正在更新时是否获取行锁。如果设置为 ALWAYS, 只有在表被更新后才获取行锁。如果设置为 INTENT,
只有行锁将用于SELECT FOR UPDATE, 但在更新时将获取表锁。
值范围: ALWAYS | DEFAULT | INTENT
默认值: ALWAYS
shared_servers
说明 : 指定在启动例程后, 要为共享服务器环境创建的服务器进程的数量。
值范围: 根据操作系统而定。
默认值 : 1
circuits:
说明 : 指定可用于入站和出站网络会话的虚拟电路总数。 该参数是构成某个例程的总 SGA 要求的若干参数之一。
默认值 : 派生: SESSIONS 参数的值 (如果正在使用共享服务器体系结构); 否则为 0。
Mts_multi
pl
e_listeners:
说明: 指定多个监听程序的地址是分别指定的, 还是用一个 ADDRESS_LIST
字符串
指定。如果该值为 TRUE,
MTS_LISTENER_ADDRESS 参数可被指定为:
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(PORT=5000)(HOST=zeus))
(ADDRESS=(PROTOCOL=decnet)(OBJECT=outa)(NODE=zeus))
此参数在 8.1.3 版中已废弃。
值范围: TRUE | FALSE
默认值: FALSE
mts_servers:
说明 : 指定在启动例程后, 要为共享服务器环境创建的服务器进程的数量。
值范围: 根据操作系统而定。
默认值 : 1
mts_service:
说明 : 一个共享服务器参数, 用于指定已在调度程序上注册,
用来建立数据库连接的唯一服务名。如果要在没有调度程序的情况下仍能连接到数据库, 请将该值设置为与例程名相同。此参数自
8.1.3 版起已废弃。
值范围: 根据操作系统而定。
默认值 :0
mts_sessions:
说明 : 指定允许的共享服务器体系结构用户会话的总数。设置此参数可为专用服务器保留一些用户会话。
值范围: 0 到 SESSIONS - 5
默认值 : 派生: MTS_CIRCUITS 和 SESSIONS - 5 两者中的较小值
shared_server_sessions:
说明 : 指定允许的共享服务器体系结构用户会话的总数。设置此参数可为专用服务器保留一些用户会话。
值范围: 0 到 SESSIONS - 5
默认值 : 派生: MTS_CIRCUITS 和 SESSIONS - 5 两者中的较小值
mts_max_dispatchers
说明 : 指定在一个共享服务器环境中可同时运行的调度程序进程的最大数量。
值范围: 根据操作系统而定。
默认值 : 如果已配置了调度程序, 则默认值为大于 5 的任何数目或配置的调度程序的数目
mts_max_servers:
说明 : 指定在一个共享服务器环境中可同时运行的共享服务器进程的最大数量。
值范围: 根据操作系统而定。
默认值 : 20
dispatchers:
说明 : 为设置使用共享服务器的共享环境而设置调度程序的数量和类型。可以为该参数指定几个选项。有关详细信息,
请参阅“
Ora
cle8i 管理员指南”和“
Ora
cle Net Administrator's Guide”。这是
字符串
值的一个示例:
'(PROTOCOL=TCP)(DISPATCHERS=3)'。
值范围: 参数的有效指定值。
默认值 : NULL
max_shared_servers:
说明 : 指定在一个共享服务器环境中可同时运行的共享服务器进程的最大数量。
值范围: 根据操作系统而定。
默认值 : 20
mts_circuits:
说明 : 指定可用于入站和出站网络会话的虚拟电路总数。 该参数是构成某个例程的总 SGA 要求的若干参数之一。
默认值 : 派生: SESSIONS 参数的值 (如果正在使用共享服务器体系结构); 否则为 0。
Mts_listener_address:
说明 : 指定共享服务器的监听程序配置。监听程序进程需要一个监听地址, 以便处理系统所用的各个网络协议的连接请求。 除非
MTS_MULTI
PL
E_LISTENERS=TRUE, 否则每个条目都必须有一个独立的相邻值。此参数自 8.1.3 版起已废弃
语法 : (ADDRESS=(PROTOCOL=tcp)(HOST=myhost)(PORT=7002))
默认值 : NULL
mts_dispatchers:
说明 : 为设置使用共享服务器的共享环境而设置调度程序的数量和类型。可以为该参数指定几个选项。有关详细信息,
请参阅“
Ora
cle8i 管理员指南”和“
Ora
cle Net Administrator's Guide”。这是
字符串
值的一个示例: '(PROTOCOL=TCP)(DISPATCHERS=3)'。
值范围: 参数的有效指定值。
默认值 : NULL
max_dispatchers:
说明 : 指定在一个共享服务器环境中可同时运行的调度程序进程的最大数量。
值范围: 根据操作系统而定。
默认值 : 如果已配置了调度程序, 则默认值为大于 5 的任何数目或配置的调度程序的数目
nls_nchar_conv_excp:
说明: (如果值为 TRUE) 当在隐式转换中丢失数据时返回
错误
的参数。
值范围: FALSE | TRUE
默认值: TRUE
nls_numeric_characters:
说明: 指定将用作组分隔符和小数位的
字符
。组分隔符就是用来分隔整数位组 (如千, 百万等等) 的
字符
。小数分隔符用来将一个
数字
的整数部分与小数部分分隔开。其格式是
<decimal_character><group_separator>。
值范围: 任何单字节
字符
, '+', '-', '<', '>' 除外。
默认值: 从 NLS_TERRITORY 中获得
nls_sort:
说明: 指定 ORDER BY 查询的比较顺序。对于二进制排序, ORDER BY 查询的比较顺序是以数值为基础的。对于语言排序,
则需要进行全表扫描, 以便将数据按照所定义的语言排序进行整理。
值范围: BINARY 或有效的语言定义名。
默认值: 从 NLS_LANGUAGE 中获得
nls_territory:
说明: 为以下各项指定命名约定, 包括日期和星期的编号, 默认日期格式, 默认小数点
字符
和组分隔符, 以及默认的 ISO 和本地货币符号。可支持的区域包括美国, 法国和日本。有关所有区域的信息, 请参阅
Ora
cle8i National Language Support Guide。
值范围: 任何有效的地区名。
默认值: 根据操作系统而定
nls_timestamp_format:
说明: 与 NLS_TIME_FORMAT 相似, 只不过它设置的是 TIMESTAMP 数据类型的默认值, 该数据类型既存储YEAR, MONTH 和 DAY 这几个日期值, 也存储 HOUR, MINUTE 和 SECOND 这几个时间值。
语法: TIMESTAMP '1997-01-31 09:26:50.10' (将值存储为 11 个字节)。
默认值: 从 NLS_TERRITORY 中获得
nls_time_format:
说明: 指定一个
字符串
值, 设置 TIME 数据类型的默认值, 该数据类型包含 HOUR, MINUTE 和 SECOND 这几个日期时间字段。
语法: TIME '09:26:50' (将值存储为 7 个字节)。
默认值: 从 NLS_TERRITORY 中获得
nls_time_tz_format:
说明: 指定一对值 (UTC,TZD), 设置 TIME WITH TIME ZONE 数据类型的默认值, 该数据类型包含 HOUR, MINUTE, SECOND, TIMEZONE_HOUR 和 TIMEZONE_MINUTE 这几个日期时间字段。UTC 是世界时而 TZD 是当地时区。
语法: TIME '09:26:50.20+ 02:00' (将值存储为 9 个字节)。
默认值: 从 NLS_TERRITORY 中获得
nls_length_semantics:
说明: 使用字节或码点语义来指定新列的创建, 如 char, varchar2, clob, nchar, nvarchar2, nclob 列。各种
字符
集对
字符
都有各自的定义。在客户机和服务器上使用同一
字符
集时, 应以该
字符
集所定义的
字符
来衡量
字符串
。现有的列将不受影响。
值范围: BYTE 或 CHAR。
默认值: nls_length_semantics 的数据库
字符
集的
字符
所使用的度量单位。BYTE。
nls_date_format:
说明: 指定与 TO_CHAR 和 TO_DATE 函数一同使用的默认日期格式。该参数的默认值由 NLS_TERRITORY 确定。该参数的值可以是包含在双引号内的任何有效的日期格式掩码。例如: ''MMM/DD/YYYY''。
值范围: 任何有效的日期格式掩码, 但不得超过一个固定长度。
默认值: 派生
nls_timestamp_tz_format:
说明: 与 NLS_TIME_TZ_FORMAT 相似, 其中的一对值指定 TIMESTAMP 数据类型的默认值, 该类型除存储 YEAR, MONTH 和 DAY 日期值, HOUR, MINUTE 和 SECOND 时间值, 还存储 TIMEZONE_HOUR 和 TIMEZONE_MINUTE。
语法: TIMESTAMP '1997- 01- 31 09:26:50+ 02:00' (将值存储为 13 个字节)。
默认值: 从 NLS_TERRITORY 中获得
nls_language:
说明: 指定数据库的默认语言, 该语言将用于消息, 日期和月份名, AD, BC, AM 和 PM 的符号, 以及默认的排序机制。可支持的语言包括英语, 法语和日语等等。
值范围: 任何有效的语言名。
默认值: 根据操作系统而定
nls_comp:
说明: 在
SQL
语句中, 应避免使用繁琐的 NLS_SORT 进程。正常情况下, WHERE 子句中进行的比较是二进制的, 但语言比较则需要 NLSSORT 函数。可以使用 NLS_COMP 指定必须根据NLS_SORT 会话参数进行语言比较。
值范围:
Ora
cle8i National Language Support Guide 中指定的任何有效的10 字节
字符串
。
默认值: BINARY
nls_currency:
说明: 为 L
数字
格式元素指定用作本地货币符号的
字符串
。该参数的默认值由 NLS_TERRITORY 确定。
值范围:
Ora
cle8i National Language Support Guide 中指定的任何有效的10 字节
字符串
。
默认值: 从 NLS_TERRITORY 中获得
nls_date_language:
说明: 指定拼写日期名, 月名和日期缩写词 (AM, PM, AD, BC) 的语言。该参数的默认值是由 NLS_LANGUAGE指定的语言。
值范围: 任何有效的 NLS_LANGUAGE 值。
默认值: NLS_LANGUAGE 的值
nls_dual_currency:
说明: 用于覆盖 NLS_TERRITORY 中定义的默认双重货币符号。如果不设置该参数, 就会使用默认的双重货币符号; 否则就会启动一个值为双重货币符号的新会话。
值范围: 任何有效的格式名。。
默认值: 双重货币符号
nls_iso_currency:
说明: 为 C
数字
格式元素指定用作国际货币符号的
字符串
。该参数的默认值由 NLS_TERRITORY 确定。
值范围: 任何有效的 NLS_TERRITORY 值。
默认值: 从 NLS_TERRITORY 中获得
nls_calendar:
说明: 指定
Ora
cle 使用哪种日历系统作为日期格式。例如, 如果 NLS_CALENDAR 设置为 'Japanese Imperial', 那么日期格式为 'E YY-MM-DD'。即: 如果日期是 1997 年 5 月 15 日, 那么 SYSDATE 显示为 'H 09-05-15'。
值范围: Arabic Hijrah, English Hijrah, Gregorian, Japanese Imperial, Persian, ROC Official (Republic of China) 和 Thai Buddha。
默认值: Gregorian
pl
sql
_native_c_compiler:
说明: 指定用于将生成的 C 文件编译为目标文件的 C 编译程序的完整路径名。此参数是可选的。随每个平台附带的特有的 make
文件中包含此参数的默认值。如果为此参数指定了一个值, 则该值将覆盖 make 文件中的默认值。
值范围: C 编译程序的完整路径。
默认值: 无
remote_dependencies_mode:
说明: 用于指定数据库为远程
PL
/
SQL
存储的过程处理被依赖对象的方式。如果设置为 TIMESTAMP, 只有在服务器与本地时间戳相匹配的情况下, 才能执行该过程。如果设置为 SIGNATURE, 在签名安全的情况下即可执行该过程。
值范围: TIMESTAMP | SIGNATURE
默认值: TIMESTAMP
utl_file_dir:
说明: 允许数据库管理员指定
PL
/
SQL
文件 I/O 许可的目录。使用多个 UTL_FILE_DIR 参数即可指定多个目录。请注意所有用户均可读取或写入 UTL_FILE_DIR 参数中指定的所有文件。
值范围: 任何有效的目录路径。
默认值: 无
pl
sql
_v2_compatibility:
说明: 设置
PL
/
SQL
兼容级。如果设置为 FALSE, 将执行
PL
/
SQL
V3 行为, 而不允许 V2 行为; 否则在运行
PL
/
SQL
V3 时将接受某些
PL
/
SQL
V2 行为。
值范围: TRUE | FALSE
默认值: FALSE
pl
sql
_native_make_utility:
说明: 指定 make 实用程序 (如 UNIX 中的 make 或 gmake, 即 GNU make) 的完整路径名。要从生成的 C 源中生成共享对象或 DLL, 需要使用 make 实用程序。
值范围: make 实用程序的完整路径名。
默认值: 无
pl
sql
_native_library_dir:
说明: 由
PL
/
SQL
编译程序使用。它指定目录名, 其中存储了本机编译程序生成的共享对象。
范围值: 目录名。
默认值: 无
pl
sql
_compiler_flags:
说明: 由
PL
/
SQL
编译程序使用。它将编译程序标志列表指定为一个用逗号分隔的
字符串
列表。
值范围: native (
PL
/
SQL
模块将按本机代码来编译。), interpreted (然后
PL
/
SQL
模块将被编译为
PL
/
SQL
字节代码格式), debug (
PL
/
SQL
模块将用探测调试符号来编译), non_debug。
默认值: " interpreted, non_debug "
pl
sql
_native_linker:
说明: 此参数指定链接程序 (如: UNIX 中的 ld, 或用于将目标文件链接到共享对象或 DLL 的 GNU ld) 的完整路径名。此参数是可选的。随每个平台附带的特有的 make 文件中包含此参数的默认值。如果为此参数指定了一个值, 则该值将覆盖 make 文件中的默认值。
值范围: 链接程序的完整路径名。
默认值: 无
pl
sql
_native_make_file_name:
说明: 指定 make 文件的完整路径名。make 实用程序 (由
PL
SQL
_NATIVE_MAKE_UTILITY 指定) 使用此 make 文件生成共享对象或 DLL。每个平台附带有端口专用的 make 文件, 该文件包含使用 make
实用程序在该平台上生成 DLL 时要遵循的规则。
值范围: make 文件的完整路径名。
默认值: 无
pl
sql
_v2_compatibility:
说明: 设置
PL
/
SQL
兼容级。如果设置为 FALSE, 将执行
PL
/
SQL
V3 行为, 而不允许 V2 行为; 否则在运行
PL
/
SQL
V3 时将接受某些
PL
/
SQL
V2 行为。
值范围: TRUE | FALSE
默认值: FALSE
remote_dependencies_mode:
说明: 用于指定数据库为远程
PL
/
SQL
存储的过程处理被依赖对象的方式。如果设置为 TIMESTAMP,
只有在服务器与本地时间戳相匹配的情况下, 才能执行该过程。如果设置为 SIGNATURE, 在签名安全的情况下即可执行该过程。
值范围: TIMESTAMP | SIGNATURE
默认值: TIMESTAMP
shared_memory_address:
说明: SHARED_MEMORY_ADDRESS 和 HI_SHARED_MEMORY_ADDRESS 指定运行时 SGA 的起始地址。许多平台在链接时间指定 SGA 起始地址, 在这类平台上这些参数将被忽略。如果两个参数都设置为 0 或 NULL, 那么地址将根据平台而定。
值范围: 任何整数值。
默认值: 0
lock_sga:
说明: 用于将整个 SGA 锁定在物理内存中。在不支持这种功能的平台上, 该值将被忽略。
值范围: TRUE | FALSE
默认值: FALSE
hi_shared_memory_address:
说明: 指定系统全局区 (SGA) 的运行时起始地址。在指定 SGA 连接时起始地址的平台上, 该值被忽略。在 64 位平台上, 请使用该值来指定高 32 位和低 32 位。如果不指定该值, 默认值是平台指定的位置。
值范围: 任何整数值。
默认值: 0
pre_page_sga:
说明: 一个根据平台而定的参数, 如果该参数为 TRUE, 将把所有 SGA 页装载到内存中, 以便使该例程迅速达到最佳性能状态。这将增加例程启动和用户登录的时间, 但在内存充足的系统上能减少缺页故障的出现。
值范围: TRUE | FALSE
默认值: FALSE
sga_max_size:
说明: 指定例程存活期间所占用的系统全局区的最大
大小
。
值范围: 0 到各操作系统所允许的最大值。请注意, 由于该参数值的最小值在启动时已经调整完毕, 因而它无关紧要。
默认值: 如果未指定值, sga_max_size 的默认值将与启动时 SGA 的最初
大小
(比如说 X) 相同。该
大小
取决于 SGA 中各种池的
大小
, 如
缓冲区
高速缓存, 共享池, 大型池等。如果指定的值小于 X, 则所使用的 sga_max_size 的值将为 X。也就是说, 它是 X 与用户指定的 sga_max_size 值两者之间的较大值。
Fast_start_parallel_rollback:
说明: 执行并行回退时确定进程的最大数量。在多数事务处理的运行时间都较长的系统上, 该值很有用。
值范围: FALSE | LOW | HIGH
默认值: LOW (2 * CPU_COUNT)
transaction_auditing:
说明: 确定事务处理层是否生成一个特殊的重做记录, 其中包含用户登录名, 用户名, 会话 ID, 部分操作系统信息以及客户机信息。在使用某一重做日志分析工具时, 这些记录可能很有用。
值范围: TRUE | FALSE
默认值: TRUE
transactions:
说明: 指定并行事务处理的最大数量。如果将该值设置得较大, 将增加 SGA 的
大小
,
并可增加例程启动过程中分配的回退段的数量。默认值大于 SESSIONS, 以实现递归事务处理。
值范围: 一个数值。
默认值: 派生 (1.1 * SESSIONS)
enqueue_resources:
说明: 入队可使并行进程能够共享资源。例如,
Ora
cle 允许一个进程以共享模式锁定一个表, 以共享更新模式锁定另一个表。
值范围: 10 - 65535 (7.3) 或 10 - 无限制 (8.1)。
默认值: 派生 (该值大于 DML_LOCKS + 20 即已足够)
dml_locks:
说明: 所有用户获取的表锁的最大数量。对每个表执行 DML 操作均需要一个 DML 锁。例如, 如果 3 个用户修改 2 个表, 就要求该值为 6。
值范围: 0 或 20 到无限制。
默认值: 4 * TRANSACTIONS (派生)
hash_join_enabled:
说明: 如果设置为 TRUE, 优化程序将在计算最有效的联接方法时考虑散列联接。
Ora
cle 建议数据仓库应用程序应使用 TRUE值。
值范围: TRUE | FALSE
默认值: TRUE
optimizer_features_enable:
说明: 允许更改 init.
ora
参数, 该参数控制着优化程序的行为。受此影响的参数包括 PUSH_JOIN_PREDICATE,
FAST_FULL_SCAN_ENABLED, COM
PL
EX_VIEW_MERGING 和
B_TREE_BITMAP_
PL
ANS。
值范围: 8.0.0; 8.0.3; 8.0.4; 8.1.3。
默认值: 8.0.0
query_rewrite_integrity:
说明:
Ora
cle Server 执行的查询重写的程度。如果设置为 ENFORCED,
Ora
cle
将保证其一致性和完整性。如果设置为 TRUSTED, 将使用明确声明的关系来允许重写。如果设置为
STALE_TOLERATED, 即使实体化视图与基础数据不一致, 也仍可以进行重写。
值范围: ENFORCED, TRUSTED, STALE_TOLERATED
默认值: ENFORCED
query_rewrite_enabled
说明: 启用或禁用对实体化视图的查询重写。一个特定实体化视图只在如下条件下启用: 会话参数和单独实体化视图均已启用,
并且基于成本的优化已启用。
值范围: TRUE | FALSE
默认值: FALSE
partition_view_enabled:
说明: 如果将 PARTITION_VIEW_ENABLED 设置为 TRUE, 该优化程序将剪除 (或跳过)
分区视图中不必要的表访问。该参数还能更改基于成本的优化程序从基础表统计信息计算分区视图统计信息的方式。
值范围: TRUE | FALSE
默认值: FALSE
optimizer_max_permutations:
说明: 对带有大量联接的查询进行语法分析时,
优化程序将会考虑限制表的交换数。这有助于确保对查询进行语法分析的时间保持在可接受的限制范围内,
但代价是无法找到最佳计划。如果该值小于 1000, 就应该可以确保每次查询的时间仅为几秒钟或更短。
值范围: 4-2^32 (~4.3 G)。
默认值: 80,000
optimizer_index_cost_adj:
说明: 在考虑太多或太少索引访问路径的情况下, 可以用来优化优化程序的性能。该值越低, 优化程序越容易选择一个索引。也就是说,
如果将该值设置为 50%, 索引访问路径的成本就是正常情况下的一半。
值范围: 1 -10000
默认值: 100 (一个索引访问路径的常规成本)
star_transformation_enabled:
说明: 确定基于成本的查询转换是否将被应用到星型查询中。如果设置为 TRUE, 优化程序将考虑将基于成本的转换应用于星型查询中;
如果设置为 FALSE, 将不使用任何转换; 如果设置为 TEMP_DISABLE, 将考虑查询转换, 但不使用临时表。
值范围: TRUE | FALSE | TEMP_DISABLE
默认值: FALSE
optimizer_mode:
说明: 指定优化程序的行为。如果设置为 RULE, 就会使用基于规则的优化程序, 除非查询含有提示。如果设置为 CHOOSE,
就会使用基于成本的优化程序, 除非语句中的表不包含统计信息。ALL_ROWS 或 FIRST_ROWS
始终使用基于成本的优化程序。
值范围: RULE | CHOOSE | FIRST_ROWS | ALL_ROWS
默认值: CHOOSE
optimizer_index_caching:
说明: 调整基于成本的优化程序的假定值,
即在
缓冲区
高速缓存中期望用于嵌套循环联接的索引块的百分比。它将影响使用索引的嵌套循环联接的成本。将该参数设置为一个较高的值,
可以使嵌套循环联接相对于优化程序来说成本更低。
值范围: 0 - 100 %。
默认值: 0
job_queue_processes:
说明: 只用于复制环境。它指定每个例程的 SNP 作业队列进程的数量 (SNP0, ... SNP9, SNPA, ...
SNPZ)。要自动更新表快照或执行由 DBMS_JOB 创建的请求, 请将该参数设置为 1 或更大的值。
值范围: 0 到 36
默认值: 0
max_transaction_branches:
说明: 控制分布式事务处理中分支的数量。将 MAX_TRANSACTION_BRANCHES 设置为较低的值, 可以根据
MAX_TRANSACTION_BRANCHES * DISTRIBUTED_TRANSACTIONS * 72 字节,
略微减少共享池的空间量。此参数在 8.1.3 版中已废弃。
值范围: 1 - 32
默认值: 8
compatible:
说明: 允许您使用一个新的发行版, 同时保证与先前版本的向后兼容性。
值范围: 默认为当前发行版。
默认值: 由发行版确定
archive_lag_target:
说明: 此参数与基于时间的线程高级功能相关联。
值范围: 0 或 [60, 7200] 中的任意整数。
默认值: 0 为默认值, 此时将禁用基于时间的线程高级功能。否则, 值将代表秒数
aq_tm_processes:
说明: 如果大于零, 就会启用对队列消息的时间监视。该时间值可用于指定消息的延迟和失效属性 (用于应用程序的开发)。
值范围: 0 - 10
默认值: 0
tracefile_identifier:
spfile:
说明: 指定当前使用的服务器参数文件的名称。
值范围: 静态参数
默认值: SPFILE 参数可在客户端 PFILE 中定义, 以指明要使用的服务器参数文件的名称。服务器使用默认服务器参数文件时, SPFILE 的值要由服务器在内部设置。
Logmnr_max_persistent_sessions:
Standby_file_management:
Trace_enabled:
Ifile:
说明: 用于在当前参数文件中嵌入其他参数文件。您可以在一个参数文件的多个行上多次使用该参数, 但最多只能有三级嵌套。
值范围: 任何有效的参数文件名 (语法是 IFILE = parameter_file_name)。
默认值: NULL
remote_listener:
global_context_pool_size:
说明: 从 SGA 分配的用于存储和管理全局应用程序环境的内存量。
值范围: 任意整数值。
默认值: 1 M
pl
sql
_native_library_subdir_count:
fixed_date:
说明: SYSDATE 返回的数据。对于必须始终返回固定日期而非系统日期的测试,
该值很有用。使用双引号或不使用引号。请勿使用单引号。
值范围: YYYY-MM-DD-HH24:MI:SS (或默认的
Ora
cle 日期格式)。
默认值: NULL
db_name:
说明: 一个数据库标识符, 应与
CREATE DATABASE 语句中指定的名称相对应。
值范围: 任何有效名称最多可有 8 个
字符
。
默认值: 无 (但应指定)
cluster_database:
cluster_interconnects:
cluster_database_instances:
sql
_version:
re
pl
ication_dependency_tracking:
说明: 跟踪相关性对复制服务器以并行方式传播所作的更改至关重要。如果设置为 FALSE, 数据库上的读/写操作将运行得更快,
但无法为复制服务器产生并行传播的相关性信息。
值范围: TRUE | FALSE
默认值: TRUE (即启用读/写相关性跟踪)
remote_os_roles:
说明: 将 REMOTE_OS_ROLES 设置为 TRUE, 允许由远程客户机的操作系统来分配角色。如果设置为 FALSE,
则由远程客户机的数据库来识别和管理角色。
值范围: TRUE | FALSE
默认值: FALSE
remote_os_authent:
说明: 将 REMOTE_OS_AUTHENT 设置为 TRUE, 允许使用 OS_AUTHENT_PREFIX
的值来验证远程客户机。
值范围: TRUE | FALSE
默认值: FALSE
open_links:
说明: 指定在一次会话中同时打开的与远程数据库的连接的最大数量。该值应等于或超过一个引用多个数据库的单个
SQL
语句中引用的数据库的数量, 这样才能打开所有数据库以便执行该语句。
值范围: 0 - 255 (如果为 0, 不允许分布式事务处理)。
默认值: 4
open_links_per_instance:
说明: 指定 XA 应用程序中可移植的打开连接的最大数量。XA 事务处理使用可移植的打开的连接,
以便在提交一个事务处理后能将这些连接高速缓存。如果创建连接的用户就是拥有事务处理的用户, 各事务处理则可共享连接。
值范围: 0 - UB4MAXVAL
默认值: 4
remote_login_passwordfile:
说明: 指定操作系统或一个文件是否检查具有权限的用户的口令。如果设置为 NONE,
Ora
cle 将忽略口令文件。如果设置为
EXCLUSIVE, 将使用数据库的口令文件对每个具有权限的用户进行验证。如果设置为 SHARED, 多个数据库将共享
SYS 和 INTERNAL 口令文件用户。
值范围:NONE | SHARED | EXCLUSIVE
默认值: NONE
hs_autoregister:
说明: 启用或禁用“异构服务 (HS)”代理的自动自注册。如果启用, 信息将被上载到数据字典中,
以便在通过同一代理建立后续连接时降低开销。
值范围: TRUE | FALSE
默认值: TRUE
global_names:
说明: 指定是否要求数据库链接与所连接的数据库同名。如果该值为 FALSE, 则不执行检查。要使分布式处理中的命名约定一致,
请将该参数设置为 TRUE。
值范围: TRUE | FALSE
默认值: TRUE
distributed_transactions:
说明: 一个数据库一次可参与的分布式事务处理的最大数量。如果由于网络故障异常频繁而减少该值, 将造成大量未决事务处理。
值范围: 0 - TRANSACTIONS 参数值。
默认值: 根据操作系统而定
commit_point_strength:
说明: 一个用于确定分布式事务处理中提交点的位置的值。
值范围: 0 -255
默认值: 根据操作系统而定
db_domain:
说明: 指定数据库名的扩展名 (例如:US.
ORA
CLE.COM) 为使一个域中创建的数据库名唯一, 建议指定该值。
值范围: 由句点分隔的任何
字符串
, 最长可以有 128 个
字符
。
默认值: WORLD
dblink_encrypt_login:
说明: 在连接到其他
Ora
cle Server 时, 数据库链接是否使用加密口令。
值范围: TRUE | FALSE
默认值: FALSE
backup_tape_io_slaves:
说明: 一个恢复管理器参数, 用于确定读取或写入磁带是否要使用服务器进程或一个附加的 I/O 从属。
值范围: TRUE | FALSE
默认值: FALSE
tape_asynch_io:
说明: 用于控制对顺序设备的 I/O 操作 (例如, 将
Ora
cle 数据备份或复原到磁带上, 或从磁带上备份或复原
Ora
cle 数据) 是否异步。只有在您的平台支持对顺序设备的异步 I/O 操作的情况下, 将该值设置为 TRUE
才有效; 如果异步 I/O 的执行情况不稳定, 请将该值设置为 FALSE。
值范围: TRUE | FALSE
默认值: FALSE
log_file_name_convert:
说明: 将主数据库上的一个日志文件的文件名转换为备用数据库上对等的路径和文件名。将一个日志文件添加到一个主数据库后,
必须将一个相应的文件添加到备用数据库中。该参数替代
Ora
cle7 中的 LOG_FILE_NAME_CONVERT
值范围: 任何格式为 ''主体日志文件的路径/文件名'' 和 ''备用日志文件的路径/文件名'' 的有效路径/文件名
默认值: NULL
fal_server:
说明: 指定此备用数据库的 FAL 服务器。该值是一个
Ora
cle Net 服务名。此
Ora
cle Net
服务名被假定为已在备用数据库系统上正确配置, 可指向期望的 FAL 服务器。
值范围:
Ora
cle Net 服务名的
字符串
值。
Fal_client:
说明: 指定供 FAL 服务 (通过 FAL_SERVER 参数配置) 来引用 FAL 客户机的 FAL
客户机名称。该参数的值是一个
Ora
cle Net 服务名。此
Ora
cle Net 服务名被假定为已在 FAL
服务器系统上正确配置, 可指向 FAL 客户机 (即: 此备用数据库)。
值范围:
Ora
cle Net 服务名的
字符串
值。
Drs_start:
说明: 使
Ora
cle 可以确定是否应启动 DRMON 进程。DRMON 是一种不会导致致命
错误
的
Ora
cle 后台进程,
只要例程存在, 该进程就存在。
值范围: TRUE | FALSE。
默认值: FALSE
remote_archive_enable:
说明: 控制是否可向远程目标执行重做日志文件归档操作。必须将该参数值设置为 "TRUE", 以便
Ora
cle
数据库例程对重做日志文件进行远程归档, 并且/或者接收远程归档的重做日志文件。
值范围: FALSE | TRUE
默认值: TRUE
standby_preserves_names:
说明: 表明备用数据库上的文件名是否与主数据库上的文件名相同。
值范围: TRUE 或 FALSE。注: 如果将值设置为 True, 且备用数据库与主数据库位于同一系统上, 则主数据库文件可能被覆盖。
默认值: FALSE。
Standby_archive_dest:
说明: 指定来自一个主例程的归档日志的到达位置。STANDBY_ARCHIVE_DEST 和 LOG_ARCHIVE_FORMAT
用于在备用位置上虚拟完全合格的归档日志文件名。备用数据库上的 RFS 服务器将使用该值, 而不是
ARCHIVE_LOG_DEST。
值范围: NULL
字符串
或非 RAW 类型的有效路径/设备名。
默认值: NULL
db_file_name_convert:
说明: 将主数据库上的一个新数据文件的文件名转换为备用数据库上的文件名。
值范围: 一个有效的主/备用目录和文件名对。
默认值: 无
max_enable_roles:
说明: 指定一个用户可以启用的数据库角色 (包括子角色) 的最大数量。用户可启用的角色的实际数量是 2 加上
MAX_ENABLED_ROLES 的值, 因为每个用户都有两个附加的角色: PUBLIC 和用户自己的角色。
值范围: 0 -148
默认值: 20
O7_DICTIONARY_ACCESSIBILITY:
说明: 主要用于从
Ora
cle7 移植到
Ora
cle8i。如果该值为 TRUE, SYSTEM 权限 (如
SELECT ANY TABLE) 将不限制对 SYS 方案中各对象的访问 (
Ora
cle7 行为)。如果该值为
FALSE, 只有被授予了 SELECT_CATALOG_ROLE, EXECUTE_CATALOG_ROLE 或
DELETE_CATALOG_ROLE 权限的用户才能访问 SYS 方案中的各对象。
值范围: TRUE | FALSE
默认值: TRUE
sql
92_security:
说明: 指定要执行一个更新或删除引用表列的值是否需要具有表级的
SELECT 权限。
值范围: TRUE | FALSE
默认值: FALSE
audit_trail:
说明: 启用或禁用数据库审计。如果该参数为 TRUE 或 DB, 审计记录将被写入 SYS.AUD$ 表中; 如果参数为 OS,
则写入一个操作系统文件。
值范围: NONE | FALSE | DB | TRUE | OS
默认值: NONE
rdbms_server_dn:
说明: RDBMS 服务器的唯一判别名。它用于在一个企业目录服务中检索企业角色。有关详细信息, 请参阅“
Ora
cle
Advanced Security Administrator's Guide”。
值范围: 所有 X.500 唯一判别名格式值。
默认值: 无
os_roles:
说明: 确定操作系统或数据库是否为每个用户标识角色。如果设置为 TRUE, 将由操作系统完全管理对所有数据库用户的角色授予。否则,
角色将由数据库标识和管理。
值范围: TRUE | FALSE
默认值: FALSE
os_authent_prefix:
说明: 使用用户的操作系统帐户名和口令来验证连接到服务器的用户。该参数的值与各用户的操作系统帐户连接在一起。要去除 OS 帐户前缀,
请指定空值。
值范围: 任何标识符。
默认值: 根据操作系统而定 (通常是 'OPS$')
object_cache_max_size_percent:
说明: 指定会话对象的高速缓存增长可超过最佳高速缓存
大小
的百分比,
最大
大小
等于最佳
大小
加上该百分比与最佳
大小
的乘积。如果高速缓存
大小
超过了这个最大
大小
,
系统就会尝试将高速缓存缩小到最佳
大小
。
值范围: 0% 到根据操作系统而定的最大值。
默认值: 10%
object_cache_optimal_size:
说明: 指定在高速缓存超过最大
大小
的情况下, 会话对象高速缓存将被缩小到的
大小
。
值范围: 10K 到根据操作系统而定的最大值。
默认值: 100K
session_max_open_files:
说明: 指定可在任一给定会话中打开的 BFILE 的最大数量。一旦达到这个数量,
此后将无法在该会话中打开更多文件。该参数还取决于操作系统参数 MAX_OPEN_FILES。
值范围: 1 - 至少为 (50, OS 级上的 MAX_OPEN_FILES)。
默认值: 10
parallel_execution_message_size:
说明: 指定并行执行 (并行查询, PDML, 并行恢复和复制) 消息的
大小
。如果值大于 2048 或 4096,
就需要更大的共享池。如果 PARALLEL_AUTOMATIC_TUNING = TRUE,
将在大存储池之外指定消息
缓冲区
。
值范围: 2148 - 无穷大。
默认值: 如果 PARALLEL_AUTOMATIC_TUNING 为 FALSE, 通常值为 2148; 如果 PARALLEL_AUTOMATIC_TUNING 为 TRUE , 则值为 4096 (根据操作系统而定)。
Paralle_min_percent:
说明: 指定并行执行要求的线程的最小百分比。设置该参数, 可以确保并行执行在没有可用的恰当查询从属进程时, 会显示一个
错误
消息,
并且该查询会因此而不予执行。
值范围: 0 -100
默认值: 0, 表示不使用该参数。
Parallel_automatic_tuning:
说明: 如果设置为 TRUE,
Ora
cle 将为控制并行执行的参数确定默认值。除了设置该参数外,
你还必须为系统中的表设置并行性。
值范围: TRUE | FALSE
默认值: FALSE
parallel_threads_per_cpu:
说明: 说明一个 CPU 在并行执行过程中可处理的进程或线程的数量,
并优化并行自适应算法和负载均衡算法。如果计算机在执行一个典型查询时有超负荷的迹象, 应减小该数值。
值范围: 任何非零值。
默认值: 根据操作系统而定 (通常为 2)
parallel_broadcast_enabled:
说明 : 通过使用一个散列联接或合并联接, 可以在将多个大结果集联接到一个小结果集 (以字节而不是行为单位来衡量
大小
)
时改善性能。如果该值设置为 TRUE, 优化程序可以将小结果集内的每个行都传播到大型集内的每个集群数据库处理行中。
值范围: TRUE | FALSE
默认值 : FALSE
parallel_adaptive_multi_user:
说明: 启用或禁用一个自适应算法, 旨在提高使用并行执行方式的多用户环境的性能。通过按系统负荷自动降低请求的并行度,
在启动查询时实现此功能。当 PARALLEL_AUTOMATIC_TUNING = TRUE 时, 其效果最佳。
值范围: TRUE | FALSE
默认值: 如果 PARALLEL_AUTOMATIC_TUNING = TRUE, 则该值为 TRUE; 否则为 FALSE
parallel_max_servers:
说明: 指定一个例程的并行执行服务器或并行恢复进程的最大数量。如果需要, 例程启动时分配的查询服务器的数量将增加到该数量。
值范围: 0 -256
默认值: 由 CPU_COUNT, PARALLEL_AUTOMATIC_TUNING 和 PARALLEL_ADAPTIVE_MULTI_USER 确定
parallel_min_servers
说明: 指定为并行执行启动例程后,
Ora
cle 创建的查询服务器进程的最小数量。
值范围: 0 - PARALLEL_MAX_SERVERS。
默认值: 0
log_archive_dest_state_3:
说明: 指定相应的归档日志目标参数 (仅 LOG_ARCHIVE_DEST_3) 的可用性状态。如果启用,
日志目标将被归档。如果延迟, 该目标将被排除在归档操作之外直至重新启用。
值范围: ENABLE | DEFER
默认值: ENABLE
log_archive_dest_state_4:
说明: 指定相应的归档日志目标参数 (仅 LOG_ARCHIVE_DEST_4) 的可用性状态。如果启用,
日志目标将被归档。如果延迟, 该目标将被排除在归档操作之外直至重新启用。
值范围: ENABLE | DEFER
默认值: ENABLE
log_archive_dest_state_5:
说明: 指定相应的归档日志目标参数 (仅 LOG_ARCHIVE_DEST_5) 的可用性状态。如果启用,
日志目标将被归档。如果延迟, 该目标将被排除在归档操作之外直至重新启用。
值范围: ENABLE | DEFER
默认值: ENABLE
log_archive_dest_state_6:
说明: 标识特定日志归档目标的最近的用户定义状态。
值范围: ENABLE--如果目标属性有效, 则启用归档日志目标; DEFER--即使目标属性有效, 也要延迟处理归档日志目标; 或者是 ALTERNATE--延迟处理归档日志目标, 直到另一个目标的失败导致自动启用了此目标 (前提是备用目标的属性必须有效)。
log_archive_dest_state_7:
说明: 标识特定日志归档目标的最近的用户定义状态。
值范围: ENABLE--如果目标属性有效, 则启用归档日志目标; DEFER--即使目标属性有效, 也要延迟处理归档日志目标; 或者是 ALTERNATE--延迟处理归档日志目标, 直到另一个目标的失败导致自动启用了此目标 (前提是备用目标的属性必须有效)。
log_archive_dest_state_8:
说明: 标识特定日志归档目标的最近的用户定义状态。
值范围: ENABLE--如果目标属性有效, 则启用归档日志目标; DEFER--即使目标属性有效, 也要延迟处理归档日志目标; 或者是 ALTERNATE--延迟处理归档日志目标, 直到另一个目标的失败导致自动启用了此目标 (前提是备用目标的属性必须有效)。
log_archive_dest_state_9:
说明: 标识特定日志归档目标的最近的用户定义状态。
值范围: ENABLE--如果目标属性有效, 则启用归档日志目标; DEFER--即使目标属性有效, 也要延迟处理归档日志目标; 或者是 ALTERNATE--延迟处理归档日志目标, 直到另一个目标的失败导致自动启用了此目标 (前提是备用目标的属性必须有效)。
Log_archive_start:
说明: n只在数据库处于“归档日志”模式的情况下适用。它指定重做日志是自动还是手动复制。建议值是 TRUE, 即执行自动归档;
否则就需要手动干预, 使用
ALTER SYSTEM ARCHIVE LOG ... 命令来阻止例程挂起。
值范围: TRUE | FALSE
默认值: FALSE
log_archive_du
pl
ex_dest:
说明: 指定 LOG_ARCHIVE_DEST 外的另一个归档目标。在
Ora
cle8i 企业版中, 该参数被
LOG_ARCHIVE_DEST_n 代替。
值范围: 一个 NULL
字符串
, 或者任何有效的路径或设备名, 原始分区除外。
默认值: NULL
log_archive_format:
说明: LOG_ARCHIVE_FORMAT 只在数据库处于“归档日志”模式的情况下有用。文本
字符串
与变量 %s (日志序列号)
和 %t (线程号) 结合使用, 用于指定各归档重做日志文件的唯一文件名。该
字符串
被附加到
LOG_ARCHIVE_DEST 参数。
值范围: 任何有效的文件名。
默认值: 根据操作系统而定
log_archive_max_processes:
说明: 指定要求的 ARCH 进程的数量。如果 LOG_ARCHIVE_START = TRUE, 该值可以在例程启动时被评估;
也可以在通过
SQL
*
Pl
us 或
SQL
语法调用 ARCH 进程时评估。
值范围: 1 - 10 (包括端点) 的任何整数。
默认值: 1
log_archive_dest_2:
说明: 五个本地 (指定 LOCATION) 或远程 (指定 SERVICE) 目标位置中的第二个,
归档重做日志文件可以在这些目标位置上被复制。该参数只在企业版
ora
cle8i 数据库或更高版本的数据库中有效。
值范围: 语法为 (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
默认值: NULL
log_archive_min_succeed_dest:
说明: 定义在可以覆盖日志文件前必须将其复制到的目标的最小数量。该值应大于或等于 LOG_ARCHIVE_DEST_n 中
MANDATORY 目标的数量。
值范围: 1 - 5 (如果与 LOG_ARCHIVE_DEST 和 LOG_ARCHIVE_DU
PL
EX_DEST 共同使用, 则限制在 1-2)。
默认值: 1
log_archive_trace:
说明: 控制归档日志进程生成的输出。此进程可以通过下列方式启动
ARCn 后台进程 (在输出日志中指定为 ARCn)
明确的会话调用的前台进程 (在输出日志中指定为 ARCH) 或
“受管备用数据库”的远程文件服务器 (RFS) 进程。
0: 禁用归档日志跟踪 (这是默认设置)
1: 重做日志文件的追踪归档
2: 每个归档日志目标的追踪归档状态
4: 追踪归档操作阶段
8: 追踪归档日志目标活动
16: 追踪详细的归档日志目标活动
32: 追踪归档日志目标参数修改
64: 追踪 ARCn 进程状态活动
默认值: 0
log_archive_dest_10:
log_archive_dest_3:
说明: 五个本地 (指定 LOCATION) 或远程 (指定 SERVICE) 目标位置中的第三个,
归档重做日志文件可以在这些目标位置上被复制。该参数只在企业版
ora
cle8i 数据库或更高版本的数据库中有效。
值范围: 语法为 (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
默认值: NULL
log_archive_dest:
说明: 五个本地 (指定 LOCATION) 或远程 (指定 SERVICE) 目标位置中的第三个,
归档重做日志文件可以在这些目标位置上被复制。该参数只在企业版
ora
cle8i 数据库或更高版本的数据库中有效。
值范围: 语法为 (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
默认值: NULL
log_archive_dest_state_2:
说明: 指定相应的归档日志目标参数 (仅 LOG_ARCHIVE_DEST_2) 的可用性状态。如果启用,
日志目标将被归档。如果延迟, 该目标将被排除在归档操作之外直至重新启用。
值范围: ENABLE | DEFER
默认值: ENABLE
log_archive_dest_5:
说明: 五个本地 (指定 LOCATION) 或远程 (指定 SERVICE) 目标位置中的第五个,
归档重做日志文件可以在这些目标位置上被复制。该参数只在企业版
ora
cle8i 数据库或更高版本的数据库中有效。
值范围: 语法为 (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
默认值: NULL
log_archive_dest_6:
log_archive_dest_1:
log_archive_dest_8:
log_archive_dest_9:
log_archive_dest_state_1:
说明: 指定相应的归档日志目标参数 (仅 LOG_ARCHIVE_DEST_1) 的可用性状态。如果启用,
日志目标将被归档。如果延迟, 该目标将被排除在归档操作之外直至重新启用。
值范围: ENABLE | DEFER
默认值: ENABLE
log_archive_dest_state_10
说明: 指定归档日志的目标。
值范围: 本地文件系统位置 (磁盘位置) 或通过
Ora
cle Net 服务名 (tns 服务) 指定的远程归档位置。:
log_archive_dest_4:
说明: 五个本地 (指定 LOCATION) 或远程 (指定 SERVICE) 目标位置中的第四个,
归档重做日志文件可以在这些目标位置上被复制。该参数只在企业版
ora
cle8i 数据库或更高版本的数据库中有效。
值范围: 语法为 (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
默认值: NULL
create_bitmap_area_size:
说明: CREATE_BITMAP_AREA_SIZE 指定为创建位图索引而分配的内存量。
值范围: 根据操作系统而定。
默认值: 8 MB
pga_aggregate_target:
说明: 指定连接到例程的所有服务器进程的目标 PGA 总内存。请在启用自动设置工作区之前将此参数设置为一个正数。这部分内存不驻留在
SGA 中。数据库将此参数值用作它所使用的目标 PGA 内存量。设置此参数时, 要将 SGA 从可用于
Ora
cle
例程的系统内存总量中减去。然后可将剩余内存量分配给 pga_aggregate_target。
值范围: 整数加字母 K, M 或 G, 以将此限值指定为千字节, 兆字节或千兆字节。最小值为 10M, 最大值为 4000G
默认值: "未指定", 表示完全禁用对工作区的自动优化。
Sort_area_size:
说明: SORT_AREA_SIZE 以字节为单位, 指定排序所使用的最大内存量。排序完成后, 各行将返回,
并且内存将释放。增大该值可以提高大型排序的效率。如果超过了该内存量, 将使用临时磁盘段。
值范围: 相当于 6 个数据库块的值 (最小值) 到操作系统确定的值 (最大值)。
默认值: 根据操作系统而定
sort_area_retained_size
说明: 以字节为单位, 指定在一个排序运行完毕后保留的用户全局区 (UGA) 内存量的最大值。最后一行从排序空间中被提取后,
该内存将被释放回 UGA, 而不是释放给操作系统。
值范围: 从相当于两个数据库块的值到 SORT_AREA_SIZE 的值。
默认值: SORT_AREA_SIZE 的值
bitmap_merge_area_size:
说明: 指定合并从对索引的某一范围进行扫描而检索得到的位图要使用的内存量。
值范围: 根据系统而定。
默认值: 1MB
workarea_size_policy:
说明: 指定调整工作区
大小
的策略。此参数控制优化工作区时所处的模式。
值范围: AUTO, MANUAL。
默认值: 如果设置了 PGA_AGGREGATE_TARGET, 则为 AUTO; 否则为 MANUAL。
Hash_area_size:
说明: 与并行执行操作和 DML 或 DDL 语句相关。它以字节为单位, 指定要用于散列联接的最大内存量。有关详细信息,
请参阅手册
Ora
cle8i Concepts。
值范围: 0 到根据操作系统而定的值。
默认值: 派生:2 * SORT_AREA_SIZE 参数值
db_create_online_log_dest_4:
说明: 设置所创建的联机日志和控制文件的默认位置。如果在创建联机日志或控制文件时未指定文件名, 则使用默认文件名。
值范围: 文件系统目录名。该目录必须已存在。该目录必须具有可让
Ora
cle 在其中创建文件的许可。
db_create_online_log_dest_3:
说明: 设置所创建的联机日志和控制文件的默认位置。如果在创建联机日志或控制文件时未指定文件名, 则使用默认文件名。
值范围: 文件系统目录名。该目录必须已存在。该目录必须具有可让
Ora
cle 在其中创建文件的许可。
Db_files:
说明: 可为该数据库打开的数据文件的最大数量。
值范围: MAXDATAFILES - 根据操作系统而定。
默认值: 根据操作系统而定 (在 Solaris 系统上为 200)
db_create_online_log_dest_2:
说明: 设置所创建的联机日志和控制文件的默认位置。如果在创建联机日志或控制文件时未指定文件名, 则使用默认文件名。
值范围: 文件系统目录名。该目录必须已存在。该目录必须具有可让
Ora
cle 在其中创建文件的许可。
db_create_online_log_dest_1:
说明: 设置所创建的联机日志和控制文件的默认位置。如果在创建联机日志或控制文件时未指定文件名, 则使用默认文件名。
值范围: 文件系统目录名。该目录必须已存在。该目录必须具有可让
Ora
cle 在其中创建文件的许可。
Db_create_file_dest:
说明: 设置所创建的数据文件, 控制文件和联机日志的默认位置。
值范围: 文件系统目录名。该目录必须已存在。该目录必须具有可让
Ora
cle 在其中创建文件的许可。
Control_files:
说明: 指定一个或多个控制文件名。
Ora
cle 建议对于不同设备或 OS 文件镜象使用多个文件。
值范围: 1 - 8 文件名 (带路径名)。
默认值: 根据操作系统而定
db_create_online_log_dest_5:
说明: 设置所创建的联机日志和控制文件的默认位置。如果在创建联机日志或控制文件时未指定文件名, 则使用默认文件名。
值范围: 文件系统目录名。该目录必须已存在。该目录必须具有可让
Ora
cle 在其中创建文件的许可。
Large_pool_size:
说明 : 指定大型池的分配堆的
大小
, 它可被共享服务器用作会话内存, 用作并行执行的消息
缓冲区
以及用作 RMAN
备份和恢复的磁盘 I/O
缓冲区
。
值范围: 600K (最小值); >= 20000M (最大值是根据操作系统而定的)。
默认值 : 0, 除非配置了并行执行或 DBWR_IO_SLAVES
shared_pool_size:
说明: 以字节为单位, 指定共享池的
大小
。共享池包含如: 共享游标, 存储的过程,
控制结构和并行执行消息
缓冲区
等对象。较大的值能改善多用户系统的性能。
值范围:300 KB - 根据操作系统而定。
默认值: 如果是 64 位操作系统, 值为 64MB; 其他情况下, 值为 16MB。
Java_pool_size:
说明: 以字节为单位, 指定 Java 存储池的
大小
, 它用于存储 Java 的方法和类定义在共享内存中的表示法,
以及在调用结束时移植到 Java 会话空间的 Java 对象。有关详细信息, 请参阅
Ora
cle8i Java
Developer's Guide。
值范围: 根据操作系统而定。
默认值: 根据操作系统而定
shared_pool_reserved_size:
说明: 指定要为较大连续共享池内存请求而保留的空间,
以避免由碎片引起的性能下降。该池的
大小
应符合这样的条件:能存储为防止对象从共享池刷新而普遍要求的所有大型过程和程序包。
值范围: SHARED_POOL_RESERVED_MIN_ALLOC 到
SHARED_POOL_SIZE 的一半 (字节)。
默认值: SHARED_POOL_SIZE 值的 5%
cursor_sharing:
说明: 控制可以终止共享相同的共享游标的
SQL
语句类型。
强制: 强制表达方式不同但语句意思相同的语句共享一个游标。
EXACT: 只令完全相同的
SQL
语句共享一个游标。
默认值: EXACT
open_cursors:
说明: 指定一个会话一次可以打开的游标 (环境区域) 的最大数量, 并且限制
PL
/
SQL
使用的
PL
/
SQL
游标高速缓存的
大小
, 以避免用户再次执行语句时重新进行语法分析。请将该值设置得足够高,
这样才能防止应用程序耗尽打开的游标。
值范围: 1 - 操作系统限制值。
默认值: 64
serial_reuse:
说明: 指定何种类型的
SQL
游标应利用串行可重用内存功能。如果 CURSOR_SPACE_FOR_TIME = TRUE,
那么 SERIAL_REUSE 值将被忽略, 当作被设置为
DISABLE 或 NULL 的情况处理。
值范围: DISABLE | SELECT | DML |
PL
SQL
| ALL | NULL
默认值: NULL
session_cached_cursors:
说明: 指定要高速缓存的会话游标的数量。对同一
SQL
语句进行多次语法分析后,
它的会话游标将被移到该会话的游标高速缓存中。这样可以缩短语法分析的时间, 因为游标被高速缓存, 无需被重新打开。
值范围: 0 到根据操作系统而定的值。
默认值: 0
cursor_space_for_time:
说明: 在一个游标引用共享
SQL
区时, 确定将
SQL
区保留在共享池中还是从中按过期作废处理。
值范围: TRUE | FALSE
默认值: FALSE (过期作废)
rollback_segments:
说明: 指定要在例程启动过程中获取的一个或多个回退段, 即使其数量超过了 TRANSACTIONS /
TRANSACTIONS_PER_ROLLBACK_SEGMENT 的值。公式为 ROLLBACK_SEGMENTS =
(rbseg_name [, rbseg_name] ...)
值范围:除 SYSTEM 外, DBA_ROLLBACK_SEGS 中列出的任何回退段。
默认值: NULL (默认情况下使用公用回退段)
undo_suppress_errors:
说明: 允许用户在 SMU 模式下尝试执行 RBU 操作 (如
ALTER ROLLBACK SEGMENT ONLINE) 时忽略
错误
。这样能让用户在将所有应用程序和脚本转换到 SMU
模式之前即可使用 SMU 功能。
值范围: True 或 False
默认值: False。
Max_rollback_segments:
说明: 指定 SGA 中高速缓存的回退段的最大
大小
。该数值指定一个例程中可同时保持联机状态 (即状态为 INUSE)
的回退段的最大数量。
值范围: 2 -65535
默认值: 最大值 (30, TRANSACTIONS/TRANSACTIONS_PER_ROLLBACK_SEGMENT)
undo_retention:
说明: UNDO_RETENTION
参数用来指定要在数据库中保留的已提交的撤消信息总量。可在例程启动时设置该参数值。可以计算满足撤消保留要求所需的撤消空间量:
UndoSpace = RD * UPS, 其中 UndoSpace 以撤消块数来表示, RD 用以秒为单位的
UNDO_RETENTION 来表示, UPS 以每秒撤消块数来表示。
值范围: 所允许的最大值为 (2 ** 32) 秒。
默认值: 30 秒。
Transactions_per_rollback_segment:
说明: 指定每个回退段允许的并行事务处理的数量。启动时获取的回退段的最小数量为 TRANSACTIONS
除以该参数值的结果。如果在参数 ROLLBACK_SEGMENTS 中命名了其他回退段, 就可以获取这些回退段。
值范围: 1 - 根据操作系统而定。
默认值: 5
undo_management:
说明: 指定系统应使用哪种撤消空间管理模式。如果设置为 AUTO, 例程将以 SMU 模式启动。否则将以 RBU 模式启动。在
RBU 模式下, 撤消空间会象回退段一样在外部分配。在 SMU 模式下, 撤消空间会象撤消表空间一样在外部分配。
值范围: AUTO 或 MANUAL
默认值: 如果启动第一个例程时忽略了 UNDO_MANAGEMENT 参数, 则将使用默认值 MANUAL, 并且例程将以 RBU 模式启动。如果这不是第一个例程, 则将按其他现有例程启动时使用的撤消模式来启动该例程。
Undo_tablespace:
说明: 撤消表空间仅用于存储撤消信息。UNDO_TABLESPACE 仅允许在系统管理撤消 (SMU)
模式下使用。例程将使用指定的撤消表空间, <undoname>。如果该表空间不存在, 或不是撤消表空间,
或正在由另一例程使用, 则例程 STARTUP 将失败。
默认值: 每个数据库都包含 0 个或更多的撤消表空间。在 SMU 模式下, 将为每个
ORA
CLE 例程分配一个 (且仅限一个) 撤消表空间。
Instance_name
说明: 在多个例程使用相同服务名的情况下, 用来唯一地标识一个数据库例程。INSTANCE_NAME 不应与 SID 混淆,
它实际上是对在一台主机上共享内存的各个例程的唯一标识。
值范围: 任何字母
数字
字符
。
默认值: 数据库 SID
service_names:
说明 : 为
Ora
cle Net 监听程序用来识别一个服务 (如: 复制环境中的一个特定数据库)
的例程指定服务名。如果该服务没有域, 将附加 DB_DOMAIN 参数。
语法 : SERVICE_NAMES = name1.domain, name2.domain
默认值 : DB_NAME.DB_DOMAIN (如果已定义)
local_listener:
说明 : 一个
Ora
cle Net 地址列表, 用于标识
Ora
cle Net
监听程序所在的同一台计算机上的数据库例程。所有例程和调度程序都在该监听程序上注册, 以便启用客户机连接。该参数覆盖在
8.1 版本中废弃的 MTS_LISTENER_ADDRESS 和 MTS_MULTI
PL
E_LISTENERS 参数。
值范围: 一个有效的
Ora
cle Net 地址列表。
默认值: (ADDRESS_LIST=(Address=(Protocol=TCP)(Host=localhost)(Port=1521)) (Address=(Protocol=IPC)(Key=DBname)))
license_sessions_warning:
说明: 指定对并行用户会话数量的警告限制。达到该限制后, 其他用户仍然可以连接, 但一条消息将被写入 ALERT 文件。具有
RESTRICTED SESSION 权限的用户将收到一条警告消息, 表明系统已接近最大容量。
值范围: 0 - LICENSE_MAX_SESSIONS
默认值: 0
license_max_sessions:
说明: 指定允许同时进行的并行用户会话的最大数量。达到该限制后, 只有具有 RESTRICTED SESSION
权限的用户才能连接到服务器。所有其他用户都会收到一条警告消息, 表明已达到系统最大容量的限制。
值范围: 0 - 会话许可的数量。
默认值: 0
license_max_users:
指定您可在该数据库中创建的用户的最大数量。并行会话使用许可和用户使用许可不应被同时启用。LICENSE_MAX_SESSIONS
或 LICENSE_MAX_USERS 或这两者的值应为零。
值范围: 0 - 用户许可的数量。
默认值: 0
db_block_checksum:
说明: DBWn, ARCH 和
SQL
*loader 是否为每一个数据块读或写计算或校验块的校验和。
值范围: TRUE | FALSE
默认值: FALSE
shadow_core_dump:
说明: 一个针对 UNIX 的参数, 用于指定是否将 SGA 信息转储到一个生成的核心文件中。如果设置为 FULL, SGA
将被包括在核心转储中。如果设置为 PARTIAL, SGA 将不被转储。
值范围: FULL | PARTIAL
默认值: FULL
db_block_checking:
说明: 用于控制是否检查事务处理管理的块有无损坏。
值范围: TRUE | FALSE
默认值: FALSE
background_core_dump:
说明: 是否将 SGA 信息转储到一个生成的核心文件中 (用于 UNIX)。
值范围: FULL | PARTIAL
默认值: FULL
event:
说明: 由
Ora
cle 技术支持人员使用, 以调试系统。一般情况下, 不应变更该值。
值范围:不可用。
默认值: 无
user_dump_dest:
说明: 为服务器将以一个用户进程身份在其中写入调试跟踪文件的目录指定路径名。例如, 该目录可这样设置: NT 操作系统上的 C:/
ORA
CLE/UTRC; UNIX 操作系统上的 /
ora
cle/utrc; 或 VMS 操作系统上的
DISK$UR3:[
ORA
CLE.UTRC]。
值范围: 一个有效的本地路径名, 目录或磁盘。
默认值: 根据操作系统而定
timed_statistics:
说明: 收集操作系统的计时信息, 这些信息可被用来优化数据库和
SQL
语句。要防止因从操作系统请求时间而引起的开销,
请将该值设置为零。将该值设置为 TRUE 对于查看长时间操作的进度也很有用。
值范围: TRUE | FALSE
默认值: FALSE
timed_os_statistics:
说明 : 由系统管理员使用, 以收集操作系统统计信息。为了有效地使用资源, 请只在需要时才设置该值。对于专用服务器,
会在用户连接, 断开连接以及弹出调用 (如果超出了指定的时间限制) 的情况下收集操作系统统计信息。对于共享服务器,
将为推入或弹出的调用收集统计信息。
值范围: 以秒为单位的时间。
默认值 : 0 (操作系统统计信息不被刷新)
core_dump_dest:
说明: 指定核心转储位置的目录名 (用于 UNIX)。
值范围: 任何有效的目录名。
默认值:
ORA
CLE_HOME/dbs
ora
cle_trace_collection_name:
说明: 指定
Ora
cle Trace 收集名, 并在输出文件名中使用 (收集定义文件 .cdf 和数据收集文件
.dat)。如果该参数不为空, 且
ORA
CLE_TRACE_ENABLE = TRUE, 就会启动一个默认的
Ora
cle Trace 收集, 直到该值再次设置为 NULL。
值范围: 一个有效的收集名, 最长可为 16 个
字符
(使用 8 个
字符
文件名的平台除外)。
默认值: NULL
ora
cle_trace_collection_path:
说明: 指定
Ora
cle Trace 收集定义文件 (.cdf) 和数据收集文件 (.dat) 所在的目录路径名。
值范围: 完整的目录路径名。
默认值: 根据操作系统而定 (通常是
ORA
CLE_HOME/otrace/admin/cdf)
background_dump_dest:
说明: 指定在
Ora
cle 操作过程中为后台进程 (LGWR, DBW n 等等) 写入跟踪文件的路径名
(目录或磁盘)。它还定义记录着重要事件和消息的数据库预警文件的位置。
值范围: 任何有效的目录名。
默认值:
ORA
CLE_HOME/rdbms/log (根据操作系统而定)
ora
cle_trace_enable:
说明: 要为服务器启用
Ora
cle Trace 收集, 请将该值设置为 TRUE。如果设置为 TRUE, 该服务器就可以使用
Ora
cle Trace。要启动一个收集过程, 请为
ORA
CLE_TRACE_COLLECTION_NAME
指定一个非空值; 或者使用
Ora
cle Trace Manager 来启动一个收集。
值范围: TRUE | FALSE
默认值: FALSE
ora
cle_trace_collection_size:
说明: 以字节为单位, 指定
Ora
cle Trace 收集文件的最大
大小
。一旦该收集文件的
大小
达到这个最大值,
收集就会被禁用。如果值范围指定为零, 就表示没有
大小
限制。
值范围: 0 -4294967295
默认值: 5242880
ora
cle_trace_facility_path:
说明: 指定
Ora
cle TRACE 工具的定义文件 (.fdf) 所在的目录路径名。
值范围: 完整的目录路径名。
默认值:
ORA
CLE_HOME/otrace/admin/fdf/ (根据操作系统而定)
sql
_trace:
说明: 禁用或启用
SQL
跟踪设备。如果设置为 TRUE, 将收集优化信息, 这些信息对改善性能很有用。由于使用
SQL
跟踪设备将引发系统开销, 只应在需要优化信息的情况下使用 TRUE。
值范围: TRUE | FALSE
默认值: FALSE
ora
cle_trace_facility_name:
说明: 指定
Ora
cle Trace 产品定义文件名 (.fdf 文件名)。该文件包含可为使用
Ora
cle Trace
数据收集 API 的产品收集的所有事件和数据项的定义信息。
Ora
cle 建议使用默认的文件 ORCLED.FDF。
值范围: 一个有效的设备名, 最长可有 16 个
字符
。
默认值:
ora
cled
max_dump_file_size:
说明: 指定每个跟踪文件的最大
大小
。如果您担心跟踪文件会占用太多空间, 可更改该限制。如果转储文件可以达到操作系统允许的最大
大小
,
请将该值指定为“无限制”。
值范围: 0 - 无限制 (可以用 'K' 或 'M' 为单位)
默认值: 10000 块
resource_limit:
说明: 确定是否在数据库概要文件中实行资源限制。如果设置为 FALSE, 将禁用资源限制。如果值为 TRUE, 即启用资源限制。
值范围: TRUE | FALSE
默认值: FALSE
resource_manager_
pl
an:
说明: 如果指定该值, 资源管理器将激活计划和例程的所有子项 (子计划, 指令和使用者组)。如果不指定, 资源管理器将被禁用,
ALTER SYSTEM 命令还可以启用。
值范围: 任何有效的
字符串
。
默认值: NULL
sessions:
说明: 指定用户会话和系统会话的总量。默认数量大于 PROCESSES, 以允许递归会话。
值范围: 任何整数值。
默认值: 派生 (1.1 * PROCESSES + 5)
java_soft_sessionspace_limit:
说明: 以字节为单位, 指定在 Java 会话中使用的 Java 内存 的 '软限制'。如果用户的会话持续时间 Java
状态使用过多的内存,
Ora
cle 将生成一个警告并向跟踪文件写入一则消息。
值范围: 0 - 4GB
默认值: 0
cpu_count:
说明:
Ora
cle 可用的 CPU 的数目 (用于计算其他参数值)。请勿更改该值。
值范围: 0 - 无限制。
默认值: 由
Ora
cle 自动设置
java_max_sessionspace_size:
说明: 以字节为单位, 指定可供在服务器中运行的 Java 程序所使用的最大内存量。它用于存储每次数据库调用的 Java
状态。如果用户的会话持续时间 Java 状态超过了该值, 则该会话会由于内存不足而终止。
值范围: 根据操作系统而定。
默认值: 0
processes:
说明: 指定可同时连接到一个
Ora
cle Server 上的操作系统用户进程的最大数量。该值应允许执行所有后台进程, 如:
作业队列 (SNP) 进程和并行执行 (Pnnn) 进程。
值范围: 6 到根据操作系统而定的一个值。
默认值: 由 PARALLEL_MAX_SERVERS 确定
control_file_record_keep_time:
说明: 控制文件中可重新使用部分中的记录必须保留的最短时间 (天数)。
值范围: 0 -365
默认值: 7
log_checkpoint_timeout:
说明: 指定距下一个检查点出现的最大时间间隔 (秒数)。将该时间值指定为 0,
将禁用以时间为基础的检查点。较低的值可以缩短例程恢复的时间, 但可能导致磁盘操作过量。
值范围: 0 - 无限制。
默认值:
Ora
cle8i:900 秒。企业版: 1800 秒
recovery_parallelism:
说明: 指定参与例程或介质恢复的进程的数量。如果值为 0 或 1, 就表明恢复将由一个进程以串行方式执行。
值范围: 根据操作系统而定 (不能超过 PARALLEL_MAX_SERVERS)。
默认值: 根据操作系统而定
fast_start_mttr_target:
说明: 指定从单个数据库例程崩溃中恢复所需的时间 (估计秒数)。FAST_START_MTTR_TARGET
将在内部被转换为一组参数, 用于修改数据库的操作, 从而将它的恢复时间控制在总 "恢复平均时间 (MTTR)"
中的一定范围之内。只有具有 "快速启动故障恢复" 功能的版本才支持此参数。
值范围: [0, 3600]。它将计算数据
缓冲区
高速缓存条目数之上, 且大于最大日志中的块数的限值。
默认值: 0
log_checkpoints_to_alert:
说明: 指定将检查点信息记录到预警文件中。该参数对于确定检查点是否按所需频率出现很有用。
值范围: TRUE | FALSE
默认值: FALSE
fast_start_io_target:
说明: 指定在系统崩溃或例程恢复期间需要的 I/O 数量。该值比 DB_BLOCK_MAX_DIRTY_TARGET
对恢复过程的控制更加精确。
值范围: 0 (禁用 I/O 恢复限制) 或 1000, 到高速缓存中的所有
缓冲区
数。
默认值: 高速缓存中的所有
缓冲区
数
log_checkpoint_interval:
说明: 指定在出现检查点之前, 必须写入重做日志文件中的 OS 块 (而不是数据库块) 的数量。无论该值如何,
在切换日志时都会出现检查点。较低的值可以缩短例程恢复所需的时间, 但可能导致磁盘操作过量。
值范围: 无限制 (指定 0 即可禁用该参数)。
默认值: 根据操作系统而定
log_buffer:
说明: 以字节为单位, 指定在 LGWR 将重做日志条目写入重做日志文件之前,
用于缓存这些条目的内存量。重做条目保留对数据
这个
错误
通常出现在
PL
/
SQL
中尝试将超出
字符串
缓冲区
大小
的数据插入到变量中时。为了解决这个问题,你可以尝试以下几个方法:
1. 增加
缓冲区
大小
:你可以尝试增加
缓冲区
的
大小
,以容纳更多的数据。
2. 确定数据是否正确:确定输入的数据是否正确,特别是在将数据插入到数据库中时。
3. 使用 SUBSTR 函数截取
字符串
:如果你正在尝试将一个过长的
字符串
插入到变量中,你可以使用 SUBSTR 函数将其截取为合适的长度。
4. 使用 CLOB 或 BLOB 数据类型:如果你需要处理大量的文本或二进制数据,请考虑使用 CLOB 或 BLOB 数据类型,它们可以容纳更多的数据。
5. 确定变量类型是否正确:如果你正在尝试将数值类型的数据插入到
字符串
类型的变量中,或者反之,可能会导致此
错误
。请确保变量类型正确。