文档库 最新最全的文档下载
当前位置:文档库 › 2 ORACLE在启动实例时要读取初始化参数文件

2 ORACLE在启动实例时要读取初始化参数文件

2 ORACLE在启动实例时要读取初始化参数文件
2 ORACLE在启动实例时要读取初始化参数文件

1.完整的Oracle数据库通常由两部分组成:Oracle数据库实例和数据库。

1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等);

2) Oracle数据库实例则是OS中的内存结构和一系列进程组成

2.在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在

服务器内存中分配共享内存并创建相关的后台进程),然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件。用户实际上是直接与实例交互,而由实例来访问物理数据库,实例在用户和数据库之间充当中间层的角色。

3.数据库名:顾名思义,数据库的名字,例子:db10。

全局数据库名:是数据库名的完整名,由本地数据库标识和网络域名组成,利用全局数据库名能够在网络环境中唯一确定一个数据库。例子:db10.localdomain。

数据库实例SID:实例名,一般跟数据库名一样,是系统用来识别库的,用ORACLE_SID 这个环境变量来识别。用于标识一个数据库实例,一个数据库至少拥有一个实例,通常就是数据库的名字。

区别:数据库名是Oracle数据库的内部变量,而SID是操作系统的变量。

关系:库名可以看成是人的小名,而全局名可看成是人的全名。比如有2个网络,他们都有个DB10库,但他们的域名肯定是不同的(上面的localdomain)。同一小名的人可以有多个,但全名必须是不同的。

4.ORACLE在启动实例时要读取初始化参数文件,利用它从中获取参数设置对实例和数

据库进行配置。在Oracle数据库中,这个初始化参数文件分为两类,分别为文本参数文件与服务器参数文件。他们的内容是相同的,只是所表示的方式不同。在服务器参数文件中,是以二进制的形式保存的。可以利用数据库的命令对他们进行转换。

Oracle初始化参数文件的默认位置和默认文件名:

ORACLE_HOME\database\init.ora

1)文件中的参数都是可选的,省略时使用默认值,初始化参数的查询

SQL> SHOW PARAMETERS

2)使用CREATE PFILE将SPFILE导出到文本文件

SQL> create pfile=‘D:\expinit.ora’ from spfile=‘D:\Oracle\database\myspfile.ora’3)用初始化参数文件生成SPFILE

SQL> create spfile=‘D:\Oracle\database\myspfile.ora’

from pfile=‘D:\Oracle\ora92\database\initora01.ora’4)查询动态性能视图V$SPPARAMETER,获取SPFILE参数

解析Oracle数据库中配置文件

Oracle主要配置文件: Profile文件,oratab文件, 数据库实例初始化文件initSID.ora, listener.ora文件, sqlnet.ora文件, tnsnames.ora文件 Oracle主要配置文件介绍 一、/etc/profile 文件 系统级的环境变量一般在/etc/profile 文件中定义在 CAMS系统与数据库,相关的环境变量就定义在/etc/profile 文件中如下所示: export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/8.1.7 export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export ORACLE_SID=cams export ORACLE_TERM=vt100 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export NLS_LANG=AMERICAN.ZHS16CGB231280 说明: 1、配置上述环境变量要注意定义的先后顺序如: 定义 ORACLE_HOME时用到了ORACLE_BASE,那么ORACLE_HOME的定义应该在ORACLE_BASE之后 2、使用中文版 CAMS 环境变量 NLS_LANG 的值应该设置为AMERICAN.ZHS16CGB231280 如上所示在使用英文版 CAMS时可以不设置NLS_LANG 即去掉export NLS_LANG=... ... 那一行,也可以设置NLS_LANG 的值为AMERICAN_https://www.wendangku.net/doc/5410532464.html,7ASCII 二、/etc/oratab 文件 /etc/oratab 文件描述目前系统中创建的数据库实例以及是否通过 dbstart 和dbshut 来控制该实例的启动与关闭如下所示忽略以#开头的注释部分 : cams:/u01/app/oracle/product/ 其中 cams 为实例 ID /u01/app/oracle/product/ ORACLE_HOME目录 Y表示允许使用 dbstart和 dbshut 启动和关闭该实例数据库如果设置为 N 表示不通过 dbstart 和 dbshut 启动和关闭实例数据库 CAMS 系统要求在安装完 ORACLE 后要求将该参数修改为 Y 以保证 ORACLE 数据库自启动和关闭 三、数据库实例初始化文件 initSID.ora

ORACLE参数优化设置

ORACLE的参数优化配置说明 目录 ---------------------------------------------------------------------------------------------------- 硬件配置在2CPU,2G内存,32位数据库应用 硬件配置在4CPU,4G内存,32位数据库应用 硬件配置在4CPU,4G内存,64位数据库应用 硬件配置在8CPU,8G内存,64位数据库应用 关于创建和配置oracle数据库的几点补充说明 ---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------●硬件配置在2CPU,2G内存设置情况 系统大约支持用户并发数:30左右 ----------------------------------------------------------------------------------------------------oracle9i版本(32bit) db_cache_size=629145600(600M) shared_pool_size=209715200(200M) large_pool_size=614400 java_pool_size=20971520 processes=80(根据具体情况调大此值,比如测试环境可以调制500) sessions=80(根据具体情况调大此值,比如测试环境可以调制500) log_buffer=5242880 db_writer_processes=2 open_cursors=2000 workarea_size_policy=auto pga_aggregate_target=250M pre_page_sga=true(win2000下参数) lock_sga=true(unix下参数,不包含solaris) optimizer_index_cost_adj=40 optimizer_dynamic_sampling=4 dml_locks=100000 enqueue_resources=10000 oracle10g版本(32bit) db_cache_size=629145600(600M) shared_pool_size=209715200(200M) large_pool_size=614400 java_pool_size=20971520 processes=80(根据具体情况调大此值,比如测试环境可以调制500) sessions=80(根据具体情况调大此值,比如测试环境可以调制500) log_buffer=5242880

Oracle参数文件学习

Oracle参数文件 --======================== -->Oracle 参数文件 --======================== /* 参数文件(10g中的参数文件) 主要用来记录数据库的配置文件,在数据库启动时,Oracle读取参数文件,并根据参数文件中的参数设置来配置数据库。 如内存池的分配,允许打开的进程数和会话数等。 两类参数文件: pfile:文本文件的参数文件,可以使用vi,vim等编辑器修改,文件名通常为init.ora spfile:二进制的参数文件,不能直接修改,只能存放在Oracle服务器端,可以使用EM或指令来修改 (alter system|session set parameter_name = values <>), 文件名通常为spfile.ora,支持RMAN备份。 优先级别: Oracle 启动读取参数文件的顺序,如果个文件都不存在,则Oracle会报错 spfile.ora --> spfile.ora -->init.ora 参数文件的路径:*/ spfle:$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora pfile(9i):$ORALCE_HOME/dbs/init$ORALCE_SID.ora /*10g以后一般不用init.ora*/ pfile(10g):$ORALCE_BASE/admin/$ORACLE_SID/pfile /*仅当数据库初始化时使用*/ pfile:$ORACLE_HOME/dbs/init.ora /*默认*/ /* 参数文件之间的转化 spfile 转化为pfile pfile 转换为spfile 从spfile来生成pfile

Oracle显示和设置初始化参数文件

Oracle显示和设置初始化参数文件 为了在SQL*Plus中显示初始化参数,可以使用SHOW PARAMETER命令。该命令会显示初始化参数的名称、类型和参数值。 为了显示所有初始化参数的位置,可以直接执行SHOW PARAMETER命令。例如:SQL>show parameter NAME TYPE V ALUE ------------------------------------ ----------- ------------------------------ db_writer_processes integer 1 dbwr_io_slaves integer 0 ddl_lock_timeout integer 0 dg_broker_config_file1 string D:\APP\MANAGER\PRODUCT\11.1.0\ DB_1\DATABASE\DR1ORCL.DAT dg_broker_config_file2 string D:\APP\MANAGER\PRODUCT\11.1.0\ DB_1\DATABASE\DR2ORCL.DAT dg_broker_start boolean FALSE …. SHOW PARAMETER命令也可以显示特定初始化参数。为了显示特定初始化参数的名称、类型和参数值,可以在SHOW PARAMETER命令后指定参数名。示例如下:SQL> show parameter db_block_size NAME TYPE V ALUE ------------------------------------ ----------- ----------- db_block_size integer 8192 当使用SHOW PARAMETER命令显示初始化参数信息时,只能显示参数名、类型和参数值,为了取得初始化参数的详细信息,应该查询动态性能视图V$PARAMETER。例如:SQL> select isses_modifiable,issys_modifiable,ismodified 2 from v$parameter where name='sort_area_size'; ISSES ISSYS_MOD ISMODIFIED ----- --------- ---------- TRUE DEFERRED FALSE ISSES_MODIFIABLE用于标识初始化参数是否可以使用ALTER SESSION命令进行修改,当取值为TRUE时表示可以修改;取值为FALSE则表示不可以修改。ISSYS_MODIFIABLE用于标识初始化参数是否可以使用ALTER SYSTEM命令进行修改,取值IMMEDIATE时表示可以直接修改;取值为DEFERRED表示需要使用带有DEFERRED 的选项进行修改;取值为FALSE表示不能进行修改。ISMODIFIED用于标识该初始化参数是否已经被修改,取值为MODIFIED表示使用ALTER SESSION进行了修改;SYSTEM_MOD表示使用ALTER SYSTEM命令进行修改;FALSE表示未进行修改。 静态参数是指只能通过修改参数文件而改变的初始化参数:动态参数是指在数据库运行时可以使用ALTER SESSION或ALTER SYSTEM命令动态改变的初始化参数。下面的命令将显示系统的静态参数:

Oracle 官方安装文档

rpm -q grep binutils-2.* \ elfutils-libelf-0.* \ glibc-2.* \ glibc-common-2.* \ libaio-0.* \ libgcc-4.* \ libstdc++-4.* \ make-3.* \ compat-libstdc++-33 \ elfutils-libelf-devel-0.* \ glibc-devel-2.* \ gcc-4.* \ gcc-c++-4.* \ libaio-devel-0.* \ libstdc++-devel-4.* \ unixODBC-2.* \ unixODBC-devel-2.* \ sysstat-7.* 2.如缺少相应的补丁包,可以到系统安装盘安装相关的补丁包 cd /media/Enterprise\ Linux\ dvd\ 20090127/Server/ rpm -Uvh grep binutils-2.* rpm -Uvh elfutils-libelf-0.* rpm -Uvh glibc-2.* rpm -Uvh glibc-common-2.* rpm -Uvh libaio-0.* rpm -Uvh libgcc-4.* rpm -Uvh libstdc++-4.* rpm -Uvh make-3.* rpm -Uvh compat-libstdc++-33 rpm -Uvh elfutils-libelf-devel-0.* rpm -Uvh glibc-devel-2.* rpm -Uvh gcc-4.* rpm -Uvh gcc-c++-4.* rpm -Uvh libaio-devel-0.* rpm -Uvh libstdc++-devel-4.* rpm -Uvh unixODBC-2.* rpm -Uvh unixODBC-devel-2.* rpm -Uvh sysstat-7.*

Oracle数据库文件及恢复方法

1 参数文件 对于参数文件,启动根据如下顺序查找参数文件,先查找sp>、ora,然后查找 init、ora,若两者均查找不到,则无法创建与启动instance。确认当前使用的就是sp可通过sql语句查询(show parameter spfile) 一般情况下pfile保存在$ORACLE_HOME/dbs下,其中内容制定SPFILE位置,SPFILE保存在裸设备上,主被机共享。参数文件中保存数据库启动的初始参数,如控制文件位置等。 1.1 参数文件恢复: 如果损坏或丢失,从其她机器拷贝一个initora01、ora到$ORACLE_HOME/dbs %sqlplus / as sysdba SQL>startup pfile=’?/dbs/initora01、ora’; 2 控制文件 数据库启动到nomount状态后,可以查询v$parameter视图,获得控制文件信息,这部分信息来自启动的参数文件,oracle从参数文件sp中获得控制文件的位置信息,找到控制文件,启动到MOUNT状态下,可以查询v$controlfile视图获得关于控制文件的信息,可以通过sql语句(select * from v$controlfile;),数据库读取控制文件controlfile中的内容,并按照控制文件中指定的参数找到相应的数据文件,并启动数据库的归档或非归档状态。 控制文件中包含的内容 数据库的名字、ID、创建的时间戳 表空间的名字

联机日志文件、数据文件的位置、个数、名字 联机日志的Sequence号码 检查点的信息 撤销段的开始或结束 归档信息 备份信息 2.1 控制文件恢复: 损坏或丢失部分控制文件: SQL>shutdown immediate; SQL>startup nomount; 修改数据库控制文件,将坏的那个排除在外: SQL>alter system set control_files='+DG_ORA/ora11g/control02、 ctl','+DG_ORA/ora11g/control03、ctl' scope=spfile"; SQL>alter database open; 损坏或丢失全部控制文件: (获取恢复脚本SQL>alter database backup control trace;) STARTUP NOMOUNT CREATE CONTROL DATABASE "ORA11G" NORESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 200 MAXLOGMEMBERS 3 MAXDATAFILES 1024 MAXINSTANCES 8 MAXLOGHISTORY 2920 LOGFILE GROUP 1 '+DG_ORA/ora11g/ora_redo01_1' SIZE 1000M BLOCKSIZE 512, GROUP 2 '+DG_ORA/ora11g/ora_redo02_2' SIZE 1000M BLOCKSIZE 512, GROUP 3 '+DG_ORA/ora11g/ora_redo03_3' SIZE 1000M BLOCKSIZE 512, GROUP 4 '+DG_ORA/ora11g/ora_redo04_4' SIZE 1000M BLOCKSIZE 512, GROUP 5 '+DG_ORA/ora11g/ora_redo05_5' SIZE 1000M BLOCKSIZE 512,

Oracle创建初始化参数文件

Oracle 创建初始化参数文件 如果当前实例正在使用SPFILE ,那么使用ALTER SYSTEM 命令将无法修改某些初始化参数,如DB_NAME 。为了修改这些初始化参数,必须建立PFILE ,并且手工修改该PFILE 文件的相应参数。可以使用CREATE PFILE 命令可以建立文本参数文件,其语法如下: create pfile [='pfile_name'] from spfile [='spfile_name'] 其中,PFILE_NAME 用于指定PFILE 的文件全名,SPFILE_NAME 用于指定SPFILE 的文件全名。如果不指定PFILE 文件名,则会在默认路径下建立默认PFILE ;如果不指定SPFILE 文件,则会使用当前实例正在使用的SPFILE 文件。需要注意,只有特权用户才能执行CREATE PFILE 命令。例如: C:\ >sqlplus sys/password as sysdba SQL*Plus: Release 11.1.0.6.0 - Production on 星期三 3月 12 10:54:05 2008 Copyright (c) 1982, 2007, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> create pfile from spfile; 文件已创建。 因为SPFILE 易于管理,并且可以对其进行备份,所以Oracle 建议使用SPFILE 。使用PFILE 修改了某些初始化参数后,为了将PFILE 转换为SPFILE ,可以使用CREATE SPFILE 命令建立服务器参数文件。语法如下: create spfile [='spfile_name'] from pfile [='pfile_name'] 其中,SPFILE_NAME 用于指定SPFILE 文件全名,PFILE_NAME 用于指定PFILE 文件全名。如果不指定SPFILE 文件名,则会在默认路径下建立SPFILE ;如果不指定PFILE 文件名,则使用默认的PFILE 文件。需要注意,只有特权用户才能执行CREATE SPFILE 命令。 例如: C:\>sqlplus sys/password as sysdba SQL*Plus: Release 11.1.0.6.0 - Production on 星期三 3月 12 11:14:10 2008 Copyright (c) 1982, 2007, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production 注 意 在执行CREATE SPFILE 语句时不需要启动实例,如果已经启动了实例,并且实例已经使用了 一个服务器端初始化参数文件,则新建的服务器端初始化参数文件不能覆盖正在使用的那个文件。

SGA及参数文件

SGA SGA(System Global Area)是Oracle Instance的基本组成部分,在实例启动时分配。是一组包含一个Oracle实例的数据和控制信息的共享内存结构。主要是用于存储数据库信息的内存区,该信息为数据库进程所共享(PGA不能共享的)。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。 SGA几个很重要的特性: 1、SGA的构成——数据和控制信息,我们下面会详细介绍; 2、SGA是共享的,即当有多个用户同时登录了这个实例,SGA中的信息可以被它们同时访问(当涉及到互斥的问题时,由latch和enquence 控制); 3、一个SGA只服务于一个实例,也就是说,当一台机器上有多个实例运行时,每个实例都有一个自己的SGA尽管SGA来自于OS的共享内存区,但实例之间不能相互访问对方的SGA区。 它主要包括: 1.数据库高速缓存(the database buffer cache), 2.重演日志缓存(the redo log buffer) 3.共享池(the shared pool) 4.数据字典缓存(the data dictionary cache)以及其它各方面的信息。 1.数据高速缓冲区(Data Buffer Cache) 在数据高速缓冲区中存放着Oracle系统最近使用过的数据块(即用户的高速缓冲区),当把数据写入数据库时,它以数据块为单位进行读写,当数据高速缓冲区填满时,则系统自动去掉一些不常被用访问的数据。如果用户要查的数据不在数据高速缓冲区时,Oracle 自动从磁盘中去读取。数据高速缓冲区包括三个类型的区:1)脏的区(Dirty Buffers):包含有已经改变过并需要写回数据文件的数据块。 2)自由区(Free Buffers):没有包含任何数据并可以再写入的区,Oracle可以从数据文件读数据块该区。 3)保留区(Pinned Buffers):此区包含有正在处理的或者明确保留用作将来用的区。 2.Redo Log Buffer Cache缓存对于数据块的所有修改。 主要用于恢复其中的每一项修改记录都被称为redo 条目。利用Redo条目的信息可以重做修改。 3. Shared Pool用于缓存最近被执行的SQL语句和最近被使用的数据定义。 它主要由两个内存结构构成:Library cache和Data dictionary cache 修改共享池的大小:ALTER SYSTEM SET SHARED_POOL_SIZE = 64M; Libray Cache缓存最近被执行的SQL和PL/SQL的相关信息。实现常用语句的共享,使用LRU算法进行管理,由以下两个结构构成:Shared SQL area、Shared PL/SQL area、Data Dictionary Cache、Data dictionary cache缓存最近被使用的数据库定义。它包括关于数据库文件、表、索引、列、用户、权限以及其它数据库对象的信息。在语法分析阶段,Server Process访问数据字典中的信息以解析对象名和对存取操作进行验证。数据字典信息缓存在内存中有助于缩短响应时间。 4.数据字典缓存(the data dictionary cache) 它包括的信息有:数据库文件,表,索引,列,用户,权限和其他数据对象,在解析间段,服务器进程查看数据字典来决定对象名称和有效的访问的信息,缓存数据字典信息来提高请求反应时间,大小是由共享池的大小来决定的。

Oracle数据库文件及恢复方法

1参数文件 对于参数文件,启动根据如下顺序查找参数文件,先查找spfile.ora,然后查找init.ora,若两者均查找不到,则无法创建和启动instance。确认当前使用的是spfile/pfile可通过sql语句查询(show parameter spfile) 一般情况下pfile保存在$ORACLE_HOME/dbs下,其中内容制定SPFILE位置,SPFILE保存在裸设备上,主被机共享。参数文件中保存数据库启动的初始参数,如控制文件位置等。 1.1参数文件恢复: 如果损坏或丢失,从其他机器拷贝一个到$ORACLE_HOME/dbs %sqlplus / as sysdba SQL>startup pfile=’/dbs/’; 2控制文件 数据库启动到nomount状态后,可以查询v$parameter视图,获得控制文件信息,这部分信息来自启动的参数文件,oracle从参数文件spfile/pfile中获得控制文件的位置信息,找到控制文件,启动到MOUNT状态下,可以查询v$controlfile视图获得关于控制文件的信息,可以通过sql语句(select * from v$controlfile;),数据库读取控制文件controlfile 中的内容,并按照控制文件中指定的参数找到相应的数据文件,并启动数据库的归档或非归档状态。 控制文件中包含的内容 数据库的名字、ID、创建的时间戳

表空间的名字 联机日志文件、数据文件的位置、个数、名字 联机日志的Sequence号码 检查点的信息 撤销段的开始或结束 归档信息 备份信息 2.1控制文件恢复: 损坏或丢失部分控制文件: SQL>shutdown immediate; SQL>startup nomount; 修改数据库控制文件,将坏的那个排除在外: SQL>alter system set control_files='+DG_ORA/ora11g/','+DG_ORA/ora11g/' scop e=spfile"; SQL>alter database open; 损坏或丢失全部控制文件: (获取恢复脚本SQL>alter database backup controlfile to trace;) STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "ORA11G" NORESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 200 MAXLOGMEMBERS 3 MAXDATAFILES 1024 MAXINSTANCES 8 MAXLOGHISTORY 2920 LOGFILE GROUP 1 '+DG_ORA/ora11g/ora_redo01_1' SIZE 1000M BLOCKSIZE 512, GROUP 2 '+DG_ORA/ora11g/ora_redo02_2' SIZE 1000M BLOCKSIZE 512, GROUP 3 '+DG_ORA/ora11g/ora_redo03_3' SIZE 1000M BLOCKSIZE 512, GROUP 4 '+DG_ORA/ora11g/ora_redo04_4' SIZE 1000M BLOCKSIZE 512, GROUP 5 '+DG_ORA/ora11g/ora_redo05_5' SIZE 1000M BLOCKSIZE 512,

oracle几个重要文件位置查看

oracle参数文件、控制文件、数据文件、日志文件存放位置查看 1.参数文件和网络连接文件 SQL>show parameter spfile; NAME TYPE VALUE ----------------------------------------------------------------------------- spfile string/u01/app/oracle/product/11.2.0/db home_2/dbs/spfiledemo.ora 其他参数文件也同样位于$ORACLE_HOME/dbs目录中; 网络连接文件位于$ORACLE_HOME/network/admin目录中; 2.控制文件 SQL>select*from v$controlfile; STATUS NAME IS_RECOVERY_DEST_FILE BLOCK_SIZE FILE_SIZE_BLKS --------------------------------------------------------------------------------------- --------------------------------------------- /u01/app/oracle/oradata/demo/control01.ctl NO16384594 /u01/app/oracle/flash_recovery_area/demo/control02.ctl NO16384594 3.数据文件 SQL>select FILE_NAME from dba_data_files; FILE_NAME --------------------------------------------------------------------------------

oracle参数设置

许多开发维护人员并没有真正理解Oracle数据库相关参数在系统运行中的作用,导致数据库系统的执行效率低下。因此,如何设计合理的Oracle数据库初始化参数就显得非常重要。为了访问数据库中的数据,Oracle数据库为所有用户提供一组后台进程,并且,有一些存储结构专门用来存储最近的有关对数据库访问的数据。这些存储区域可以通过减少对数据库文件的I/O次数来改善数据库性能。 数据库实例就是用来访问一个数据库文件集的一个存储结构以及后台进程的集合。它使一个单独的数据库可以被多个实例访问(这是Oracle的并行服务器方式)。决定实例的组成以及大小的参数存储在文件init.ora中。这个文件在实例启动时候需要装载,也可以在运行中被DBA装载。instance的init.ora文件通常包含instance 的名字,比如一个instance 叫ORA9,其init.ora将被起名为initORA9.ora。本文结合笔者实际工作中的Oracle数据库使用经验讨论其相关参数的调整策略。 通常需要设置的参数 ● DB_BLOCK_BUFFERS 该参数决定了数据库缓冲区的大小,这部分内存的作用主要是在内存中缓存从数据库中读取的数据块,数据库缓冲区越大,为用户已经在内存里的共享数据提供的内存就越大,这样可以减少所需要的磁盘物理读写次数。 在Oracle 9i以前版本数据库中,缓冲是由db_block_buffers*db_block_size来决定, db_block_size参数是在创建数据库时设置的,它决定数据库里每个块的大小,9i以前不能改变已经存在的数据库的块大小,因此应该在最初创建数据库时就确保设置适当的数据库块大小。在创建数据库时设置为8k,db_block_buffers*db_block_size的乘积占物理内存的20%~30%,物理内存在1G以内,可以占20%,1G~2G之间可占25%,物理内存在2G以上,可以占30%,甚至更高。 说明:Oracle 8i以后的数据缓冲区(data buffer)实际可由三部分组成,分别是默认池、保留池(buffer keep)和回收池(buffer recycle)。保留池可用于存放需要极快的访问的小表,回收池可用于存放需要全表扫描的大表。保留池和回收池的大小分别由参数 buffer_pool_keep和buffer_pool_recycle决定。这两个参数通常在做性能调整时才设置,因此不建议设置这两个参数。 ● shared_pool_size

oracle参数文件

1.参数文件的定义、作用 oracle数据库通过一系列参数来对数据库进行配置. 如下: MAXLOGFILES=50 BACKGROUND_DUMP_DEST=C:\DUMP 其中等号左边是参数名, 右边是对应的参数值, 值的类型有多种, 典型的如数字和字符串. oracle在启动时会从参数文件中读取相关的配置. 2.参数文件的分类 在9i之前, 参数文件只有一种, 称为pfile, 文本格式. 在9i及以后的版本中新增了服务器参数文件, 称为spfile, 二进制格式. 这两种参数文件都用来存储参数, 但也有不同点, 如下: <1>pfile是文本文件, spfile是二进制文件; <2>对于参数的配置, pfile可直接以文本编辑器手工配置, 而spfile不行, 必须在数据库启动后, 通过sql命令进行在线修改. <3>pfile配置改变后, 必须重启数据库使其生效, spfile的配置生效时限和作用域可由修改参数的sql命令指定, 可以立即生效, 也可以不立即生效. 当然有些参数的修改必须重启数据库才能生效; <4>可用sql命令由pfile创建spfile,也可以由spfile创建pfile; <5>如果是手动创建数据库, 则开始创建数据库时只能定义pfile. 因为它是文本格式的; <6>oracle数据库只使用一个参数文件, 要么是pfile,要么是spfile, 如何判断数据库当前使用的是哪一个参数文件? //方法一: 执行create pfile, 如果当前使用的不是spfile, 则相应格式的create pfile 会产生错误. //方法二: 执行show parameter spfile命令, 用来显示spfile的位置, 如果显示的值为空, 则表示使用的是pfile. //方法三: 执行select value from v$parameter where NAME='spfile' 3.参数文件的动作原理 数据库启动时读取参数文件的顺序: >>Oracle9i以前(不包括9i) oracle会在$ORACLE_HOME/dbs 目录下查找init(sid).ora文件(即pfile), 若找不到, oracle会报错, 无法启动; >>Oracle 9i或更高 1/首先在$ORACLE_HOME/dbs 目录下查找spfile(sid).ora文件, 如果有, 则利用该文件启动数据库; 2/若没有spfile, 继续在该目录下查找pfile文件init(sid).ora文件, 若有则利用该文件启动数据库; 3/若没有, 则oracle会报错, 无法启动. 4、实例启动时读取参数文件的顺序 >>数据库的startup命令可以指定以哪个pfile启动, 注意只能指定pfile, 不能指定spfile. >>当使用不带pfile子句的startup 命令时, Oracle 将从平台指定的默认位置上(UNIX或Linux平台数据库启动过程中检索的目录是$ORACLE_HOME/dbs) 的服务器参数文件(spfile) 中读取初始化参数. Oracle查找spfile或者init.ora的顺序是:

Oracle数据库文件及恢复方法

1 参数文件 对于参数文件,启动根据如下顺序查找参数文件,先查找spfile.ora,然后查找init.ora,若两者均查找不到,则无法创建和启动instance。确认当前使用的是spfile/pfile可通过sql语句查询(show parameter spfile) 一般情况下pfile保存在$ORACLE_HOME/dbs下,其中内容制定SPFILE位置,SPFILE保存在裸设备上,主被机共享。参数文件中保存数据库启动的初始参数,如控制文件位置等。 1.1 参数文件恢复: 如果损坏或丢失,从其他机器拷贝一个initora01.ora到$ORACLE_HOME/dbs %sqlplus / as sysdba SQL>startup pfile=’?/dbs/initora01.ora’; 2 控制文件 数据库启动到nomount状态后,可以查询v$parameter视图,获得控制文件信息,这部分信息来自启动的参数文件,oracle从参数文件spfile/pfile中获得控制文件的位置信息,找到控制文件,启动到MOUNT状态下,可以查询v$controlfile视图获得关于控制文件的信息,可以通过sql语句(select * from v$controlfile;),数据库读取控制文件controlfile中的内容,并按照控制文件中指定的参数找到相应的数据文件,并启动数据库的归档或非归档状态。控制文件中包含的内容 数据库的名字、ID、创建的时间戳 表空间的名字

精选文档联机日志文件、数据文件的位置、个数、名字 联机日志的Sequence号码 检查点的信息 撤销段的开始或结束 归档信息 备份信息 2.1 控制文件恢复: 损坏或丢失部分控制文件: SQL>shutdown immediate; SQL>startup nomount; 修改数据库控制文件,将坏的那个排除在外: SQL>alter system set control_files='+DG_ORA/ora11g/control02.ctl','+DG_ORA/o ra11g/control03.ctl' scope=spfile"; SQL>alter database open; 损坏或丢失全部控制文件: (获取恢复脚本SQL>alter database backup controlfile to trace;) STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "ORA11G" NORESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 200 MAXLOGMEMBERS 3 MAXDATAFILES 1024 MAXINSTANCES 8 MAXLOGHISTORY 2920 LOGFILE GROUP 1 '+DG_ORA/ora11g/ora_redo01_1' SIZE 1000M BLOCKSIZE 512, GROUP 2 '+DG_ORA/ora11g/ora_redo02_2' SIZE 1000M BLOCKSIZE 512, GROUP 3 '+DG_ORA/ora11g/ora_redo03_3' SIZE 1000M BLOCKSIZE 512, GROUP 4 '+DG_ORA/ora11g/ora_redo04_4' SIZE 1000M BLOCKSIZE 512, GROUP 5 '+DG_ORA/ora11g/ora_redo05_5' SIZE 1000M BLOCKSIZE 512,

oracle参数文件详解

参数文件 查询参数可以使用的数值 select* from v$parameter_valid_values where upper(name) like'%OPTIMI%' Oracle参数 一、oracle pfile/spfile区别 pfile 默认的名称为“init+例程名.ora”文件路径:E:\oracle\product\10.2.0\db_1\dbs,这是一个文本文件,可以用任何文本编辑工具打开。 spfile 默认的名称为“spfile+例程名.ora”文件路径:E:\oracle\product\10.2.0\db_1\dbs 以二进制文本形式存在,不能用vi编辑器对其中参数进行修改。 两个文件可以用命令CREATE PFILE FROM SPFILE或CREATE SPFILE FROM PFILE来互相创建 区别: 1、启动次序SPfile优先于Pfile。 2、PFILE是静态文件,修改之后不会马上生效,数据库必须重新启动读取这个文件才行。 3、SPFILE是动态参数文件,是二进制文件,不可以直接用记事本等等程序做修改,可以用ALTER命令做修改,不用重起数据库也能生效。 修改方法: #查看参数信息 sql>show parameter; #修改参数 sql>alter system set 参数名=值scope=参数2; 参数2取值有如下三种: 1. scope=spfile: 对参数的修改记录在服务器初始化参数文件中,修改后的参数在下次启动DB时生效。适用于动态和静态初始化参数。 2. scope=memory: 对参数的修改记录在內存中,对于动态初始化参数的修改立即生效。在重启DB后会丟失,会复原为修改前的参数值。 3. scope=both: 对参数的修改会同时记录在服务器参数文件和內存中,对于动态参数立即生效,对静态参数不能用这个选项。 如果使用了服务器参数文件,则在执行alter system语句时,scope=both是default的选项。 如果沒有使用服务器参数文件,而在执行alter system语句时指定scope=spfile|both都会出错。 二、init.ora文件(E:\oracle\product\10.2.0\db_1\srvm\admin) 该文件的参数说明: 1)db_name = "clustdb" 一个数据库标识符,应与CREATE DATABASE 语句中指定的名称相对应。 2)instance_name = clustdb1 在多个例程使用相同服务名的情况下,用来唯一地标识一个数据库例程;INSTANCE_NAME 不应与SID 混淆,它实际上是对在一台主机上共享内存的各个例程的唯一标识。 3)control_files = control_files = ("\\.\clustdb_control1", "\\.\clustdb_control2") 4)open_cursors =300 库高速缓存指定一个会话一次可以打开的游标(环境区域) 的最大数量,并且限制PL/SQL 使用的PL/SQL 游标高速缓存的大小,以避免用户再次执行语句时重新进行语法

Oracle特殊类型文件

Oracle 特殊类型文件 Oracle 还提供了其他一些类型的文件,如参数文件、归档日志文件、跟踪和密码文件等。本节将对这些类型的文件进行简单地介绍。 1.归档日志文件 Oracle 利用重做日志文件记录对数据库所做的修改,但是重做日志文件是以循环方式使用的,在重新写入重做日志文件时,其中原来保存的信息将被覆盖。如果能够将所有的重做记录永久地保留下,就可以完整地记录数据库的全部修改过程。这可以通过对重做日志文件进行归档来实现。 在重做日志文件被覆盖之前,Oracle 能够将已经写满的重做日志文件通过复制操作系统文件的方式保存到指定的位置。保存下来的重做日志文件的集合称为“归档重做日志”,复制的过程称为“归档”。 Oracle 数据库可以运行在两种模式之中,归档模式和不归档模式。只有数据库处于归档模式下,系统才会对重做日志文件执行归档操作,归档操作是由后台进程ACRn 自动完成。当数据库运行在归档模式下,归档重做日志文件会占用大量的硬盘空间。也就是说,数据库在归档模式下是牺牲硬盘空间来获取数据的安全性。 2.参数文件 在Oracle 数据库系统中,参数文件包含了数据库的配置信息。数据库实例在启动之前,Oracle 数据库系统首先会读取这些参数文件中设置的参数,并根据初始化参数文件中设置的参数来配置实例的启动。 参数文件包括文本参数文件和服务器参数文件两种类型。在Windows 平台中,服务器参数文件的名称格式为SPFILE.ora ,文本参数的名称格式为init.ora ,其中SID 为数据库实例名。 用户可以通过如下三种方法查看数据库中参数值: ● 查看init.ora 文件。该参数文件是以文本形式存储参数,用户可以直接打开 该参数文件查看数据库参数。 ● 查询视图V$PARAMETER 。可利用该动态性能视图来确定参数的默认值是否修改 过,以及是否可以用ALTER SYSTEM 和ALTER SESSION 命令修改。 ● 使用SQL*Plus 的SHOW PARAMETER 命令。 用户通过修改init.ora 文件,可以修改所有的参数,但是必须关闭数据库,然后再重启数据库实例才能生效。另外,也可以使用ALTER SYSTEM 、ALTER SYSTEM DEFERRED 和ALTER SESSION 命令修改参数,修改参数后无需重新启动实例即可立即生效,但是这不能修改所有参数。 3.密码文件 在Oracle 数据库系统中,用户如果要以特权用户身份(INTERNAL /SYSDBA /SYSOPER )登录Oracle 数据库,可以使用两种身份验证的方法:使用与操作系统集成的身份验证、使用Oracle 数据库的密码文件进行身份验证。因此,对密码文件的管理可以控制授权用户从远端或本地登录Oracle 数据库系统。 Oracle 密码文件的默认存放位置在%ORACLE_HOME%\DATABASE 目录下,密码文 注 意 应该特别注意ISMODIFIED 、ISDEFAULT 、ISADJUSTED 、ISSYS_MODIFIABLE 、ISSES _MODIFIABLE 列中的值。

相关文档
相关文档 最新文档