【翻译自mos文章】在unix/linux中使用文件描述符(FileDescripto
在unix/linux中使用文件描述符(File Descriptors)来找回被删掉的文件(数据文件or redo log) 参考原文: Retrieve deleted files on Unix / Linux using File Descriptors (Doc ID 444749.1) 适用于: Oracle Database - Enterprise Edition - Version 8.1
在unix/linux中使用文件描述符(File Descriptors)来找回被删掉的文件(数据文件or redo log)参考原文:
Retrieve deleted files on Unix / Linux using File Descriptors (Doc ID 444749.1)
适用于:
Oracle Database - Enterprise Edition - Version 8.1.7.0 to 11.2.0.3 [Release 8.1.7 to 11.2]
Linux x86
Oracle Solaris on SPARC (64-bit)
Linux x86-64
***Checked for relevance on 24-Nov-2010***
目标:在数据库没有被重启的情况下,从操作系统中找回被删掉的datafile和logfile
解决方案:
当符合下列状态时,我们可以借助unix/linux中的proc 文件系统,找回(retrieve)被删除的datafile和logfile
1.) Database is not restarted.
2.) Server is not restarted.
3.) The file was not offline before deletion.
后台进程(DBWR, PMON, SMON etc)访问被本数据库打开的所有datafiles,因此,借助于lsof命令,可以看到被进程open的 文件列表。
被进程打开的任何一个文件,都有一个文件描述符(fd)与该文件相关联。若是该文件被从操作系统中误删除了,该文件的条目(entry)并没有从proc 文件系统中被删除,借助于该entry,我们可以重建被删除的file(datafile or logfile)
如下是一个例子:
1.) Create a tablespace SQL> create tablespace my_test datafile '/emea/rdbms/64bit/app/oracle/oradata/EMR102U6/my_test_01.dbf' size 200k; Tablespace created. 2.) Accidentally, the datafile belonging to this tablespace was deleted $ rm /emea/rdbms/64bit/app/oracle/oradata/EMR102U6/my_test_01.dbf 3.) Try resizing the datafile SQL> alter database datafile '/emea/rdbms/64bit/app/oracle/oradata/EMR102U6/my_test_01.dbf' resize 250k; alter database datafile '/emea/rdbms/64bit/app/oracle/oradata/EMR102U6/my_test_01.dbf' resize 250k * ERROR at line 1: ORA-01565: error in identifying file '/emea/rdbms/64bit/app/oracle/oradata/EMR102U6/my_test_01.dbf' ORA-27037: unable to obtain file status SVR4 Error: 2: No such file or directory Additional information: 3
抢救该文件的步骤
1.)找到dbwr进程的os pid
--> $ ps -ef |grep '
$ ps -ef |grep EMR102U6|grep dbw emrdbms 21943 1 0 10:27:08 ? 0:00 ora_dbw0_EMR102U6
$ lsof -p 21943 |grep /emea/rdbms/64bit/app/oracle/oradata/EMR102U6/my_test_01.dbf Command PID USER FD TYPE DEVICE SIZE/OFF NODE NAME oracle 21943 emrdbms 270uW VREG 304,25 212992 11273825 /emea/rdbms/64bit/app/oracle/oradata/EMR102U6/my_test_01.dbf
If you are using NAS then the file name in the above command may not be displayed properly and hence this procedure should not be used under these circumstances.
注意上面的fd值--270
3.)到fd目录下
--> $ cd /proc/
$ cd /proc/21943/fd/
4.)将该表空间read onlyalter tablespace my_test read only;
read only 允许用户select 该表空间,但不允许 对该表空间的insert ,update,delete
5.)对该文件做一个copy
$ cat 270 > /emea/rdbms/64bit/app/oracle/oradata/EMR102U6/my_test_01.dbf
6.)为了确保 该file 的copy在 copy后没有被使用,执行如下:a) Take datafile offline alter tablespace my_test offline; Query the view v$datafile to verify the datafile is offline: select status from v$datafile where file#=<file number>; b) Bring datafile back online alter tablespace my_test online;
7.)将该表空间置为read write
alter tablespace my_test read write;
select tablespace_name,status from dba_tablespaces where tablespace_name='MY_TEST';
8.)对该数据文件的resize操作就正常了。
SQL> alter database datafile '/emea/rdbms/64bit/app/oracle/oradata/EMR102U6/my_test_01.dbf' resize 250k;
Database altered.
注意:该过程也适用于找回被删除的 current redo logfile

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

DeepSeek 是一款强大的智能搜索与分析工具,提供网页版和官网两种访问方式。网页版便捷高效,免安装即可使用;官网则提供全面产品信息、下载资源和支持服务。无论个人还是企业用户,都可以通过 DeepSeek 轻松获取和分析海量数据,提升工作效率、辅助决策和促进创新。

DeepSeek的安装方法有多种,包括:从源码编译(适用于经验丰富的开发者)使用预编译包(适用于Windows用户)使用Docker容器(最便捷,无需担心兼容性)无论选择哪种方法,请仔细阅读官方文档并充分准备,避免不必要的麻烦。

BITGet 是一款加密货币交易所,提供各种交易服务,包括现货交易、合约交易和衍生品。该交易所成立于 2018 年,总部位于新加坡,致力于为用户提供安全可靠的交易平台。BITGet 提供多种交易对,包括 BTC/USDT、ETH/USDT 和 XRP/USDT。此外,该交易所还在安全性和流动性方面享有盛誉,并提供多种功能,如高级订单类型、杠杆交易和 24/7 全天候客户支持。

欧易 OKX,全球领先的数字资产交易所,现推出官方安装包,提供安全便捷的交易体验。欧易 OKX 安装包无需通过浏览器访问,可直接在设备上安装独立应用程序,为用户打造稳定高效的交易平台。安装过程简便易懂,用户只需下载最新版本安装包,按照提示一步步操作即可完成安装。

Gate.io是一款受欢迎的加密货币交易所,用户可通过下载其安装包并安装在设备上使用。获取安装包步骤如下:访问Gate.io官方网站,点击“下载”,选择对应操作系统(Windows、Mac或Linux),将安装包下载至计算机。安装过程中建议暂时禁用杀毒软件或防火墙,确保安装顺利。完成后,用户需创建Gate.io账户以开始使用。

欧易,又称OKX,是一个全球领先的加密货币交易平台。文章提供了欧易官方安装包的下载入口,方便用户在不同设备上安装欧易客户端。该安装包支持 Windows、Mac、Android 和 iOS 系统,用户可根据自己的设备类型选择相应版本下载。安装完成后,用户即可注册或登录欧易账户,开始交易加密货币和享受平台提供的其他服务。

Gate.io 是一款备受赞誉的加密货币交易平台,以其广泛的代币选择、低廉的交易费用和用户友好的界面而闻名。凭借其先进的安全功能和优秀的客户服务,Gate.io 为交易者提供一个可靠且便利的加密货币交易环境。想要加入 Gate.io 的行列,欢迎点击提供的链接下载官方注册安装包,开启您的加密货币交易之旅。

该教程指导您在Ubuntu系统上安装和配置Nginx和PhpMyAdmin,并可能与现有的Apache服务器一起安装和配置。 我们将介绍设置NGINX,解决与Apache的潜在端口冲突,安装Mariadb(
