Oracle Mssql常用数据库参数

来源:互联网 发布:铜雀台影评知乎 编辑:程序博客网 时间:2024/04/29 19:04

         该文档主要是用于增加对数据库参数的了解,并且能知道哪些参数与DBCoffer有关,哪些参数能使数据库性能达到一定级别的提升。后面一章将会谈到当前比较常用的数据库数据导入导出工具。

 

1 数据库参数讲解

1.1 Oracle数据库部分相关参数详解

数据库中详细参数的值以及相关的参数属性,都可以从v$parameterv$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_COMPANSI,表明,在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_LANGUAGENLS_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_CHARTO_DATE功能的使用。此参数的默认值由NLS_TERRITORY确定。

这个参数的值可以是任何有效的日期格式掩码,则该值必须用双引号包围。例如:’yyyy-mm-dd hh24:mi:ss’

8

NLS_TIMESTAMP_FORMAT

NLS_DATE_FORMAT指定了默认的日期格式与TO_CHARTO_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

FORCESQL语句可能会在某些文字有所不同(),但在其他方面相同的(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-列表迭代器通过设置此参数为0100之间的值表示的索引块的百分比在缓存中的优化应承担。将该参数设置为一个较高的值,嵌套循环连接和,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上执行程序集。

由于DBCofferMSSQL版本的实现机制,所以该配置选项必须启用。

安装后,默认是: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

排序规则的优先顺序规则只应用于下列字符串数据类型:charvarchartextncharnvarchar  ntext。具有其他数据类型的对象不参与排序规则计算。

exec sp_helpsort查看当前数据库字符集。

SELECT * FROM fn_helpcollations()查看数据库支持排序字符集。

 

 

 以上纯属个人整理,仅供参考。

原创粉丝点击