场景:两台Oracle数据库所在的服务器共享存储,磁阵损坏;现将RAC改为其中一台数据库单机启动。

首先了解,Oracle中的参数文件是一个包含一系列参数以及参数对应值的系统文件。数据库启动时加载参数文件,按参数文件中的配置决定数据库的物理结构、内存、数据库的限制等各种属性。

因此需要在服务器指定生成一个新的pfile参数文件。

我在测试环境中模拟删除掉配置文件pfiles和dbf来模拟上述场景。

步骤:

1.启动监听

监听查看是停止的,直接启动失败,因为配置了scan ip。

修改配置文件:

vi /oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

将其中的scan ip替换为服务器的物理ip地址。

运行lsnrctl start 成功

这里我拿自己的测试库现做的实验

2. 启动数据库

sqlplus /nolog
conn /as sysdba

直接startup

会报错:

ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+SYS/XXX.ora'
ORA-17503: ksfdopn:10 Failed to open file +XXX.ora
ORA-29701: unable to connect to Cluster Synchronization Service

因为无法访问pfile文件,因为在本机新建参数文件。

一般参数文件可分为:pfile(文本文件)和 spfile(二进制文件)。

系统启动时默认读取 spfile 来初始化实例,可以通过 show parameter spfile;命令来查看实例是不是通过 spfile 启动。如果数据库未启动,运行此命令是报错的。

创建文本文件 pfile,让数据库根据 pfile 中的参数来初始化实例

create pfile='/data/oracle/product/11.2.0/dbs/test_pfile.ora' from spfile;

启动数据库时读取 pfile 文件:

startup pfile='/data/oracle/product/11.2.0/dbs/test_pfile.ora'

启动成功

but,上面是dbf正常的情况,如果磁阵损坏,dbf也是无法访问,需要重新指定的,备份重命名dbf文件,重新启动显示:

alter database datafile '/data/oracle/product/11.2.0/dbs/ptho_ts.dbf' offline drop;

其中archive log list; //查一下数据库的归档模式

打开数据库后看到还有其他的dbf文件


以上是对单机的数据库命令,如果是RAC,还需要停止集群服务。

使用的 crsctl 命令如下:

crsctl check has            ## 检查 HAS 的状态
crsctl config has           ## 显示 HAS 的自动启动/配置
crsctl disable has          ## 禁用 HAS 的自动启动
crsctl enable has           ## 启用 HAS 的自动启动
crsctl start has            ## 启动本地服务器上的 HAS
crsctl stop has             ## 停止本地服务器上的 HAS

下面的2个命令:使用crs 和 使用has 效果是完全一样的:

#crsctl stop crs [-f]

#crsctl start crs

参加文章:

ORACLE 11g RAC 集群的管理与维护(1) —— crsctl 命令之(一) :概述_睿思达DBA_WGX的博客-CSDN博客_oracle11g rac 维护

Oracle数据库的配置文件丢失或损失,重新执行pfile启动相关推荐

  1. Oracle 数据库修改配置文件sga_target参数的值,sga_target值太小导致数据库服务起不来问题解决,调大sga_target参数方法

    ORA-00821: Specified value of sga_target 4096M is too small, needs to be at least 5504M 译文:sga_targe ...

  2. winform执行oracle语句,C#中的Winform应用程序连接远程Oracle数据库的配置文件及SQL语句的写法...

    远程连接Oracle数据库的配置文件及sql语句 近期,应朋友的要求,用C#语言开发了一个winform应用程序,要求的是连接到远程的Oracle数据库,用惯了SQL Server的我突然有点懵,然后 ...

  3. oracle清除执行计划,Oracle数据库9I中清除特定表相关执行计划案例

    天萃荷净 在9i中因为某个执行计划因为Oracle Peeking绑定变量的控制导致现有的执行计划不正确,需要清除掉这条sql语句的执行计划.在10g中提供了dbms_shared_pool.purg ...

  4. Linux操作Oracle(14)——Oracle数据库 使用VMware虚拟网卡 配置 TnsListener 解决 无法启动的问题

    目录 问题描述 解决思路 利用Vmvare自动安装的虚拟网卡 配置Oracle的监听地址

  5. oracle 数据库如何获取一条sql语句执行所消耗耗费的时间?

    SQL> set timing on; SQL> select count(*) from test; COUNT(*) ---------- 22590 已用时间: 00: 00: 00 ...

  6. Oracle 数据库设置最大进程数参数方法,oracle最大进程数满了处理方法,sysdba管理员登录报“maximum number of processes (150) exceeded“问题解决

    oracle 数据库使用 sysdba 管理员登录报: ORA-00020: maximum number of processes (150) exceeded 译:超过了最大进程数(150) 方法 ...

  7. 部署Oracle数据库

    Oracle ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一.比如 ...

  8. python访问数据库如何解决高并发_使用 Python 和 Oracle 数据库实现高并发性

    随着趋势发展的核心转向更多而不是更快发展,最大限度地提高并发性的重要性日益凸显.并发性使得编程模式发生了新的转变,可以编写异步代码,从而将多个任务分散到一组线程或进程中并行工作.如果您不是编程新手并且 ...

  9. 深入剖析ORACLE数据库备份与恢复的原理

    一.ORACLE数据库备份与恢复方法 1,用户管理的ORACLE数据库备份与恢复 用户管理的ORACLE数据库备份与恢复是指使用SQL 语句命令结合OS命令备份和恢复DB的方法(也被称为OS 备份与恢 ...

最新文章

  1. 如何为WPF添加Main()函数
  2. Emacs之LaTeX环境配置及效果展示
  3. 参数依赖查找(ADL,Argument-dependent lookup)
  4. android 首页广告显示不出来的,android – Admob插页式广告(全屏)不会显示
  5. ubuntu 一张网卡绑定多个ip
  6. HDU2050 折线分割平面【组合】
  7. 1971年中国的预警机就上天了
  8. 一个完整的物联网项目管理流程
  9. 保存电脑上的屏保图片
  10. P5339 [TJOI2019]唱、跳、rap和篮球
  11. com.mysql.jdbc.driver jar下载_com.mysql.jdbc.Driver
  12. opencv-python 改变图片尺寸
  13. 【STM32项目】老人健康跌倒检测系统实现
  14. 微软打补丁出现“此更新不适用于您的计算机”
  15. python mysql实例_Python操作Mysql实例代码
  16. 阿里巴巴Java开发手册.pdf
  17. 我与我的专业计算机作文500字,电脑让我欢喜让我忧作文500字
  18. 博图os更新_博图os更新_工控随笔_24_西门子TIA 博图硬件目录的更新
  19. VSCode替换掉/去掉空行
  20. 初识scrapy-利用scrapy爬漫画

热门文章

  1. 丛林战争项目十之数据库查询
  2. 千兆网络变压器原理图及与PHY与网络变压器接线方式
  3. 数据挖掘——第三章:数据预处理
  4. 善用快捷键,玩转windows10便签程序
  5. Mac os下时间戳转换
  6. 华为云桌面,随时随地助力企业轻松办公
  7. MVC5怎么设置默认访问页
  8. 选择控制结构if连用时的易错点
  9. C51学习笔记 7.LED点阵屏
  10. 【Qualcomm】在EFS的NV项中打开voice通话自动接听