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

相关文章

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计