热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

RAC环境中spfile和pfile互转注意事项

大家在维护RAC环境是,请不要轻易使用ldquo;createpfilefromspfile;rdquo;命令创建PFILE文件。原因是这样的,在RAC环境,S

大家在维护RAC环境是,请不要轻易使用ldquo;create pfile from spfile;rdquo;命令创建PFILE文件。 原因是这样的,在RAC环境,S

注意:大家在维护RAC环境是,请不要轻易使用“create pfile from spfile;”命令创建PFILE文件。

原因是这样的,在RAC环境,,SPFILE默认情况下会存放在共享存储上(裸设备或ASM磁盘组上),RAC的每个节点都是使用PFILE指向SPFILE的方法来完成SPFILE的定位的。即pfile文件中存放的是spfile的路径。
如:
[Oracle@rac1]#cat /oracle/app/oracle/product/10.2.0/db_1/dbs/nitracdb1.ora
spfile=+DATA/racdb/spfileracdb.ora
一旦使用“create pfile from spfile;”命令创建PFILE后,新生成的PFILE将覆盖原有dbs目录下的PFILE,此时PFILE文件中存放的是具体的参数,而不是spfile的路径了,此后数据库实例启动时读取的将不再是共享存储上的SPFILE,转而读取本地的PFILE文件的内容。
实验的具体步骤如下:
1.默认情况下$ORACLE_HOME/dbs目录下的PFILE initracdb.ora中只有一行记录,记录着SPFILE的路径指向。
[oracle@rac1]#cat /oracle/app/oracle/product/10.2.0/db_1/dbs/initracdb1.ora
spfile=+DATA/racdb/spfileracdb.ora

2.此时可以从数据库参数得到目前使用的是SPFILE启动的数据库
SQL> show parameter spfile
NAME TYPE VALUE
--------------- ----------- ------------------------------
spfile string +DATA/racdb/spfileracdb.ora

3.此时如果使用“create pfile from spfile;”命令创建PFILE,原有PFIEL中的SPFILE指向将被具体的数据库参数所取代。
当数据库再次启动时,因为无法找到SPFILE的位置,将使用PFILE文件中记录的具体参数值完成数据库的启动,这样将会给数据库的管理带来比较大的影响。
SQL>create pfile from spfile;
SQL> show parameter spfile
NAME TYPE VALUE
--------------- ----------- ------------------------------
spfile string /oracle/app/oracle/product/10.2.0/db_1/dbs/initracdb1.ora

4.小结
本文描述的是一个常识性的问题,希望大家在对RAC数据库进行维护和管理的过程中不要因此给自己带来不必要的麻烦。
如果出现了这样的问题该如何处理呢?方法比较简单,修改pfile文件,重新指向spfile的路径即可,spfile=+DATA/racdb/spfileracdb.ora
将PFILE的内容恢复为具有SPFILE指向的内容即可。

RMAN还原相关概念、spfile、controlfile恢复

Oracle启动与spfile文件

使用spfile将所配置的初始化参数重置为系统默认值

又一例spfile设置错误导致数据库无法启动

Oracle oradim的pfile参数


推荐阅读
  • 解决MacOS Catalina升级后VMware Fusion黑屏问题的详细指南
    本文深入探讨了如何在MacOS Catalina升级后解决VMware Fusion黑屏的问题。通过详细的步骤和代码示例,帮助用户快速恢复虚拟机的正常运行,并提供了额外的安全建议。适用于希望提升工作效率或学习新技术的读者。 ... [详细]
  • 本文介绍如何通过SQL查询来统计不同职位类型的员工当前薪资的平均值,并将结果按照平均薪资升序排列。 ... [详细]
  • 本文详细探讨了在服务器上运行的PostgreSQL数据库出现'内存不足'错误的具体情况,并提供了一系列有效的解决策略。通过本文,读者将能够更好地理解这一常见问题及其背后的原理。 ... [详细]
  • 本文详细介绍了如何使用Python中的xlwt库将数据库中的数据导出至Excel文件,适合初学者和中级开发者参考。 ... [详细]
  • 探讨在使用Rails框架创建数据库记录时,created_at字段未能正确反映系统当前时间的原因及解决方法。 ... [详细]
  • 前言无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上 ... [详细]
  • MySQL锁机制详解
    本文深入探讨了MySQL中的锁机制,包括表级锁、行级锁以及元数据锁,通过实例详细解释了各种锁的工作原理及其应用场景。同时,文章还介绍了如何通过锁来优化数据库性能,避免常见的并发问题。 ... [详细]
  • 本文探讨了如何利用SqlDependency执行复杂的SQL查询,并确保在多线程环境下的安全性与效率。 ... [详细]
  • 深入解析Android中的SQLite数据库使用
    本文详细介绍了如何在Android应用中使用SQLite数据库进行数据存储。通过自定义类继承SQLiteOpenHelper,实现数据库的创建与版本管理,并提供了具体的学生信息管理示例代码。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 探讨如何通过SQL查询将来自多个表的多行信息整合到同一行中展示,特别适用于需要汇总特定商品所有相关信息的场景。 ... [详细]
  • 本文旨在详细介绍如何在PL/SQL环境中调试Oracle数据库中的触发器。虽然触发器能够实现某些复杂的功能,但其使用可能增加系统的维护难度。因此,本文不仅提供技术指导,还讨论了触发器使用的利弊。 ... [详细]
  • Mac下 运行Win7虚拟机内SQL Server 2008 Management Studio 如何访问外接移动硬盘 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 本文将深入探讨如何使用 SQLAlchemy 在数据库模型中定义和操作不同类型的表间关系,包括一对一、一对多及多对多的关系。 ... [详细]
author-avatar
try
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有