Oracle Mssql常用数据库参数
来源:互联网 发布:铜雀台影评知乎 编辑:程序博客网 时间:2024/04/29 19:04
该文档主要是用于增加对数据库参数的了解,并且能知道哪些参数与DBCoffer有关,哪些参数能使数据库性能达到一定级别的提升。后面一章将会谈到当前比较常用的数据库数据导入导出工具。
1 数据库参数讲解
1.1 Oracle数据库部分相关参数详解
数据库中详细参数的值以及相关的参数属性,都可以从v$parameter,v$parameter2两个视图中查询得到。
ID
数据名称
参数说明
1
NLS_CHARACTERSET
CHAR,VARCHAR, VARCHAR2, LONG and CLOB所采用的字符集编码。其中客户端的nls_lang环境变量需要与此字符集保持一致。
2
NLS_NCHAR_CHARACTERSET
NCHAR, NVARCHAR2 and NCLOB所采用的字符集编码,Oracle 9i时只支持UTF8 or AL16UTF16两处 Unicode编码。
3
NLS_COMP
通常情况下,在WHERE子句和PL / SQL块的比较是二进制,除非你指定的NLS_SORT的功能。你通过设置NLS_COMP为ANSI,表明,在WHERE子句和PL / SQL块的比较应该使用的语言排序的NLS_SORT参数中指定的。您还必须定义索引上你想语言排序的列的。
Property
Description
Parameter type
String
Syntax
NLS_COMP = { BINARY | ANSI }
Default value
BINARY
Modifiable
ALTER SESSION
4
NLS_LANGUAGE
NLS_LANGUAGE指定的数据库的默认语言。这种语言被用于消息,年月日名称,上午和下午,符号,以及默认的排序机制。此参数也决定了默认值的参数的NLS_DATE_LANGUAGE及NLS_SORT。
Property
Description
Parameter type
String
Syntax
NLS_LANGUAGE = language
Default value
Operating system-dependent, derived from the NLS_LANG environment variable
Modifiable
ALTER SESSION
5
NLS_SORT
NLS_SORT指定ORDER BY查询的排序顺序。设置NLS_SORT不是二进制的任何其他会造成一种使用全表扫描,无论路径的优化选择。
如果该值是二进制数字,然后ORDER BY查询的排序序列为基础的数字值的字符(二进制排序,需要较少的系统开销)。
6
NLS_TERRITORY
NLS_TERRITORY指定默认的数据库日期格式,默认的小数点字符和组分隔符,默认的ISO和本地货币符号
7
NLS_DATE_FORMAT
NLS_DATE_FORMAT指定了默认的日期格式与TO_CHAR和TO_DATE功能的使用。此参数的默认值由NLS_TERRITORY确定。
这个参数的值可以是任何有效的日期格式掩码,则该值必须用双引号包围。例如:’yyyy-mm-dd hh24:mi:ss’
8
NLS_TIMESTAMP_FORMAT
NLS_DATE_FORMAT指定了默认的日期格式与TO_CHAR和TO_TIMESTAMP功能的使用。这个参数的值可以是任何有效的日期格式掩码,则该值必须用引号包围。例如:’yyyy-mm-dd hh24:mi:ssxff’,能精确到毫秒。
9
AUDIT_TRAIL
Property
Description
Parameter type
String
Syntax
AUDIT_TRAIL = { db | os | none | true | false | db_extended }
Default value
none
none or false:关闭数据库审计;
os:启用数据库审计,所有审计记录到操作系统的审计跟踪。如Windows会记录到事件里去。
db or true:启用数据库审计,所有审计记录到数据库审计线索(SYS.AUD $表)
db_extended:启用数据库审计,所有审计记录到数据库审计表(SYS.AUD $表)。此外,填充的SQLBIND的,和SQLTEXT CLOB列。
注:开启数据库审计后,默认会对系统表开启审计。
11
COMPATIBLE
允许您使用一个新版本的Oracle兼容,同时保证向后兼容早期版本的。这是有帮助的,如果有必要恢复到早期版本的。
此参数指定的发布,Oracle必须保持兼容性。它可以让你利用一个新版本的维护改进在生产系统中没有立即在您的环境中测试新的功能。释放某些功能可能会受到限制。
当使用一个备用数据库,在主数据库和备用数据库上,这个参数必须具有相同的值。
12
CPU_COUNT
在大多数平台上,Oracle会自动设定值的cpu_count的可用的CPU到您的Oracle实例的数量。不要改变的价值cpu_count的
13
CURSOR_SHARING
Property
Description
Parameter type
String
Syntax
CURSOR_SHARING = { SIMILAR | EXACT | FORCE }
Default value
EXACT
Modifiable
ALTER SESSION, ALTER SYSTEM
FORCE:SQL语句可能会在某些文字有所不同(值),但在其他方面相同的(SQL谓词),共享游标,除非文字影响的语句的含义。
SIMILAR:语句可能会在某些文字有所不同,则共享游标,除非文字影响的含义的语句,或在某种程度上的计划进行了优化。
EXACT:只允许完全相同的语句使用共享游标。
该参数会影响到DBCoffer的实际审计结果,如EXACT时,审计到实际执行的真实语句,其他两种参数时审计到的语句都是参数化的语句。
14
DB_WRITER_PROCESSES
DB_WRITER_PROCESSES是当系统修改数据的负载过重,它指定后强日志书写进程个数(1 or CPU_COUNT/8)。
15
DB_DOMAIN
在分布式数据库系统中,DB_DOMAIN指定的数据库内的网络结构中的逻辑位置。你应该设定这个参数,如果这个数据库是或将要分布式系统的一部分。该值包括一个全局数据库名,由合法的标识符,由句点分隔的扩展组件。 Oracle建议您指定的DB_DOMAIN在一个域中的所有数据库作为唯一的字符串。Eg:orcl.baidu.com
16
DB_NAME
DB_NAME指定的数据库标识符,最多为8个字符。必须指定此参数,必须在CREATE DATABASE语句中指定的名称相对应。
17
INSTANCE_NAME
在Real Application Clusters环境中,多个实例可以与一个单一的数据库服务。客户端可以通过指定一个特定的实例连接到数据库,覆盖Oracle的连接负载均衡。 INSTANCE_NAME这种情况下指定唯一的名称。
在单实例数据库系统,实例名称通常是相同的数据库名称。
18
LOG_BUFFER
LOG_BUFFER指定的内存量(以字节为单位)时,Oracle使用redo日志文件缓冲重做条目。redo日志条目包含的数据库块缓冲区的变化, LGWR进程将redo日志条目写入日志缓冲区redo日志文件。
在一般情况下,较大的值LOG_BUFFER,能有效减少是长期或大量减少写redo日志文件I / O的次数。在一个繁忙的系统,65536或更高的值是合理的
19
OPEN_CURSORS
OPEN_CURSORS指定一个会话可以有一次打开的游标(私有SQL区的句柄)的最大数量。
20
OPTIMIZER_INDEX_CACHING
可以调整基于成本的优化,有利于嵌套循环连接和IN-列表迭代器的行为,修改优化器的假设有关索引缓存嵌套循环连接和IN-列表迭代器通过设置此参数为0和100之间的值表示的索引块的百分比在缓存中的优化应承担。将该参数设置为一个较高的值,嵌套循环连接和,IN列表迭代器看起来不那么昂贵的优化。因此,它会更容易挑嵌套循环连接,对散列或排序合并连接和使用IN列表迭代器挑指标比其他指标或全表扫描。
22
OPTIMIZER_MODE
first_rows_n
优化器使用基于成本的方法和优化的最佳响应时间,返回前n行的目标。
First_rows
优化器使用基于混合成本和最佳响应时间方案快速传递的前几行。
All_rows
优化器使用一个基于成本的方法,并优化与最佳的吞吐量(使用最少的资源来完成整个语句的目标)。
24
PROCESSES
过程指定的操作系统用户进程的最大数量,可以同时连接到Oracle。它的值应该包含请允许让所有的后台进程,锁进程,作业队列进程和并行执行进程。
25
RECYCLEBIN
是否开启数据库回收站功能
26
SESSION_CACHED_CURSORS
速缓存的会话游标的数量。重复解析相同的SQL语句调用的这句话导致会话游标移动到会话的游标高速缓存。随后的解析调用会发现游标在缓存中,不需要重新打开游标。 Oracle使用最近最少使用算法,在该会话的游标高速缓存中删除条目,在需要的时候,以腾出空间为新的条目。
27
SGA_MAX_SIZE
Property
Description
Parameter type
Big integer
Syntax
SGA_MAX_SIZE = integer [K | M | G]
指定数据库实例的SGA的最大大小。
28
SGA_TARGET
与上同,最好是保持一个默认配置,如果系统有加内存,推荐进行相关的修改。
29
SQL_VERSION
Sql语言版本,用来解决一些Oracle版本之间的SQL兼容问题。
30
STATISTICS_LEVEL
数据库和操作系统统计数据的收集。 Oracle数据库收集这些统计数据有多种用途,包括自我决策管理。
Property
Description
Parameter type
String
Syntax
STATISTICS_LEVEL = { ALL | TYPICAL | BASIC }
BASIC包括:
Automatic Workload Repository (AWR) Snapshots
Automatic Database Diagnostic Monitor (ADDM)
All server-generated alerts
Automatic SGA Memory Management
Automatic optimizer statistics collection
Object level statistics
End to End Application Tracing (V$CLIENT_STATS)
Database time distribution statistics (V$SESS_TIME_MODEL and V$SYS_TIME_MODEL)
Service level statistics
Buffer cache advisory
MTTR advisory
Shared pool sizing advisory
Segment level statistics
PGA Target advisory
Timed statistics
Monitoring of statistics
1.2 MSSQL数据库部分相关参数详解
数据库中详细参数的值以及相关的参数属性,可以执行EXECsp_configure存储过程或sys.configurations视图中查看,MSSQL数据库的属性需要用DATABASEPROPERTYEX ( database , property )函数去查看,
如: selectDATABASEPROPERTYEX ('testdb','Status' )。
ID
参数明称
参数说明
1
clr enabled
0:不允许在 SQL Server上执行程序集;
1:允许在 SQL Server上执行程序集。
由于DBCoffer的MSSQL版本的实现机制,所以该配置选项必须启用。
安装后,默认是:0
2
xp_cmdshell
SQL Server 2005 中引入的 xp_cmdshell 选项是服务器配置选项,使系统管理员能够控制是否可以在系统上执行 xp_cmdshell 扩展存储过程。
当该参数处于启用状态时,表示
4
地址窗口扩展
(Address Windowing Extension)
指定 SQL Server利用 Microsoft和中的地址窗口化扩展插件 (AWE)支持最高达 64 GB的物理内存。AWE仅应用于 32位操作系统。
5
最小服务器内存(MB)
min server memory (MB)
指定 SQL Server应该至少以分配的最小内存量启动,在低于此值时不释放内存。请根据 SQL Server实例的大小和活动设置此值。始终将此选项设置为合理的值,以确保操作系统不会从 SQL Server请求过多的内存,从而避免降低 Windows的性能
6
最大服务器内存(MB)
max server memory (MB)
指定在 SQL Server启动和运行时它可以分配的内存最大量。如果知道有多个应用程序与 SQL Server同时运行,并且要保证这些应用程序有足够的内存运行,则可以将此配置选项设置为特定值。
7
最大工作线程数
max worker threads
默认值是 0,则允许 SQL Server在启动时自动配置工作线程数。对于大多数系统而言,该设置为最佳设置。
如果实际的连接数量超过 max worker threads 的设置值时,SQL Server将建立工作线程池以便下一个可用的工作线程可以处理请求。
官方推荐:1024作为 32位 SQL Server的最大线程数,将 2048作为 64位 SQL Server的最大线程数
8
AUTO_SHRINK(数据库参数)
当设置为 ON时,数据库文件可作为定期收缩的对象。数据文件和日志文件都可以通过 SQL Server自动收缩。只有在数据库设置为 SIMPLE恢复模式时,或事务日志已备份时,AUTO_SHRINK才可减小事务日志的大小。当设置为 OFF时,在定期检查未使用空间的过程中,数据库文件将不自动收缩。
默认值:OFF
9
CURSOR_CLOSE_ON_COMMIT(数据库参数)
当设置为 ON时,所有打开的游标都将在提交或回滚事务时关闭。
当设置为 OFF时,打开的游标将在提交事务时仍保持打开,回滚事务将关闭所有游标。
默认:OFF
10
TRUSTWORTHY(数据库参数)
当设置为 ON时,使用了模拟上下文的数据库模块(例如,用户定义函数或存储过程)可以访问数据库以外的资源。
当指定为 OFF时,在模拟上下文中无法访问数据库以外的资源。
只要附加数据库,TRUSTWORTHY就会设置为 OFF。
默认:OFF
此处特别需要提到,如是DBCoffer参与加密的数据库,该参数必须为打开。
11
ANSI_NULL_DEFAULT
确定在 CREATE TABLE或 ALTER TABLE语句中未显式定义为空性的 alias数据类型或 CLR user-defined type 列的默认值(NULL或 NOT NULL)。
当指定为 ON时,默认值为 NULL。
当指定为 OFF时,默认值为 NOT NULL。
默认值:OFF
12
ANSI_NULLS
当指定为 ON时,所有与空值的比较运算计算结果为 UNKNOWN。
当指定为 OFF时,非 UNICODE值与空值的比较运算在两者均为 NULL时结果为 TRUE。
默认:OFF
14
ANSI_PADDING
设置为 ON时,不剪裁插入 varchar 或 nvarchar 列中的字符值的尾随空格,也不剪裁插入 varbinary 列中的二进制值的尾随零。不将值填充到列的长度。
设置为 OFF时,剪裁 varchar 或 nvarchar 的尾随空格以及 varbinary 的尾随零。此设置只影响新列的定义。
ANSI_PADDING 设置为 ON时,将把允许为空的 char 和 binary 列填充到列长,而当 ANSI_PADDING 为 OFF时,则将剪裁尾随空格和零。始终将不允许为空的 char 和 binary 列填充到列长。
默认:OFF
15
ANSI_WARNINGS
当指定为 ON时,在出现如除以零或聚合函数中出现空值这类情形时,将发出错误或警告。
当指定为 OFF时,在出现如除以零这类情形时,不会发出警告,并返回空值。
默认:OFF
16
ARITHABORT
当指定为 ON时,在执行查询期间发生溢出或除以零的错误时,该查询将结束。
当指定为 OFF时,出现其中一个错误时将显示警告信息,而查询、批处理或事务将继续处理,就像没有出现错误一样。
默认:OFF
17
CONCAT_NULL_YIELDS_NULL
当指定为 ON时,如果串联操作的两个操作数中任意一个为 NULL,则结果也为 NULL。
当指定为 OFF时,空值将按空字符串对待。
默认:OFF
18
NUMERIC_ROUNDABORT
当指定为 ON时,表达式中出现失去精度时将产生错误。
当指定为 OFF时,失去精度不生成错误信息,并且将结果舍入到存储结果的列或变量的精度。
默认:OFF
19
Collation(字符集)
排序字符集组成:区域-区分大小写-重音-假名-全半角
Eg: Chinese-PRC, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive=PRC-ci-ai-ks-ws
排序规则的优先顺序规则只应用于下列字符串数据类型:char、varchar、text、nchar、nvarchar 和 ntext。具有其他数据类型的对象不参与排序规则计算。
exec sp_helpsort查看当前数据库字符集。
SELECT * FROM fn_helpcollations()查看数据库支持排序字符集。
以上纯属个人整理,仅供参考。
- Oracle Mssql常用数据库参数
- mysql、mssql、oracle各种数据库参数化写法
- MSSQL链接常用数据库(一)
- MSSQL链接常用数据库(二)
- mssql数据库连接oracle数据库感想
- 【转载&收藏】Oracle/MSSQL/Mysql 常用数据库的字段类型及大小
- mysql,oracle,mssql 连接参数配置
- mssql与oracle常用函数对照
- MSSQL MYSQL ORACLE一些常用的命令
- MSSql 与Oracle常用函数整理(一)
- MSSql 与Oracle常用函数整理(二)
- asp 接数据库方法(oracle&mssql)
- 如何在ORACLE数据库访问MSSQL
- MsSql 和 Oracle 跨数据库查询
- 数据库存储图片(MsSQL/ORACLE/ACCESS)
- MYSQL/MSSQL/ORACLE数据库脚本代码
- MYSQL/MSSQL/ORACLE数据库脚本代码
- .bat启动数据库服务(MSSQL,Oracle)
- 多玩游戏网创始人李学凌:如何穷创业
- MySQL命令导出表
- [ExtNet]DataGroupView桌面
- CSocket网络编程基础
- ORA-04030: 在尝试分配...字节(...)时进程内存不足的原因分析解决方法
- Oracle Mssql常用数据库参数
- linux配置java环境变量(详细)
- MyBatis查询属性为空
- Access和Sql Server 比较(原)
- CEO们的用户体验(草根网)
- 屏幕可编辑与Get cursor 到跳转的使用
- CStocket简介
- 创造一个让你的团队热血沸腾的愿景
- 判断其他图片是否与给定的两个图的内容是否相同