设为首页 收藏本站
查看: 932|回复: 0

[经验分享] Oracle 参数文件、v$parameter动态视图、OMF特性、启动

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-7 08:19:00 | 显示全部楼层 |阅读模式
  • PFILE与SPFILE

1、  含义:PFILE是parameterfile的缩写,SPFILE是server parameter file的缩写,通过全称的字面含义,我们可以得到pfile和spfile都是oracle提供的参数文件,里面写着各种参数的初始值,比如Database Buffer的值为196M等,文件后缀名都是.ora;


2、  区别:spfile是oracle9i release2引进的新事物,在这之前oracle中只有pfile的概念。Pfile是一种静态参数文件,可以通过任何文本编辑器进行打开、编辑和保存。而spfile是一种二进制文件,只能通过ALTER SYSTEM SET …… SCOPE=SPFILE语句修改,修改后需要重启数据库实例后才能生效。相比pfile而言,spfile具有安全的优势;


3、  启动方式:oracle9i以后,数据库实例启动时如果不明确指定使用pfile启动数据库实例,则会去默认路径寻找spfile文件,这里需要补充的是pfile与spfile的默认路径是$oracle_home/database,在我的数据库本机上,我的路径就是:E:\app\neusoft\product\11.2.0\dbhome_1\database;


4、  默认pfile与spfile文件名:正常默认情况下,pfile文件的文件名应该为INIT+数据库实例名+.ORA后缀名,比如我本机数据库的实例名是orcl,则默认pfile的文件名应该为INITorcl.ORA;而spfile的默认文件名SPFILE+数据库实例名+.ORA的后缀名,例如我本机的spfile的文件名是SPFILEorcl.ORA;


5、  创建方式:如果需要创建pfile文件,我们可以根据本机数据库的spfile来创建,创建语法是:CREATE PFILE FROM SPFILE;也可以对于即将生成的pfile文件指定生成目录和自定义名称,例如:CREATE PFILE=’F:\PFILE123.ORA’ FROM SPFILE;但是我们无法在当前数据库实例正在使用的spfile默认路径重新生成默认名称的spfile文件,即我们无法使用下面语句:CREATE SPFILE FROM PFILE;因为这句话代表在默认路径即database路径下生成默认名称SPFILEorcl.ORA的spfile文件,而这个文件已经被当前数据库实例使用。


6、  创建权限要求:创建pfile或spfile文件需要用户拥有sysdba权限,默认sys用户具备sysdba权限,如果使用其他用户(如system),请先对system用户赋予sysdba权限,授权语句是:GRANTSYSDBA TO system;

7、  查看当前数据库实例是否使用spfile启动:sqlplus窗口执行showspfile,如果spfile有值(spfile路径),则代表当前数据库实例是通过spfile方式启动的;


  • V$PARAMETER动态视图

1、  我们可以通过v$parameter动态视图查看指定参数的值、修改情况;
2、  查询语句:
select name, value, ismodified, issys_modifiable  from v$parameter
where name like 'db_create_file_dest%';
3、  关于字段ismodified的说明:
字段含义是表示参数在实例启动后是否被修改,值有3个:MODIFIED\SYSTEM_MOD\FALSE
MODIFIED表示实例启动后使用alter session修改过;
SYSTEM_MOD表示实例启动后使用alter system修改过;
FALSE表示实例启动后从未修改过;
4、  关于字段issys_modifiable的说明:
  字段含义是表示参数是否可以被altersystem修改并且修改后产生影响的时间,值有3个:
   IMMEDIATE:表示可以使用alter system修改并且修改后立即生效;
   DEFERRED:表示可以使用alter system修改并在下一个会话中生效;
   FALSE:除对于启动实例有影响的参数外其他都不可以修改并且需要重启实例;
selectnameas参数名称,
       valueas当前参数值,
       decode(ismodified,
             'MODIFIED',
              '使用altersession修改过',
              'SYSTEM_MOD',
              '使用altersystem修改过',
              '未被修改过') as实例启动后修改方式,
       decode(ISSYS_MODIFIABLE,
             'IMMEDIATE',
              '当前会话立即生效',
              'DEFERRED',
              '延迟下个会话生效',
              '重启实例生效') as生效时间
fromv$parameter
  • OMF技术

1、  OMF是ORACLE MANAGED FILES的简写,翻译过来即oracle管理文件,是从oracle 10g新推出的概念,已在指定默认路径信息后,简化日常操作命令书写;
2、  查看是否启用OMF,可以在sqlplus窗口界面输入:showparameter db_create_file_dest,如果该参数有值(路径信息),则代表启用了OMF管理;
3、  可以使用altersystem或alter session启用db_create_file_dest参数,参数的路径默认应该为数据库实例的数据库文件所在目录,示例如下:
ALTER  SYSTEM SET db_create_file_dest=’ E:\app\neusoft\oradata\orcl’;
4、  按照上述第3个步骤操作完毕后,就可以启用OMF技术特性了。
5、  下面我们举个例子进行说明,如果我们没有开启OMF技术特性,比如我们需要创建一个表空间test,我们至少应该这么写语句:CREATE TABLESPACE test DATAFILE ‘E:\app\neusoft\oradata\orcl\TEST.DBF’;语句中包含数据表空间的存放路径,不指明的话,oracle会提示错误并创建失败。如果我们指定了db_create_file_dest的默认路径即代表开启了OMF技术特性,那么我们在以后创建表空间、日志文件、控制文件的时候,就可以省略表空间创建的路径信息、大小,新创建的表空间会在默认路径下生成。但是在实际生产环境中酌情使用。
6、  Windows操作系统正常情况下,oracle数据文件、日志文件、控制文件的所属路径都应该是在oradata目录下,例如我本机数据库的目录是:E:\app\neusoft\oradata\orcl
如果我们将参数db_create_file_dest的值设定为E:\app\neusoft\oradata
我们可以这样实现:
Alter  system  setdb_create_file_dest=’ E:\app\neusoft\oradata’;
然后我们来创建一个表空间test01,我们可以直接这样写
Create  tablespace test01;
然后我们就会发现oracle在E:\app\neusoft\oradata\orcl目录下自动创建了一个datafile的新目录,里面存放着我们刚创建的表空间,表空间的大小默认是100M,名称默认是:O1_MF_DUSHUAI_BBQ2GWSK_.DBF,名称中包含我们指定的表空间名称;
我们可以通过内置的函数包查看我们新建的表空间的属性信息,语句如下:
selectdbms_metadata.get_ddl('TABLESPACE','DUSHUAI') from dual;
得到的大文本CLOB结果如下:
  CREATE TABLESPACE"DUSHUAI" DATAFILE
  SIZE 104857600
  AUTOEXTEND ON NEXT 104857600MAXSIZE 32767M
  LOGGING ONLINE PERMANENTBLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULTNOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO

  • 数据库实例启动层次

1、  Nomount:仅是知道挂在各类实例启动所需文件的地址等基本信息;
2、  Mount:已经挂载实例启动,但是没有进行一致性检查等操作;
3、  Open:默认数据库实例启动startup的缺省项目,表示正常启动数据库实例;
附:数据库异常关闭后启动的顺序
1.前滚所有未写入数据文件的REDO
2.打开数据库
3.回滚所有未提交的数据


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-40312-1-1.html 上篇帖子: Oracle Study之案例--安装Oracle内核参数配置 下篇帖子: oralce11gR2的安装 在 CentOS 6.6上的安装 Oracle 动态
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表