Oracle体系结构之参数文件管理
参数文件作用:主要用来记录数据库配置信息,数据库在启动时,需要读取参数文件中关于控制文件的信息,分配内存,打开进程,会话等。数据库启动时第一个读取参数文件。
参数文件分类:
1)pfile:文本文件,vim编辑器编辑,文件名:init<sid>.ora
2)spfile:二进制文件,9i后推出使用,服务器参数文件,只能存在服务器端,文件名:spfile<sid>.ora,可以被rman备份。
区别:
pfile:文本,可被vi编辑,init<sid>.ora
spfile:二进制,服务器端,spfile<sid>.ora,可以被rman备份,只能被alter session|system命令修改。
修改方式不同:pfile可用vi编辑;spfile只能通过alter session|system命令修改。
优先级别:1)spfile<sid>.ora 2)spfile.ora 3)init<sid>.ora 如果三个文件都不存在,oracle启动报错。
存在位置不同:pfile可以在客户端也可以在服务器端;spfile只能存放在服务器端。
参数文件路径:
spfie:$ORACLE_HOME/dbs/spfile<SID>.ora
[oracle@localhost dbs]$ ls $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora
/u01/oracle/10g/dbs/spfileorcl.ora
[oracle@localhost dbs]$ ls $ORACLE_HOME/dbs/spfilerezin.ora
pfile:
9i: $ORACLE_HOME/dbs/init$ORACLE_SID.ora
10g: [oracle@localhost dbs]$ ls $ORACLE_BASE/admin/$ORACLE_SID/pfile/
init.ora.21220155120
参数文件转换:以下命令都可以指定路径,如果不指定路径则新生成文件存放默认路径。
从spfile-->pfile:
SQL>create pfile='<路径>' from spfile='<路径>';
从pfile-->spfile:
SQL>create spfile='<路径>' from pfile='<路径>';
11g新指令:
SQL>create spfile='<路径>' from memory;
使用指定参数文件启动数据库:SQL>startup pfile|spfile='<路径>';
SQL>startup pfile='$ORACLE_HOME/dbs/initorcl.ora';
修改参数文件方法:通过pfile修改spfile
手工编辑pfile文件:[oracle@localhost dbs]$ vi initorcl.ora
关闭数据库:SQL>shutdown immediate
使用指定参数文件启动数据库:SQL>startup pfile='$ORACLE_HOME/dbs/initorcl.ora';
重新生成spfile文件:SQL>create spfile from pfile;
如何知道当前数据库使用的是哪一个参数文件启动的:
方法一:查看当前数据库实例名:查询service_name参数或者查询v$instance视图。
SQL> show parameter service_name
NAME TYPE VALUE
------------------------------------ ----------- --------------------------------------------
service_names string orcl
SQL>select instance_name from v$instance;
INSTANCE_NAME
----------------
orcl
查看当前使用的是哪一个参数文件:
SQL> select distinct ISSPECIFIED from v$spparameter;
ISSPEC
------
TRUE
FALSE
第一个值为true表示spfile启动,否则pfile启动。
方法二:alter system|session修改参数文件,能修改spfile起动,反之,pfile起动。
修改参数文件:
pfile:vi编辑,下次启动生效。
spfile:alter system|session set parametername=<parametername>
scope=memory | spfile |both sid=<'sid'>|'*';
memory:表示只修改当前实例内存有效,下次启动失效。
spfile:针对spfile修改,下次启动生效。
both:当前内存和spfile都被修改,不指定scope即是此项(默认)。
可以从v$parameter视图中来得到哪些可以使用alter system修改,哪些可以使用alter session来修改。
SQL> col name for a40
SQL> select NAME,ISSES_MODIFIABLE,ISSYS_MODIFIABLE from v$parameter
2 where name like 'sql%';
NAME ISSES ISSYS_MOD
---------------------------------------- ----- ---------
sql_trace TRUE IMMEDIATE
sql92_security FALSE FALSE
sql_version TRUE FALSE
sqltune_category TRUE IMMEDIATE
SQL> select distinct issys_modifiable from v$parameter;
ISSYS_MOD
---------
IMMEDIATE /*动态参数,直接修改到内存的参数alter system set <> = <>,后面不需要跟scope*/
FALSE /*静态参数,不能直接修改到内存,alter system set <> = <> scope = spfile*/
DEFERRED /*会话级别参数,直接通过alter session set <> = <>*/
常用参数:[oracle@localhost dbs]$ vim $ORACLE_HOME/dbs/initorcl.ora
orcl.__db_cache_size=192937984
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=75497472
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/oracle/admin/orcl/adump'
*.background_dump_dest='/u01/oracle/admin/orcl/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/oracle/oradata/orcl/control01.ctl','/u01/oracle/oradata/orcl/control02.ctl','/u01/oracle/oradata/orcl/control03.ctl'
*.core_dump_dest='/u01/oracle/admin/orcl/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='/u01/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=94371840
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=285212672
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/oracle/admin/orcl/udump'
隐藏参数:死马当活马医,不建议用。
SQL> desc x$ksppi /*Name列中为隐藏参数的名字*/
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 and ksppinm like '%_allow%';
KSPPINM KSPPSTVL
---------------------------------------- ----------
_allow_level_without_connect_by FALSE
_asm_allow_only_raw_disks TRUE
_asm_allow_resilver_corruption FALSE
参数删除:恢复默认值。
pfile:可以直接vi或vim修改或删除。
spfile:以下命令进行删除,参数文件将恢复默认值。
SQL>alter system|session reset parametername=<name>
scope= memory | spfile |both sid=<'sid'>|'*';
查看参数文件:show parameter <参数文件名称|名称关键字>
事件参数:events
修改事件参数:alter session set events <>;
练习:
1、pfile和spfile的修改?
pfile可以直接通过vim编辑器修改;spfile可以通过vim修改pfile-->shutdown immediate-->startup pfile='路径'-->create spfile from pfile,spfile也可以通过alter system|session set parametername=<values> scope=memory|spfile|both sid='<sid|*>';方法修改。
2、区分系统用哪个参数文件启动?
通过查询v$spparameter视图中ISSPECIFIED字段值查看;也可以通过修改系统参数alter
system|session set 方式,如果修改成功则证明是spfile启动,反之pfile启动。
3、总结出最少的参数启动数据库需要哪些参数?
4、熟悉常用的隐藏参数?
Oracle体系结构之参数文件管理的更多相关文章
- Oracle体系结构之控制文件管理
控制文件作用:记录了数据库的结构和行为,有多少个数据文件,日志文件及其位置名称,状态,维护数据库的一致性,即记录了数据库的启动SCN号和终止SCN号. 控制文件的位置和个数记录在参数文件中,通常控制文 ...
- Oracle体系结构之数据文件管理
数据文件分2个方向管理: 物理结构和逻辑结构. 数据库的存储层次结构图: ............. 逻辑结构: 物理结构: .... ...
- Oracle体系结构之密码文件管理
oracle密码文件主要用来控制sysdba和sysoper用户用于远程登录.通常,oracle用户登录database有两种方式,一种是通过本地操作系统验证登录,一种是通过密码文件验证登录. 操作系 ...
- oracle 体系结构
oracle 体系结构 数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. 1. oracle工作原理: 1).在数据库服务器上启动Oracle实例:2).应用程序 ...
- Oracle实例和Oracle数据库(Oracle体系结构)
--========================================== --Oracle实例和Oracle数据库(Oracle体系结构) --==================== ...
- 【转载】Oracle实例和Oracle数据库(Oracle体系结构)
免责声明: 本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除. 原文作者:Leshami 原文地址:http://blog.csdn.net/ ...
- oracle 体系结构解析
三.oracle 体系结构 1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracl ...
- Oracle 课程一之Oracle体系结构
课程目标 •理解ORACLE数据库体系架构—内存结构和进程 •理解SQL在数据库中的运作流程 •理解UNDO&REDO原理 •理解commit原理 1.Oracle数据库概述 •数据库:物 ...
- oracle体系结构
oracle体系结构有四个部分组成分别为:oracle 服务器.用户进程.服务器进程.其他关键文件.其中oracle服务器又有实例(instance)和database组成是一个数据库管理系统. 一. ...
随机推荐
- Git Step by Step – (1) Git 简介
由于工作的需要,代码版本控制工具要从Perforce换成Git.说实话,刚开始真的很不适应,要从一个可以很好的支持用户界面的工具转到一个命令行工具,而且Git中有几百个命令,一下子就傻眼了. 但是经过 ...
- 开发还是应该使用linux
这几天在Windows系统下,安装了几个IDE,体量大,4.5个G,启动速度慢,占用系统资源多,并且最难受的是,这些IDE的限制性太强,只能按照UI给定的规则来操作,例如现在手中有一个已完成的项目,用 ...
- Linux ping 命令
ping命令用来测试与目标主机的连通性,常见用法如下: [root@localhost ~]$ ping www.baidu.com # 对目标主机域名进行连通性测试 [root@localhost ...
- [Python] NotImplemented 和 NotImplementedError 区别
NotImplemented 是一个非异常对象,NotImplementedError 是一个异常对象. >>> NotImplemented NotImplemented > ...
- 基于Cocos2d-x学习OpenGL ES 2.0系列——编写自己的shader(2)
在上篇文章中,我给大家介绍了如何在Cocos2d-x里面绘制一个三角形,当时我们使用的是Cocos2d-x引擎自带的shader和一些辅助函数.在本文中,我将演示一下如何编写自己的shader,同时, ...
- 《shiro框架》
20170929 shiro授权流程学习 shiro-filter执行流程 CacheManager(shiro缓存管理) JEESITE登录流程简单梳理 shiro与springMVC整合 shir ...
- 禁用Visual Studio 2013的Browser Link功能 -调试不断请求http://localhost:6154/c4ad1c693ebf428283832eaa827f9c6e/arterySignalR/poll?transport=longPolling...
关于禁用查到的解决: 作者:donny945 https://my.oschina.net/ind/blog/359003 今天浏览器调试代码的时候,一直出现以下的请求,导致需要看的请求都被淹没了,之 ...
- open-falcon之transfer
功能 负责数据转发,接受agent上报的数据,然后使用一致性hash规则对数据进行分片,最后将分片后的数据分别转发至judge,graph 对接收到的数据进行合法性校验.规整 针对每个后端实例维护一个 ...
- 【面试题】源石智影科技Python工程师笔试题
哈哈 上图
- WP8.1学习系列(第十九章)——事件和路由事件概述
我们将介绍在使用 C#.Visual Basic 或 Visual C++ 组件扩展 (C++/CX) 作为编程语言并使用 XAML 进行 UI 定义时,针对 Windows 运行时应用的事件的编程概 ...