linux系统下从/proc中找回误删除的控制文件

2024-08-30 21:58

本文主要是介绍linux系统下从/proc中找回误删除的控制文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

--linux系统下从/proc中找回误删除的控制文件SYS@PROD3> select name from v$controlfile;NAME
----------------------------------------------------------------------------------------------------
/home/oracle/db1/control01.ctlSYS@PROD3> !rm -rf /home/oracle/db1/control01.ctl  --模拟删除SYS@PROD3> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@ocm1 ~]$ exit
logout
[root@ocm1 ~]# lsof |grep /home/oracle/db1/control01.ctl  --lsof(list open files)是一个列出当前系统打开文件的工具
oracle    3954    oracle  256u      REG      253,0   9519104   11075755 /home/oracle/db1/control01.ctl (deleted)
oracle    3956    oracle  256u      REG      253,0   9519104   11075755 /home/oracle/db1/control01.ctl (deleted)
oracle    3958    oracle  256uW     REG      253,0   9519104   11075755 /home/oracle/db1/control01.ctl (deleted)
oracle    3964    oracle  258u      REG      253,0   9519104   11075755 /home/oracle/db1/control01.ctl (deleted)
oracle    3998    oracle  257u      REG      253,0   9519104   11075755 /home/oracle/db1/control01.ctl (deleted)
[root@ocm1 ~]# cd /proc/3954/fd/  --/proc/N/fd 包含进程相关的所有的文件描述符
[root@ocm1 fd]# ll
total 0
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 0 -> /dev/null
l-wx------ 1 oracle oinstall 64 Mar 18 20:41 1 -> /dev/null
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 10 -> /dev/zero
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 11 -> /dev/zero
lrwx------ 1 oracle oinstall 64 Mar 18 20:41 12 -> /u01/app/oracle/product/11.2.0/dbhome_1/dbs/hc_PROD3.dat
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 13 -> /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/mesg/oraus.msb
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 14 -> /proc/3954/fd
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 15 -> /dev/zero
lrwx------ 1 oracle oinstall 64 Mar 18 20:41 16 -> /u01/app/oracle/product/11.2.0/dbhome_1/dbs/hc_PROD3.dat
lrwx------ 1 oracle oinstall 64 Mar 18 20:41 17 -> /u01/app/oracle/product/11.2.0/dbhome_1/dbs/lkPROD3
l-wx------ 1 oracle oinstall 64 Mar 18 20:41 2 -> /dev/null
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 20 -> /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/mesg/oraus.msb
lrwx------ 1 oracle oinstall 64 Mar 18 20:41 256 -> /home/oracle/db1/control01.ctl (deleted)
lrwx------ 1 oracle oinstall 64 Mar 18 20:41 257 -> /home/oracle/db1/system01.dbf
lrwx------ 1 oracle oinstall 64 Mar 18 20:41 258 -> /home/oracle/db1/sysaux01.dbf
lrwx------ 1 oracle oinstall 64 Mar 18 20:41 259 -> /home/oracle/db1/undotbs01.dbf
lrwx------ 1 oracle oinstall 64 Mar 18 20:41 260 -> /home/oracle/db1/users01.dbf
lrwx------ 1 oracle oinstall 64 Mar 18 20:41 261 -> /home/oracle/db1/t1.dbf
lrwx------ 1 oracle oinstall 64 Mar 18 20:41 262 -> /home/oracle/db1/temp01.dbf
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 3 -> /dev/null
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 4 -> /dev/null
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 5 -> /dev/null
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 6 -> /dev/null
lrwx------ 1 oracle oinstall 64 Mar 18 20:41 7 -> /u01/app/oracle/product/11.2.0/dbhome_1/dbs/hc_PROD3.dat
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 8 -> /dev/null
lr-x------ 1 oracle oinstall 64 Mar 18 20:41 9 -> /dev/null
[root@ocm1 fd]# cp -v 256 /home/oracle/db1/control01.ctl
`256' -> `/home/oracle/db1/control01.ctl'
[root@ocm1 fd]# chown oracle:oinstall /home/oracle/db1/control01.ctl 
[root@ocm1 fd]# su - oracle[oracle@ocm1 ~]$ export ORACLE_SID=PROD3
[oracle@ocm1 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Sat Mar 18 20:43:16 2017Copyright (c) 1982, 2011, Oracle.  All rights reserved.Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSYS@PROD3> startup force
ORACLE instance started.Total System Global Area  958341120 bytes
Fixed Size		    1348972 bytes
Variable Size		  281021076 bytes
Database Buffers	  671088640 bytes
Redo Buffers		    4882432 bytes
Database mounted.
Database opened.

这篇关于linux系统下从/proc中找回误删除的控制文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1122045

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Linux编译器--gcc/g++使用方式

《Linux编译器--gcc/g++使用方式》文章主要介绍了C/C++程序的编译过程,包括预编译、编译、汇编和链接四个阶段,并详细解释了每个阶段的作用和具体操作,同时,还介绍了调试和发布版本的概念... 目录一、预编译指令1.1预处理功能1.2指令1.3问题扩展二、编译(生成汇编)三、汇编(生成二进制机器语