Oracle数据库的配置文件丢失或损失,重新执行pfile启动
场景:两台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启动相关推荐
- 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 ...
- winform执行oracle语句,C#中的Winform应用程序连接远程Oracle数据库的配置文件及SQL语句的写法...
远程连接Oracle数据库的配置文件及sql语句 近期,应朋友的要求,用C#语言开发了一个winform应用程序,要求的是连接到远程的Oracle数据库,用惯了SQL Server的我突然有点懵,然后 ...
- oracle清除执行计划,Oracle数据库9I中清除特定表相关执行计划案例
天萃荷净 在9i中因为某个执行计划因为Oracle Peeking绑定变量的控制导致现有的执行计划不正确,需要清除掉这条sql语句的执行计划.在10g中提供了dbms_shared_pool.purg ...
- Linux操作Oracle(14)——Oracle数据库 使用VMware虚拟网卡 配置 TnsListener 解决 无法启动的问题
目录 问题描述 解决思路 利用Vmvare自动安装的虚拟网卡 配置Oracle的监听地址
- oracle 数据库如何获取一条sql语句执行所消耗耗费的时间?
SQL> set timing on; SQL> select count(*) from test; COUNT(*) ---------- 22590 已用时间: 00: 00: 00 ...
- Oracle 数据库设置最大进程数参数方法,oracle最大进程数满了处理方法,sysdba管理员登录报“maximum number of processes (150) exceeded“问题解决
oracle 数据库使用 sysdba 管理员登录报: ORA-00020: maximum number of processes (150) exceeded 译:超过了最大进程数(150) 方法 ...
- 部署Oracle数据库
Oracle ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一.比如 ...
- python访问数据库如何解决高并发_使用 Python 和 Oracle 数据库实现高并发性
随着趋势发展的核心转向更多而不是更快发展,最大限度地提高并发性的重要性日益凸显.并发性使得编程模式发生了新的转变,可以编写异步代码,从而将多个任务分散到一组线程或进程中并行工作.如果您不是编程新手并且 ...
- 深入剖析ORACLE数据库备份与恢复的原理
一.ORACLE数据库备份与恢复方法 1,用户管理的ORACLE数据库备份与恢复 用户管理的ORACLE数据库备份与恢复是指使用SQL 语句命令结合OS命令备份和恢复DB的方法(也被称为OS 备份与恢 ...
最新文章
- 如何为WPF添加Main()函数
- Emacs之LaTeX环境配置及效果展示
- 参数依赖查找(ADL,Argument-dependent lookup)
- android 首页广告显示不出来的,android – Admob插页式广告(全屏)不会显示
- ubuntu 一张网卡绑定多个ip
- HDU2050 折线分割平面【组合】
- 1971年中国的预警机就上天了
- 一个完整的物联网项目管理流程
- 保存电脑上的屏保图片
- P5339 [TJOI2019]唱、跳、rap和篮球
- com.mysql.jdbc.driver jar下载_com.mysql.jdbc.Driver
- opencv-python 改变图片尺寸
- 【STM32项目】老人健康跌倒检测系统实现
- 微软打补丁出现“此更新不适用于您的计算机”
- python mysql实例_Python操作Mysql实例代码
- 阿里巴巴Java开发手册.pdf
- 我与我的专业计算机作文500字,电脑让我欢喜让我忧作文500字
- 博图os更新_博图os更新_工控随笔_24_西门子TIA 博图硬件目录的更新
- VSCode替换掉/去掉空行
- 初识scrapy-利用scrapy爬漫画