oracle 11g 中的spfile和pfile测试

2024-04-24 08:20
文章标签 oracle 测试 11g spfile pfile

本文主要是介绍oracle 11g 中的spfile和pfile测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Oracle 11g rac集群安装好之后在$ORACLE_HOME/dbs目录中并没有asm实例使用的pfile和spfile,那么他是存放在哪里呐。

一、查看

在11.2的ASM实例上,执行show parameter spfile:

[grid@rac1 ~]$ sqlplus / as sysasm

SQL> show parameter spfile

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

spfile string+DATA/asm/asmparameterfile/registry.253.704991445

可以看到spfile在ASM磁盘组里了。

和之前的版本不同,在$ORACLE_HOME/dbs目录下却没有pfile来定位spfile。

查看dbs目录下,仍然没有spfile

[grid@rac1 ~]$ ls $ORACLE_HOME/dbs

ab_+ASM.dat

hc_+ASM.dat

init.ora

orapw+ASM

peshm_+ASM_1

二、查看方法2

那么ASM实例如何得知它的spfile具体位置的呢?

答案是通过一个“本地注册表”。

Oracle的Grid Infastructure使用这样一个“本地注册表”来记录本地的所有可控资源。

“本地注册表”位置在/etc/oracle/olr.loc文件中,查看olrconfig_loc变量:

[grid@rac1 ~]$ cat /etc/oracle/olr.loc

olrconfig_loc=/u01/app/grid/product/11.2.0/grid/cdata/localhost/rac1.olr

crs_home=/u01/app/grid/product/11.2.0/grid

查看“本地注册表”的内容:

[grid@rac1 ~]$ ocrdump -local -xml

[grid@rac1 ~]$ grep -i spfile OCRDUMPFILE

三、查看方法3

$ srvctl config asm ASM home: /oracle/app/product/11.2.0 ASM listener: LISTENER Spfile: +DATADG/asm/asmparameterfile/registry.253.970045839 ##此文件并不存在 ASM diskgroup discovery string:

四、查看和修改方法4

su - grid

asmcmd

spget

11gR2开始,GI集成了ASM,OCR/VOTEDISK也存放在ASM磁盘组了(11gR2以前需要存放于裸设备中),

同时ASM的功能较10g也有很大增强

我们先引入一个问题:

11gR2中,OCR/VOTEDISK存放在ASM磁盘组,这也就意味着在GI能够启动的前提是能够顺利启动

ASM实例并且能够将相应磁盘组MOUNT起来;而ASM的spfile却放在ASM磁盘组里,这也同样意味着

要先启动ASM实例并且能读到参数文件。那如何解决这个问题呢?

11gR2中引入了pgnp profile,用于存放ASM参数文件路径,这允许oracle在ASM实例启动以前读到

参数文件。

11gR2的RAC环境中,ASM的参数文件存放于ASM磁盘组里面.ASM实例启动时候,寻找参数文件的顺序

如下,直接找到为止:

1. Grid Plug and Play (GPnP) profile

2. spfile+ASM.ora

3. init+ASM.ora

请注意: 以上红色字体部分!!!

因此,11gR2中可以没有pfile,可以将ASM参数保存在gpnp profile中,在管理上省下了很多工作.

11gR2RAC环境中,ASM的参数文件支持备份(spbackup),拷贝(spcopy),移动(spmove),

查询gpnp profile(spget),设置(spset)等操作

特别需要注意一点,ASM的参数文件最好放在ASM磁组里,

同时确保每个集群成员的gpnp都为同一个路径

以简单例子说明,如何将ASM的spfile重新保存至ASM磁盘组

=============================================

准备环境

ASMCMD> ls -l

Type              Redund  Striped  Time             Sys  Name

ASMPARAMETERFILE  UNPROT  COARSE   DEC 14 15:00:00  Y    REGISTRY.253.866303695

                                                    N    spfileasm.ora => +OCR_VOTE/rac-cluster/ASMPARAMETERFILE/REGISTRY.253.866303695 ----注意这里是链接

ASMCMD> pwd   

+OCR_VOTE/rac-cluster/ASMPARAMETERFILE

ASMCMD> spcopy +OCR_VOTE/rac-cluster/ASMPARAMETERFILE/REGISTRY.253.866303695 +OCR_VOTE/rac-cluster/ASMPARAMETERFILE/spcopy.ora

ORA-15056: additional error message

ORA-17502: ksfdcre:4 Failed to create file +OCR_VOTE/rac-cluster/ASMPARAMETERFILE/spcopy.ora

ORA-15268: internal Oracle file +OCR_VOTE.253.1 already exists.

ORA-06512: at line 7 (DBD ERROR: OCIStmtExecute)

ASMCMD> spget

/home/grid/registry.253.839197161   --当前gpnp profile配置。该spfile是用spcopy命令生成的

ASMCMD> spmove REGISTRY.253.866303695 old_ora.bak  ---删除默认的SPFILE将导致路径缺失

ASMCMD> ls -l

ASMCMD-8002: entry 'ASMPARAMETERFILE' does not exist in directory '+OCR_VOTE/rac-cluster/'

实例环境就绪,以下是解决办法:

ASMCMD> spget

/home/grid/registry.253.839197161

ASMCMD> spcopy /home/grid/registry.253.839197161 +OCR_VOTE/rac-cluster/ASMPARAMETERFILE/registry.ora  --将本地磁盘上的spfile复制至ASM磁盘

ASMCMD> ls -l

Type              Redund  Striped  Time             Sys  Name

ASMPARAMETERFILE  UNPROT  COARSE   DEC 14 19:00:00  Y    REGISTRY.253.866316081

                                                    N    registry.ora => +OCR_VOTE/rac-cluster/ASMPARAMETERFILE/REGISTRY.253.866316081 --注意这里是链接!!!!

ASMCMD> spset +OCR_VOTE/rac-cluster/ASMPARAMETERFILE/REGISTRY.253.866316081  --更新gpnp profile至链接

ASMCMD> spget

+OCR_VOTE/rac-cluster/ASMPARAMETERFILE/REGISTRY.253.866316081

重启实例生效...

ASMCMD> shutdown --abort

ASM instance shutdown

Connected to an idle instance.

ASMCMD>

ASMCMD>

ASMCMD> startup

ASM instance started

Total System Global Area 1135747072 bytes

Fixed Size      2260728 bytes

Variable Size   1108320520 bytes

ASM Cache     25165824 bytes

ASM diskgroups mounted

ASM diskgroups volume enabled

ASMCMD> lsdg

State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name

MOUNTED  EXTERN  N         512   4096  1048576      4094      926                0             926              0             N  DATA/

MOUNTED  EXTERN  N         512   4096  4194304      2032     1592                0            1592              0             Y  OCR_VOTE/

ASMCMD> spget

+OCR_VOTE/rac-cluster/ASMPARAMETERFILE/REGISTRY.253.866316081

SQL> show parameter spfile;

NAME         TYPE

------------------------------------ ----------------------

VALUE

------------------------------

spfile         string

+OCR_VOTE/rac-cluster/asmparameterfile/registry.253.866316081  --证实是通过gpnp profile里spfile启动实例

同样,其他数据库节点需要spset更新spfile路径,重启生效即可,此部分操作省略...

五、修改

1、指定新的spfile

srvctl modify asm -p /oracle/app/product/11.2.0/dbs/spfile+ASM.ora

srvctl config asm

sqlplus / as sysasm

create spfile from memory;

2、重启集群

3、查看是否生效

srvctl config asm

这篇关于oracle 11g 中的spfile和pfile测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/931222

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

oracle如何连接登陆SYS账号

《oracle如何连接登陆SYS账号》在Navicat12中连接Oracle11g的SYS用户时,如果设置了新密码但连接失败,可能是因为需要以SYSDBA或SYSOPER角色连接,解决方法是确保在连接... 目录oracle连接登陆NmOtMSYS账号工具问题解决SYS用户总结oracle连接登陆SYS账号

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

查询Oracle数据库表是否被锁的实现方式

《查询Oracle数据库表是否被锁的实现方式》本文介绍了查询Oracle数据库表是否被锁的方法,包括查询锁表的会话、人员信息,根据object_id查询表名,以及根据会话ID查询和停止本地进程,同时,... 目录查询oracle数据库表是否被锁1、查询锁表的会话、人员等信息2、根据 object_id查询被

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

oracle中exists和not exists用法举例详解

《oracle中exists和notexists用法举例详解》:本文主要介绍oracle中exists和notexists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOTE... 目录基本概念:举例语法pub_name总结 exists (sql 返回结果集为真)not exists (s