Oracle篇—参数文件在11gRAC或12cRAC的启动位置介绍

☘️博主介绍☘️

✨又是一天没白过,我是奈斯,DBA一名✨

✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌️

❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣️❣️❣️

    今天给大家介绍一下参数文件在11gRAC和12cRAC的启动位置,因为在12c之后参数文件在单机环境没有发生变化,但是在rac环境中发生了变化,所以了解新版本的新改变是在之后的运维工作中是非常重要的。

    众所周知参数文件是在数据库启动时,第一步(nomount状态)就会调用读取参数文件,并且数据库的设置、配置、优化都是在参数文件中完成的。实例启动时会按照spfile<SID>.ora --> spfile.ora --> init<SID>.ora(同pfile.ora)顺序启动实例启动时必要的参数文件,如果文件都不存在那么oracle会报错。

    今天我将以修改参数文件位置案例的形式介绍一下11gRAC和12cRAC的启动位置。

    先介绍一下参数文件在11gRAC或12cRAC的启动位置的区别,然后再开始修改参数文件位置的学习。

11gRAC中参数文件的位置:

存在于每个节点的$ORACLE_HOME/dbs目录和OCR的数据库资源信息中。

    

12gRAC中参数文件的位置:

不存在与$ORACLE_HOME/dbs目录下,只存在于OCR的数据库资源信息中。

 

ps介绍一下OCR是什么:OCR是oracle cluster register集群注册表,包括了rac中集群和数据库的配置信息。信息包括集群节点的列表,集群数据库实例的节点的映射以及crs应用程序资源信息。


铁子别忘了点个关注!!!

f4df815e9acd4b3fb56b73351386533d.gif

 

一、11gRAC参数文件的管理和修改,11gRAC中参数文件的位置:先找init<SID>.ora,在由该文件所指向的ASM中的spfile

    在集群环境下,参数文件是共享的,在11g中的oracle用户下每一个节点的$ORACLE_HOME/dbs目录下都存在一个init<SID>.ora文件,该文件用于指向共享存储中参数文件spfile的位置。所以11gR2实例启动过程是先找init<SID>.ora,在由该文件所指向的ASM中的spfile。

 

内容如下:

查看$ORACLE_HOME/dbs目录:

[oracle@rac1 dbs]$ more initorcl1.ora

SPFILE='+DATA/orcl/spfileorcl.ora'

[oracle@rac2 dbs]$ more initorcl2.ora

SPFILE='+DATA/orcl/spfileorcl.ora'

查看OCR数据库资源信息:

[oracle@rac2 ~]$ srvctl config database -d orcl

9d1a53b345f44636a108925c66bdbd81.png

 

修改11gRAC中参数文件的位置: 

    在11gRAC中修改参数文件位置时,不仅需要修改本地操作系统init<SID>.ora的spfile记录文件,也需要修改OCR(OCR是oracle cluster register集群注册表,包括了rac中集群和数据库的配置信息。信息包括集群节点的列表,集群数据库实例的节点的映射以及crs应用程序资源信息)中的数据库资源信息。

1)确定spfile的位置

[oracle@rac1 dbs]$ more initorcl1.ora

SPFILE='+DATA/orcl/spfileorcl.ora'

[oracle@rac2 dbs]$ more initorcl2.ora

SPFILE='+DATA/orcl/spfileorcl.ora'

[oracle@rac2 ~]$ srvctl config database -d orcl

 

2)临时位置生成pfile

注意:RAC环境下严禁使用create pfile from spfile;会覆盖默认位置下pfile内容。也不可以使用create spfile from pfile,那么会覆盖掉spfile,需要指定具体的位置。

SQL> create pfile='/oracle/app/oracle/product/12.2/db_1/dbs/pfile.ora' from SPFILE='+DATA/orcl/spfileorcl.ora';

 

3)新位置重新生成spfile

注意:pfile和spfile都需要指定目录

ASMCMD> mkdir +DATA/orcl/SPFILE/

 

SQL> create SPFILE='+DATA/orcl/SPFILE/spfileorcl.ora' from pfile='/oracle/app/oracle/product/12.2/db_1/dbs/pfile.ora';

 

4)修改pfile中spfile位置

[oracle@rac1 dbs]$ vi initorcl1.ora

#SPFILE='+DATA/orcl/spfileorcl.ora'
SPFILE='+DATA/orcl/SPFILE/spfileorcl.ora'

[oracle@rac2 dbs]$ vi initorcl2.ora

#SPFILE='+DATA/orcl/spfileorcl.ora'
SPFILE='+DATA/orcl/SPFILE/spfileorcl.ora'

5)修改OCR中spfile位置(是在oracle用户下的任意一个节点操作,不是grid用户下执行)

组件使用注意:

1、rac的name(db_name、db_unique_name、instance_name、service_names)不要随便乱改。

2、grid用户下可以执行crsctl、srvctl、ocr命令。oracle restart和rac是grid软件安装的一部分,所以执行命令时应在grid用户下进行

3、oracle用户下只可以执行srvctl命令,集群实例的注册添加删除等只能在oracle用户下进行,在grid下注册集群实例报PRKH-1014 : Current user "grid" is not the oracle owner user "oracle" of oracle home "/oracle/app/oracle/product/11.2.0/db_1"。

[oracle@rac2 ~]$ srvctl modify database -d orcl -p '+DATA/orcl/SPFILE/spfileorcl.ora'

[oracle@rac2 ~]$ srvctl config database -d orcl

b837e04340b04e608fac1df3dff6dcbf.png

 

6)重启数据库并查看是否生效(oracle用户下只可以执行srvctl命令)

节点一:

[oracle@rac1 ~]$ srvctl stop instance -d orcl -i orcl1

[oracle@rac1 ~]$ srvctl start instance -d orcl -i orcl1

[oracle@rac1 ~]$ srvctl status instance -d orcl -i orcl1

SQL> show parameter spfile

1d7031769a69498baec014b7129a67bb.png

节点二:

[oracle@rac2 ~]$ srvctl stop instance -d orcl -i orcl2

[oracle@rac2 ~]$ srvctl start instance -d orcl -i orcl2

[oracle@rac2 ~]$ srvctl status instance -d orcl -i orcl2

SQL> show parameter spfile

f53435cda1ef4acea9abdded1d35d5ac.png

 

二、12cRAC(包含12c以后的所有版本)参数文件的管理和修改12cRAC中参数文件的位置:12c之后spfile信息只记录在OCR的数据库资源信息 

    每个节点的$ORACLE_HOME/dbs目录下已经不存在init<SID>.ora文件。那么各个节点是如何找到共享盘中的spfile参数文件呢,或者说哪里记录了参数文件spfile位置信息。

    从12c开始,spfile信息只记录在OCR的数据库资源信息中,当数据库启动时,直接读取OCR中记录的spfile参数文件。

 

内容如下:

不存在于$ORACLE_HOME/dbs目录下:

 

查看OCR数据库资源信息:

0e47832c816b4e1281a49e69a0cb9fdb.png

 

修改12cRAC中参数文件的位置:

    在12cRAC中修改参数文件位置时,不需要修改本地操作系统init<SID>.ora的spfile记录文件,因为从12c开始,spfile信息只记录在OCR(OCR是oracle cluster register集群注册表,包括了rac中集群和数据库的配置信息。信息包括集群节点的列表,集群数据库实例的节点的映射以及crs应用程序资源信息)的数据库资源信息中,当数据库启动时,直接读取OCR中记录的spfile参数文件。

 

1)确定spfile的位置

[oracle@rac1 ~]$ srvctl config database -d orcl

 

2)临时位置生成pfile

注意:RAC环境下严禁使用create pfile from spfile;会覆盖默认位置下pfile内容。也不可以使用create spfile from pfile,那么会覆盖掉spfile,需要指定具体的位置。

SQL> create pfile='/oracle/app/oracle/product/12.2/db_1/dbs/pfile.ora' from SPFILE='+DATA/ORCL/PARAMETERFILE/spfile.268.1155580573';

 

3)新位置重新生成spfile

注意:pfile和spfile都需要指定目录,

ASMCMD> mkdir +DATA/orcl/SPFILE/

 

SQL> create SPFILE='+DATA/orcl/SPFILE/spfileorcl.ora' from pfile='/oracle/app/oracle/product/12.2/db_1/dbs/pfile.ora';

 

4)修改OCR中spfile位置(是在oracle用户下的任意一个节点操作,不是grid用户下执行)

组件使用注意:

1、rac的name(db_name、db_unique_name、instance_name、service_names)不要随便乱改。

2、grid用户下可以执行crsctl、srvctl、ocr命令。oracle restart和rac是grid软件安装的一部分,所以执行命令时应在grid用户下进行

3、oracle用户下只可以执行srvctl命令,集群实例的注册添加删除等只能在oracle用户下进行,在grid下注册集群实例报PRKH-1014 : Current user "grid" is not the oracle owner user "oracle" of oracle home "/oracle/app/oracle/product/11.2.0/db_1"。

[oracle@rac2 ~]$ srvctl modify database -d orcl -p '+DATA/orcl/SPFILE/spfileorcl.ora'

[oracle@rac2 ~]$ srvctl config database -d orcl

1b748719a235488d9418540a5790eb36.png

 

5)重启数据库并查看是否生效(oracle用户下只可以执行srvctl命令)

节点一:

[oracle@rac1 ~]$ srvctl stop instance -d orcl -i orcl1

[oracle@rac1 ~]$ srvctl start instance -d orcl -i orcl1

[oracle@rac1 ~]$ srvctl status instance -d orcl -i orcl1

SQL> show parameter spfile

99dba65161fc4355a59774f1cf052047.png

节点二:

[oracle@rac2 ~]$ srvctl stop instance -d orcl -i orcl2

[oracle@rac2 ~]$ srvctl start instance -d orcl -i orcl2

[oracle@rac2 ~]$ srvctl status instance -d orcl -i orcl2

SQL> show parameter spfile

1f8c135b4c7b4e1aa363a6901433f0bd.png

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/338091.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

flutter项目怎么判断是不是web平台?Unsupported operation: Platform._operatingSystem

如果你使用Platform 这个工具来判断的时候&#xff0c;很有可能会报错&#xff1a; Exception caught by widgets library The following UnsupportedError was thrown building MyApp(dirty): Unsupported operation: Platform._operatingSystem The relevant error-causin…

分布式锁的产生以及使用

日常开发中&#xff0c;针对一些需要锁定资源的操作&#xff0c;例如商城的订单超卖问题、订单重复提交问题等。 都是为了解决在资源有限的情况限制客户端的访问&#xff0c;对应的是限流。 单节点锁问题 目前针对这种锁资源的情况采取的往往是互斥锁&#xff0c;例如 java 里…

Node+Express编写接口---前端

前端页面 vue_node_admin: 第一个以node后端,vue为前端的后台管理项目https://gitee.com/ah-ah-bao/vue_node_admin.git

1.1 数据库概述

1.1 数据库概述 1.1.1 数据库基本概念 - 数据&#xff08;Data&#xff09; - 数据库&#xff08;DataBase&#xff0c;DB&#xff09; - 数据库管理系统&#xff08;DataBase Management System&#xff0c;DBMS&#xff09; - …

【C++】List模拟实现过程中值得注意的点

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.List迭代器 2.适…

AI对比:ChatGPT与文心一言的异同与未来

文章目录 &#x1f4d1;前言一、ChatGPT和文心一言概述1.1 ChatGPT1.2 文心一言 二、ChatGPT和文心一言比较2.1 训练数据与知识储备2.2 语义理解与生成能力2.2 应用场景与商业化探索 三、未来展望3.1 模型规模与参数数量不断增加3.2 多模态交互成为主流3.3 知识图谱与大模型的结…

Vue2移动端项目使用$router.go(-1)不生效问题记录

目录 1、this.$router.go(-1) 改成 this.$router.back() 2、存储 from.path&#xff0c;使用 this.$router.push 3、hash模式中使用h5新增的onhashchange事件做hack处理 4、this.$router.go(-1) 之前添加一个 replace 方法 问题背景 &#xff1a; 在 Vue2 的一个移动端开发…

JS-WebAPIs- Window对象(五)

• BOM(浏览器对象模型) BOM(Browser Object Model ) 是浏览器对象模型 window对象是一个全局对象&#xff0c;也可以说是JavaScript中的顶级对象像document、alert()、console.log()这些都是window的属性&#xff0c;基本BOM的属性和方法都是window的。所有通过var定义在全局…

【web 编程技术】基于 B/S 架构的电商平台(java web)

基于 B/S 架构的电商平台&#xff08;java web&#xff09; 课程设计实验目的课程设计实验环境课程设计功能概述课程设计需求分析三层架构图功能列表系统用例图系统活动图-用户端需求分析 课程设计详细设计实现过程数据库BaseServlet 的实现商品显示模块-分页显示所有商品、查看…

《WebKit 技术内幕》之五(1): HTML解释器和DOM 模型

第五章 HTML 解释器和 DOM 模型 1.DOM 模型 1.1 DOM标准 DOM &#xff08;Document Object Model&#xff09;的全称是文档对象模型&#xff0c;它可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。这里的文档可以是 HTML 文档、XML 文档或者 XHTML 文档。D…

MySQL 索引(下)

&#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;重拾MySQL-进阶篇 &#x1f379;文章作者技术和水平很有限&#xff0c;如果文中出现…

【STM32调试】寄存器调试不良问题记录持续版

STM32寄存器调试不良问题记录 低功耗管理NVIC&#xff08;内嵌的中断向量控制器&#xff09;EXTI&#xff08;外部中断/事件&#xff09; 记录一些stm32调试过程中&#xff1a;不易被理解、存在使用误区、不清不楚、是坑、使用常识等方面的一些记录。本记录只包含stm32的内核以…

UE5 C++学习笔记 常用宏的再次理解

1.随意创建一个类&#xff0c;他都有UCLASS()。GENERATED_BODY()这样的默认的宏。 UCLASS() 告知虚幻引擎生成类的反射数据。类必须派生自UObject. &#xff08;告诉引擎我是从远古大帝UObject中&#xff0c;继承而来&#xff0c;我们是一家人&#xff0c;只是我进化了其他功能…

动态规划——炮兵回城【集训笔记】

题目描述 游戏盘面是一个m行n列的方格矩阵&#xff0c;将每个方格用坐标表示&#xff0c;行坐标从下到上依次递增&#xff0c;列坐标从左至右依次递增&#xff0c;左下角方格的坐标为(1,1)&#xff0c;则右上角方格的坐标为(m,n)。 游戏结束盘上只剩下一枚炮兵没有回到城池中&a…

编曲学习:Cubase12导入Cubasis工程的方法!

Steinberg 发布 Cubasis 3 项目导入器&#xff0c;可将 Cubasis 的项目导入到 Cubase 使用https://m.midifan.com/news_body.php?id35635 我偶然看到这个文章&#xff0c;不过发现Cubase12默认好像没有这个选项&#xff0c;心想着要是移动端能和PC端同步&#xff0c;感觉会挺…

【网站项目】329网月科技公司门户网站

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

深入理解JavaScript箭头函数

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 函数是JavaScript中非常重要的一个组成部分,可以封装代码逻辑,提高代…

x-cmd pkg | jq - 命令行 JSON 处理器

目录 简介首次用户功能特点类似工具进一步探索 简介 jq 是轻量级的 JSON 处理工具&#xff0c;由 Stephen Dolan 于 2012 年使用 C 语言开发。 它的功能极为强大&#xff0c;语法简洁&#xff0c;可以灵活高效地完成从 JSON 数据中提取特定字段、过滤和排序数据、执行复杂的转…

Transformer and Pretrain Language Models3-2

transformer structure注意力机制的各种变体 第二种变体&#xff1a; 如果两个向量的维度不一样&#xff0c;我们就需要在中间加上一个权重矩阵&#xff0c;来实现他们之间的相乘&#xff0c;然后最后得到一个标量 第三种变体&#xff1a; additive attention 它和前面的有…

顶顶通用户申请和安装 空号识别 模块流程

一、申请 空号识别 授权 打开网址&#xff1a;http://my.ddrj.com&#xff0c;注册并登录。 点击“我的授权” -> “申请授权” &#xff08;根据负责人的要求选择“在线”或是“离线”&#xff09;。 找到名称为空号识别的授权并点击“加号”图标打开授权&#xff0c;然…