热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

【11g体系结构,6】参数文件和一些参数

一.参数文件的作用:参数文件记录了数据库的配置。在数据库启动时,Oracle要根据参数文件中的参数设置,配置数据库。如要为各个内存池分配多少内存,允许打开的进程数和会话等等。要想让数据库启动,必需先读取参数文件。参数文件中的参数,我们通常称其为

一.参数文件的作用: 参数文件记录了数据库的配置。在数据库启动时,Oracle 要根据参数文件中的参数设置,配置数据库。如要为各个内存池分配多少内存,允许打开的进程数和会话等等。要想让数据库启动,必需先读取参数文件。参数文件中的参数,我们通常称其为

一.参数文件的作用:

参数文件记录了数据库的配置。在数据库启动时,Oracle 要根据参数文件中的参数设置,配置数据库。如要为各个内存池分配多少内存,允许打开的进程数和会话等等。要想让数据库启动,必需先读取参数文件。参数文件中的参数,我们通常称其为初始化参数,简称就是参数。

二.参数文件共有两种参数文件

参数文件包含pfile 和spfile。区别如下:
1.PFILE 为文本文件,可以使用vi编辑器进行修改,可以放在客户端和服务端。 文件名为:init.ora。 从oracle 10g开始就不使用pfile。 oracle 10g默认的pfile的文件放置在:$oracle_home/dbs/init$ORACLE_SID.ora 参数文件的查找原则: spfilesid.ora ,spfile.ora, initsid.ora 修改范围:通过命令只能修改内存(scope=memory),手动修改参数文件。 2.SPFILE 是二进制文件,从oracle9i开始才有,只能放在oracle服务器端,可以被rman备份。 文件名称为:spfile.ora 。 通过命令修改: alter system set parameter_name=values <>; spfile存放的位置:$oracle_HOME/dbs/spfile$ORACLE_SID.ora 修改范围:通过命令修改内存和参数文件。
3.oracle 启动要用参数文件的查找顺序: 先找spfile.ora文件,如果没找到就找spfile.ora,如果没找到就找init.ora,如果都没找到就报错了。 从oracle 10g开始就不使用pfile。 4.考试时使用pfile启动哦。
5.参数文件在文档中的位置:
oracle 10g: 在 Administration -> Monitoring (里面有个initialization parameters) oracle 11g:Database Administration->Supporting Documentation->Reference-> 1 Initialization Parameters

三.参数文件的转换:

从oracle 10个默认都使用spfile文件。 1. spfile转成pfile: SQL> create pfile from spfile。 会在$ORACLE_HOME/dbs/init$ORACLE_SID.ora文件 或指定路径 SQL> create pfile=“---” from spfile;
2.pfile 转成spfile SQL> create spfile from pfile #当数据库使用spfile启动时,该转化会失败,因为spfile正在使用。 SQL> create spfile from pfile="---";
3.oracle 11g 可以使用内存生成spfile文件。 SQL> create spfile=“---” from memory;

四.查看当前数据库使用的参数文件是哪一个:

1.查询V$spparameter视图。 SQL> select distinct ISSPECIFIED from v$spparameter;
ISSPEC ------ TRUE FALSE
看查询结果的第一个值,为false 则使用pfile。为true 则使用spfile。 当有多个值的时候,说明pfile是存在的。

2.修改参数判断: 执行alter system set sga_target=200m scope=spfile,如果可以修改,表示是使用spfile,不能修改是使用pfile。
3.查看参数spfile(较实用)
当VALUE有值时,表示用spfile启动的,value没有值时用pfile启动的 SQL> show parameter spfile;
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string /u01/app/oracle/11.2.0/db_home _1/dbs/spfileorcl.ora

五.修改参数文件:

1.如果启动使用pfile 直接编辑,下次启动生效。 使用pfile 启动数据库: SQL> startup pfile="pfile路径";
2.如果启动使用spfile: ①.修改指令:alter system set parametername=values scope=memory|spfile|bothsid=&#39;sid&#39;|&#39;*&#39; scope取值:memory:只对当前instance内存有效,下次启动无效。 spfile:只对spfile修改,必须下次启动才生效,当前实例内存没有修改。 both:是scope的默认值,内存和spfile都被修改。
②.alter session set parametername= value; 只对当前session生效。
③.system|session的区别: 查询v$parameter视图, isses_modifiable =true 可以被alter session修改。 issys_modifiable =immediate/DEFERRED 可以被alter system修改(详见七). --查看视图 SQL> desc v$parameter;

Name Null? Type----------------------------------------- -------- ----------------------------NUM NUMBERNAME VARCHAR2(80)TYPE NUMBERVALUE VARCHAR2(512)DISPLAY_VALUE VARCHAR2(512)ISDEFAULT VARCHAR2(9)ISSES_MODIFIABLE VARCHAR2(5)ISSYS_MODIFIABLE VARCHAR2(9)ISINSTANCE_MODIFIABLE VARCHAR2(5)ISMODIFIED VARCHAR2(10)ISADJUSTED VARCHAR2(5)ISDEPRECATED VARCHAR2(5)DESCRIPTION VARCHAR2(255)UPDATE_COMMENT VARCHAR2(255)HASH NUMBER

sid 取值:适用于RAC集群环境 sid:表示修改当前实例。 *: 表示修改所有实例。

六.修改参数:

1.修改sga_target
--查看参数 SQL> show parameter sga_
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ sga_max_size big integer 160M sga_target big integer 160M --修改参数值,下次启动生效: SQL> alter system set sga_max_size=200m scope=spfile;
System altered.
--在集群条件下要指定sid SQL> alter system set sga_max_size=200m scope=spfile sid=&#39;orcl&#39;;
2.修改pga --查看pga大小 SQL> show parameter pga
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_target big integer 16M --修改当前内存中的pga大小,不修改spfile中的 SQL> alter system set pga_aggregate_target=20m scope=memory;

七.v$parameter 视图中 issys_modifiable 取值的意思:(静态参数与动态参数)

SQL> select distinct issys_modifiable from v$parameter;
ISSYS_MOD --------- IMMEDIATE FALSE DEFERRED
IMMEDIATE: 表示动态参数,直接修改到参数文件和内存的参数,立即成效,alter system set <> =<>; false: 表示静态参数, 不能直接修改到内存,只能通过,alter system set <> = <> scope=spfile 下次启动数据库生效。 deferred: 延迟生效,后续新的session中有效(不考虑是否用pfile或spfile启动)。 alter system set <> = <> ;

八.oracle 10g系统常用的参数:查看pfile文件 initorcl.ora

警告日志 *.audit_file_dest=&#39;/opt/oracle/102/admin/orcl/adump&#39; 后台进程日志 *.background_dump_dest=&#39;/opt/oracle/102/admin/orcl/bdump&#39; 版本兼容号,往后兼容不往前兼容。 *.compatible=&#39;10.2.0.1.0&#39; 定义控制文件 *.control_files=&#39;/opt/oracle/oradata/orcl/control01.ctl&#39;,&#39;/opt/oracle/oradata/orcl/control02.ctl&#39;,&#39;/opt/oracle/oradata/orcl/control03.ctl&#39; 服务器进程的日志 *.core_dump_dest=&#39;/opt/oracle/102/admin/orcl/cdump&#39; 内存块的大小 (8k) *.db_block_size=8192 域名后缀 *.db_domain=&#39;&#39; 指定一次性读取多少个块 *.db_file_multiblock_read_count=16
*.db_name=&#39;orcl&#39; 系统当中的一些日志存放的路径,叫闪回区。 *.db_recovery_file_dest=&#39;/opt/oracle/102/flash_recovery_area&#39; #闪回区大小 *.db_recovery_file_dest_size=2147483648 共享服务器配置参数 *.dispatchers=&#39;(PROTOCOL=TCP) (SERVICE=orclXDB)&#39; 作业进程数 *.job_queue_processes=10 打开游标的个数 *.open_cursors=300 pga大小 *.pga_aggregate_target=16777216 定义当前系统可以运行150个进程 *.processes=150 远程登录的用户要不要用密码文件验证 *.remote_login_passwordfile=&#39;EXCLUSIVE&#39; sga大小 *.sga_target=167772160 undo表空间的管理方式为自动管理,还可以取值manual, *.undo_management=&#39;AUTO&#39; 指定使用undo表空间 *.undo_tablespace=&#39;UNDOTBS1&#39; 指定调试跟踪文件的目录 *.user_dump_dest=&#39;/opt/oracle/102/admin/orcl/udump&#39;

九.静态参数和动态参数:

动态参数:修改动态参数不用重启数据库即可生效。 文档中Modifiable对应的值为ALTER SYSTEM表示该参数为动态参数 \
静态参数: 修改静态参数需要重启数据库才能生效。 文档中Modifiable对应的值为NO表示该参数为静态参数 \
#spfile启动数据库时,修改静态参数,不能修改内存中的值,只能修改spfile,重启数据库才生效。 SQL> alter system set sga_max_size=500m scope=both; alter system set sga_max_size=500m * ERROR at line 1: ORA-02095: specified initialization parameter cannot be modified
SQL> alter system set sga_max_size=500m scope=spfile; System altered.

九.隐藏参数:

SQL> desc x$ksppi Name Null? Type ----------------------------------------- -------- ---------------------------- ADDR RAW(4) INDX NUMBER INST_ID NUMBER KSPPINM VARCHAR2(80) KSPPITY NUMBER KSPPDESC VARCHAR2(255) KSPPIFLG NUMBER KSPPILRMFLG NUMBER KSPPIHASH NUMBER
SQL> desc x$ksppcv Name Null? Type ----------------------------------------- -------- ---------------------------- ADDR RAW(4) INDX NUMBER INST_ID NUMBER KSPPSTVL VARCHAR2(512) KSPPSTDVL VARCHAR2(512) KSPPSTDF VARCHAR2(9) KSPPSTVF NUMBER KSPPSTCMNT VARCHAR2(255)
--查找隐藏参数: SQL> select ksppinm,ksppstvl from x$ksppi a,x$ksppcv b where a.indx=b.indx

十.删除参数,使参数变为默认值:

1.pfile参数的删除:直接修改文本。 2.删除spfile的参数:要带上scope=spfile sid=&#39;*&#39;,才能删除掉。 SQL> alter system reset pga_aggregate_target scope=spfile sid=&#39;*&#39;;

十一.事件参数: (优化的时候讨论)

alter session set events &#39;<>&#39;;

十二.总结遇到的初始化参数:

1.filesystemio_options :

2.SEC_PROTOCOL_ERROR_FURTHER_ACTION
SEC_PROTOCOL_ERROR_FURTHER_ACTION specifies the further execution of a server process when receiving bad packets from a possibly malicious client.
Values:
CONTINUE
The server process continues execution. The database server may be subject to a Denial of Service (DoS) if bad packets continue to be sent by a malicious client.
(DELAY,integer)
The client experiences a delay of integer seconds before the server process accepts the next request from the same client connection. Malicious clients are prevented from excessive consumption of server resources while legitimate clients experience a degradation in performance but can continue to function.
(DROP,integer)
The server forcefully terminates the client connection after integer cumulative bad packets. The server protects itself at the expense of the client (for example, a client transaction may be lost). The client may reconnect and attempt the same operation.
来源: <http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams227.htm#REFRN10282>

3.DB_ULTRA_SAFE (11g新参数)

Purpose

The purpose of this article is to cover the new parameter DB_ULTRA_SAFE which is a new parameter introduced in 11g.

Through the creation of a new initialization parameter, DB_ULTRA_SAFE={off, data_only, data_and_index}, this capability provides an integrated mechanism to offer protection from various possible data corruptions that may impact Oracle Database. This feature improves the data protection capabilities of Oracle Database by offering an integrated mechanism to control various levels of protection from data corruptions. By making it possible to detect data corruptions in a timely manner, this feature also provides critical high availability benefits for Oracle Database.

New Parameter DB_ULTRA_SAFE introduce In 11g

Set DB_ULTRA_SAFE initialization parameter to automatically configure the appropriate data protection block checking level in the database.

Controls the setting of other related initialization parameters, including DB_BLOCK_CHECKING, DB_BLOCK_CHECKSUM, and DB_LOST_WRITE_PROTECT.

Different values that can be set for this parameter are

DB_ULTRA_SAFE = { OFF | DATA_ONLY | DATA_AND_INDEX }

By default its OFF.

Description of these values are given below

Values:

+ OFF

When any of DB_BLOCK_CHECKING, DB_BLOCK_CHECKSUM, or

DB_LOST_WRITE_PROTECT are explicitly set, no changes are made.

+ DATA_ONLY

DB_BLOCK_CHECKING will be set to MEDIUM.

DB_LOST_WRITE_PROTECT will be set to TYPICAL.

DB_BLOCK_CHECKSUM will be set to FULL.

+ DATA_AND_INDEX

DB_BLOCK_CHECKING will be set to FULL.

DB_LOST_WRITE_PROTECT will be set to TYPICAL.

DB_BLOCK_CHECKSUM will be set to FULL.

This parameter cannot be changed dynamically .

For example :

alter system set db_ultra_safe=data_only scope=spfile;

Restart the database for the new change to come into effect

来源: <http://blog.csdn.net/yushangfu/article/details/6692017>

4.log_archive_format:

LOG_ARCHIVE_FORMAT is applicable only if you are using the redo log in ARCHIVELOG mode. Use a text string and variables to specify the default filename format when archiving redo log files. The string generated from this format is appended to the string specified in the LOG_ARCHIVE_DEST parameter.

The following variables can be used in the format:

%s log sequence number

%S log sequence number, zero filled

%tthread number

%Tthread number, zero filled

%a activation ID

%d database ID

%r resetlogs ID that ensures unique names are constructed for the archived log files across multiple incarnations of the database

Using uppercase letters for the variables (for example, %S) causes the value to be fixed length and padded to the left with zeros. An example of specifying the archive redo log filename format follows:

LOG_ARCHIVE_FORMAT = &#39;log%t_%s_%r.arc&#39;

Neither LOG_ARCHIVE_DEST nor LOG_ARCHIVE_FORMAT have to be complete file or directory specifiers themselves; they only need to form a valid file path after the variables are substituted into LOG_ARCHIVE_FORMAT and the two parameters are concatenated together.

来源: <http://docs.oracle.com/cd/B19306_01/server.102/b14237/initparams103.htm>

5.SEC_MAX_FAILED_LOGIN_ATTEMPTS
You can limit the number of failed login attempts for application connections by setting the SEC_MAX_FAILED_LOGIN_ATTEMPTS initialization parameter to restrict the number of authentication attempts on a connection. After the specified number of authentication attempts fail, the database process drops the connection. By default, SEC_MAX_FAILED_LOGIN_ATTEMPTS is set to 10.
Remember that the SEC_MAX_FAILED_LOGIN_ATTEMPTS initialization parameter is designed to prevent potential intruders from attacking your applications; it does not apply to valid users. The sqlnet.ora INBOUND_CONNECT_TIMEOUT parameter and the FAILED_LOGIN_ATTEMPTS initialization parameter also restrict failed logins, but the difference is that these two parameters only apply to valid user accounts.


推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了在git中如何对指定的commit id打标签,并解决了忘记打标签的问题。通过查找历史提交的commit id,可以在任意时间点打上标签。同时,还介绍了git中的一些常用命令和操作。 ... [详细]
author-avatar
Cockroach小小强
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有