Chinaunix首页 | 论坛 | 博客
  • 博客访问: 300827
  • 博文数量: 19
  • 博客积分: 2588
  • 博客等级: 少校
  • 技术积分: 730
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-12 13:11
文章分类

全部博文(19)

文章存档

2022年(11)

2013年(3)

2012年(1)

2011年(2)

2008年(2)

我的朋友

分类: Oracle

2022-11-23 21:17:40

参考:http://www.itpub.net/thread-1159836-1-1.html
         
  在Oracle中,有一系列初始化参数用来进行数据库约束和资源限制,这些参数据通常存在一个存储文 件中,在数据库启动时读取并加载。
1、参数文件的分类
   pfile :(parameter file)静态参数文件(客戶端參數文件)
          1)文本文件,可以使用vi,vim等编辑器修改参数。
          2)修改参数下次重启实例才生效。
          3)pfile 参数文件可以不在 database server 上。
          4)命名方式:init+SID.ora 。
   spfile :(system parameter file) 动态参数文件。
          1)二进制文件,不可以通过编辑器修改,可以使用 EM 或指令来修改(alter  system|session set parameter_name = values <>)。
          2)Linux 下 strings 可以查看。
          3)支持RMAN备份。
          4)命名方式: spfile+SID.ora 。
2、参数分类
     按照一般得出方式分类为三类
     1)推导参数
     2)系统依赖参数
     3)可变参数
2.1、推导参数
     通常来自于其它参数的运算,依赖其它参数得了,故一般不需要修改
     如SESSION参数,在Oracle12C中,该参数大致按以下运算得出:
     ( 1.5 * PROCESSES ) +22
    SQL> select name,value from v$parameter where name in ('processes','sessions');
     processes                     640
     sessions                       984
2.2、操作系统依赖参数
       有些参数依赖操作系统,如processes,memory_target:
      SQL> startup
      ORA-00845: MEMORY_TARGET not supported on this system
      SQL> create pfile='/tmp/pfile.ora11g' from spfile;
      File created.
     SQL> !grep -i 'memory_target' /tmp/pfile.ora11g
      *.memory_target=511705088
     SQL> !df -h /dev/shm
     Filesystem Size Used Avail Use% Mounted on
     tmpfs 400M 0 400M 0% /dev/shm
    SQL> !df -h /dev/shm
    Filesystem Size Used Avail Use% Mounted on
    tmpfs 600M 0 600M 0% /dev/shm
    SQL> startup
   ORACLE instance started.
   Database mounted.
   Database opened.
2.3、可变参数
     包含绝大多数潜在影响系统性能的参数,某些参数设置的是限制条件,如OPEN_CURSOR,DB_CACHE_SIZE等。
2.4、不推荐参数
       版本更新升级或新特性发布,部分参数不再推荐使用。
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> set wrap off pagesize 0
SQL> select name from v$parameter where ISDEPRECATED='TRUE';
lock_name_space
instance_groups
resource_manager_cpu_allocation
active_instance_count
db_block_buffers
buffer_pool_keep
buffer_pool_recycle
log_archive_start
cluster_database_instances
fast_start_io_target
serial_reuse
rdbms_server_dn
remote_os_authent
sec_case_sensitive_logon
unified_audit_sga_queue_size
cursor_space_for_time
plsql_v2_compatibility
plsql_debug
background_dump_dest
user_dump_dest
commit_write
sql_trace
parallel_adaptive_multi_user
asm_preferred_read_failure_groups
已选择 24 行

2.5、废弃参数
SQL*Plus: Release 19.0.0.0.0 - Production on 星期三 11月 23 16:04:38 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
连接到:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> select count(*) from v$obsolete_parameter;
  COUNT(*)
----------
       172
按修改类型划分,可以静态参数和动态参数,
   静态参数:保存在参数文件,重启实例生效
   动态参数:修改后立即生效。
按获取方不同,分显示参数和隐含参数。隐含参数以“—“开头,一般不建议修改。
3、参数文 件的管理与使用
     参数文件存放位置:
         Windows: %ORACLE_HOME\database
         Linux        $ORACLE_HOME\dbs
          存储于ASM则有别于上述两目录。
     Database启动时搜索参数文件的顺序
        1)spfile$ORACLE_SID.ora
   2)spfile.ora
   3)init$ORACLE_SID.ora
   4)报错

      启动(pfile)
        startup pfile='D:\TOOLS\ORA19SOFTWARE\DATABASE\INIT.ORA'
      不能以pfile方式启动spfile,但可以pfile包含spile来启动
      #Pfile link to SPFILE
      SPFILE= 'E:\Oracle\Ora9iR2\database\SPFILEEYGLEN.ORA'

4、参数文件的创建
   创建参数文件需sysdba或sysoper权限,11g新增memory选项


5、12c及后续版本新特性
   12C引入PDB但参数文件设置是针对CDB, 每个PDB单独设置参数的参数不在参数文件,存在于系统表pdb_spfile$,从而实现不同PDB的参数调置。

6、参数的修改及重置
6.1、 设置、
   alter system set = comment= scope = memory|spfile|both [sid=] 
  value: 参数值值,可选项查询 v$parameter_valid_values
  comment: 备注供查询用,如何人何时因为某某原因修改
  scope:三个值:
    memory :参数修改后立刻生效,但不修改 spfile 文件,重启实例丢失修改。
    spfile :修改了 spfile 文件,重启后生效。
    both :前两种都要满足。
  如果不写scope缺省,则默认为scope=both
  sid:如果没写值默认为”*“
 
6.2、 重置、
     alter system reset parameter sid=’sid|*’ 
     恢复默认设置,如果指定spfile,则从文件中删除(注意版本)
6.3、错误修正
     如果spfile中参数设置错误重启报错。利用pfile中spfile选项来修正。
    1) #Pfile link to SPFILE
      SPFILE='/opt/oracle/product/10.2.0/dbs/spfilexx.ora'
      sga_max_size=1073741824
    2) startup pfile='/opt/oracle/product/10.2.0/dbs/initxx.ora'

7.1、参数查询

Method

Description

SHOW PARAMETERS

用于查询当前会话生效的初始化参数,显示v$parameter值。


SHOW SPPARAMETERS

用于查询当前会话生效的spfile包含的参数,显示v$spparameter值。

CREATE PFILE

spfile参数保存在初始化参数中,11g可以把memory保存在初始化参数中。

V$PARAMETER

显示当前会话可见参数

V$PARAMETER2

显示当前会话可见参数。类V$PARAMETER,V$PARAMETER中参数的多个值在V$PARAMETER2显示为多行。

V$SYSTEM_PARAMETER

显示当前实例的初始化参数设置。

V$SYSTEM_PARAMETER2

显示当前实例的初始化参数设置。V$SYSTEM_PARAMETER,V$SYSTEM_PARAMETER中参数的多个值在V$SYSTEM_PARAMETER2显示为多行

V$SPPARAMETER

显示SPFILE中的初始化参数. 如果初始化参数没有设置 ISSPECIFIED 为
FALSE


7.2   参数级别分类
     按照参数的生效级别,可以分为:当前session级别参娄、当前system参数、重启生效参数
     1)session级别视图,v$parametern、gv$parameter. v$parameter2、gv$parameter2。
        v$parametern显示当前session级别,如果没有使用alter session单独设置当前session参数值,则每个新session都是从v$system_parameter上取得系统的当前值。
        session级别的参数设置优先级{BANNED}{BANNED}{BANNED}{BANNED}最佳佳佳佳高,可以通过alter session来改变当前session的动态初始化参数。
    2)system级别的视图:v$system_parameter、v$system_parameter2、v$system_parameter4、gv$system_parameter、gv$system_parameter2 、gv$system_parameter4
       system级别即当前实例生效的参数,修改system/实例级别参数一般使用alter system set scope=memory/both。
       通常情况下v$parameter与v$system_parameter查询的值相同,但若使用defer修必参数,则v$parameter为当前session,而v$system_parameter查询的结果则对后续的新session生效
     v$system_parameter4记录的是当前数据库级别所有用户设置的初始化参数。当使用create pfile/spfile from memory生成参数文件,此时参数的来源为v$system_parameter4。       
     3)重启生效参数视图:v$spparameter、gv$spparameter
      v$spparameter显示SPFILE中的初始化参数. 如果初始化参数没有设置 ISSPECIFIED 为
FALSE

8、v$parameter的内容
Column Datatype Description

NUM

NUMBER

Parameter number

NAME

VARCHAR2(80)

Name of the parameter

TYPE

NUMBER

Parameter type:

  • 1 - Boolean

  • 2 - String

  • 3 - Integer

  • 4 - Parameter file

  • 5 - Reserved

  • 6 - Big integer

VALUE

VARCHAR2(4000)

Parameter value for the session (if modified within the session); otherwise, the instance-wide parameter value

DISPLAY_VALUE

VARCHAR2(4000)

Parameter value in a user-friendly format. For example, if the VALUE column shows the value 262144 for a big integer parameter, then the DISPLAY_VALUE column will show the value 256K.

DEFAULT_VALUE

VARCHAR2(255)

The default value for this parameter. This is the value of the parameter if a value is not explicitly specified for the parameter.

ISDEFAULT

VARCHAR2(9)

Indicates whether the parameter is set to the default value (TRUE) or the parameter value was specified in the parameter file (FALSE).

The database sets the value of the ISDEFAULT column to TRUE for parameters that are not specified in the init.ora or server parameter file (SPFILE).

ISSES_MODIFIABLE

VARCHAR2(5)

Indicates whether the parameter can be changed with ALTER SESSION (TRUE) or not (FALSE)

ISSYS_MODIFIABLE

VARCHAR2(9)

Indicates whether the parameter can be changed with ALTER SYSTEM and when the change takes effect:

  • IMMEDIATE - Parameter can be changed with ALTER SYSTEM regardless of the type of parameter file used to start the instance. The change takes effect immediately.

  • DEFERRED - Parameter can be changed with ALTER SYSTEM regardless of the type of parameter file used to start the instance. The change takes effect in subsequent sessions.

  • FALSE - Parameter cannot be changed with ALTER SYSTEM unless a server parameter file was used to start the instance. The change takes effect in subsequent instances.

ISPDB_MODIFIABLE

VARCHAR2(5)

Indicates whether the parameter can be modified inside a PDB (TRUE) or not (FALSE)

ISINSTANCE_MODIFIABLE

VARCHAR2(5)

For parameters that can be changed with ALTER SYSTEM, indicates whether the value of the parameter can be different for every instance (TRUE) or whether the parameter must have the same value for all Real Application Clusters instances (FALSE). If the ISSYS_MODIFIABLE column is FALSE, then this column is always FALSE.

ISMODIFIED

VARCHAR2(10)

Indicates whether the parameter has been modified after instance startup:

  • MODIFIED - Parameter has been modified with ALTER SESSION

  • SYSTEM_MOD - Parameter has been modified with ALTER SYSTEM (which causes all the currently logged in sessions' values to be modified)

  • FALSE - Parameter has not been modified after instance startup

ISADJUSTED

VARCHAR2(5)

Indicates whether Oracle adjusted the input value to a more suitable value (for example, the parameter value should be prime, but the user input a non-prime number, so Oracle adjusted the value to the next prime number)

ISDEPRECATED

VARCHAR2(5)

Indicates whether the parameter has been deprecated (TRUE) or not (FALSE)

ISBASIC

VARCHAR2(5)

Indicates whether the parameter is a basic parameter (TRUE) or not (FALSE)

DESCRIPTION

VARCHAR2(255)

Description of the parameter

UPDATE_COMMENT

VARCHAR2(255)

Comments associated with the most recent update

HASH

NUMBER

Hash value for the parameter name

CON_ID

NUMBER

The ID of the container to which the data pertains. Possible values include:

  • 0: This value is used for rows containing data that pertain to the entire CDB. This value is also used for rows in non-CDBs.

  • 1: This value is used for rows containing data that pertain to only the root

  • n: Where n is the applicable container ID for the rows containing data


9、pdb参数部分
    有些参数可以在 PDB 级别更改并覆盖从 CDB 继承的内容。要确定可以为 PDB 修改哪些参数,V$SYSTEM_PARAMETER 或 V$PARAMETER 视图中的 ISPDB_MODIFIABLE 列必须为 TRUE。如果该参数的 ISPDB_MODIFIABLE 列为 TRUE,则该参数从 CDB 继承值,直到在 PDB 上使用 ALTER SYSTEM SET 命令更改该值。有关 PDB 修改参数的所有信息都存储在 ROOT CDB 的 PDB_SPFILE$ 表中。一旦 PDB 重新插入另一个 CDB,PDB 的 PDB_SPFILE$ 表就会被截断。

9.1、查看pdb参数设
     sql> select a.name,a.dbid,b.pdb_uid,b.name,b.value from v$pdbs a ,pdb_spfile$  where a.dbid = b.pdb_uid and a.name = '&pdb_name'    

9.2、判断是否可修改
  sql> select name, value  from v$parameter where ISPDB_MODIFIABLE = 'TRUE' and name = '¶meter_name'

9.3、参数设置
    sql> ALTER SESSION SET CONTAINER = &PDB_name;
    sql> alter system set = comment= scope = memory|spfile|both [sid=] 

9.4、参数取消
    sql> ALTER SESSION SET CONTAINER = &PDB_name;
    sql> alter system reset =  scope = memory|spfile|both [sid=] 


  





阅读(1034) | 评论(0) | 转发(0) |
0

上一篇:10G OCP 相關

下一篇:Oracle密码文件&认证

给主人留下些什么吧!~~