Oracle 参数文件总结
1:pfile和spfile
在9i之前,参数文件只有一种,它是文本格式的,称为pfile,在9i及以后的版本中,新增了服务器参数文件,称为spfile,它是二进制格式的。这两种参数文件都是用来存储参 数配置以供oracle读取的,但也有不同点,注意以下几点:
1)pfile是文本文件,spfile是二进制文件;
2)对于参数的配置,pfile可以直接以文本编辑器打开手工配置,而spfile不行,必须在数据库启动后,通过sql命令进行在线修改,当然spfile也可用文本编辑器打开,把里面文本的内容复制出来放在pfile中,但决对不可以直接修改,直接修改后会使文件无法读取。
3)pfile配置改变后,要使用其生效,必须重新启动数据库,spfile的配置生效时限和作用域可以由修改参数的sql命令指定,可以立即生效,也可以不立即生效。当然有些参数的修改必须重启数据库才能生效;
4)可以用sql命令由pfile创建spfile,也可以由spfile创建pfile;
5)如果是手动创建数据库而不是通过DBCA,则开始创建数据库时,你只能定义pfile 。因为它是文本格式的;
现在一般普通生产库都采用spfile启动数据库,pfile确实没有用的理由了,感觉只有以下情况才会使用pfile:
1)入门学习时,为了理解初始化参数
2)创建数据库时,因为这时还没spfile
3)恢复数据库时
4)采用RAC的生产库中如果要共用spfile,可以建一个初始的pfile,然后在pfile指定spfile为共享设备文件
...............
2.创建spfile和pfile语法
创建SPFILE(只能建在数据库所在的机器上)
CREATE SPFILE [= 'spfile_name'] from PFILE [= 'pfile_name'];
如果命令中未指定spfile的路径则会在缺省路径创建spfile文件(%ORACLE_HOME%databasespfile<SID>.ora)
这个与spfile参数无关(rac中共享spfile时要注意)
创建PFILE
CREATE PFILE [= 'pfile_name'] from SPFILE [= 'spfile_name'];
如果命令中未指定spfile的路径则会从缺省路径(%ORACLE_HOME%databasespfile<SID>.ora)创建pfile文件
注:语法中创建和指定的spfile和pfile都是服务器路径
注:不能创建已经由数据库实例启动的spfile(在nomount状态下也不行)
3.数据库启动时spfile和pfile的加载顺序
初始化参数是在数据库实例启动时(startup nomount)加载。
如果startup命令中未指定pfile参数,在windows系统中数据库启动时会按如下顺序查找启动参数文件:
%ORACLE_HOME%databaseSPFILE<SID>.ora
%ORACLE_HOME%databaseSPFILE.ora
%ORACLE_HOME%
相关文档:
Oracle OFS FS10755 报错问题的解决方法
在某些情况下,重装或重配 OFS 时,比如验证群集,或移动群集组时,会报 FS10755 错, 错误信息如下:
Oracle OFS error - FS10755: Error Creating the OracleFsWorker COM object After Oracle OFS installed, the verification could not pa ......
经常有同事咨询oracle数据库字符集相关的问题,如在不同数据库做数据迁移、同其它系统交换数据等,常常因为字符集不同而导致迁移失败或数据库内数据变成乱码。现在我将oracle字符集相关的一些知识做个简单总结,希望对大家今后的工作有所帮助。
一、什么是oracle字符集
Oracle字符集是一个字节数据的解释 ......
数据字典dict总是属于Oracle用户sys的。
1、用户:
select username from dba_users;
改口令
alter user spgroup identified by spgtest;
2、表空间:
select * from dba_data_files;
select * from dba_tablespaces;//表空间
select tablespace_name,sum(bytes), sum(b ......
查询及删除重复记录的SQL语句
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
2、删除表中多余的重复记录,重复记录是根据 ......
开发组在数据迁移时,报告发现一些数值为'0000/00/00'的date数据,导致数据迁移失败。
这个问题有点奇怪,因为在Oracle中,date类型的数据的取值范围是从-4712/12/31到9999/12/31之间,并且年份不能为0。也就是说'0000/00/00'是一个非法数据,不为Oracle所接受。
SQL> select to_date('0000-00-00', 'yyyy-mm- ......