lsof 好久没更新了

当Oracle的数据文件意外被删除时,可以利用lsof工具找到仍被进程使用的删除文件。通过查看进程信息,定位到被删除的ltag.dbf和ltag_temp.dbf文件,然后进行恢复操作。首先执行RMAN的恢复命令,应用归档日志,使数据文件重新可用,最后将数据文件在线,完成恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lsof 顾名思义,当你把oracle的数据文件误删除了,想要做恢复。lsof就可以找到刚刚被误删的文件,会有一个类似的进程显示。之后恢复进程,再oracle恢复数据文件,就ok了。

[oracle@stg03-az4-sha-oracle-ltag-fr fd]$ lsof |grep /u01/app/oracle/oradata/LTAG/ltag.dbf 
ora_dbw0_ 28392                 oracle  261uW     REG              252,0 21474844672   919718 /u01/app/oracle/oradata/LTAG/ltag.dbf (deleted)
ora_ckpt_ 28398                 oracle  261u      REG              252,0 21474844672   919718 /u01/app/oracle/oradata/LTAG/ltag.dbf (deleted)


 lsof -a -p 28392 -d ^txt | egrep "COMMAND|dbf"

[oracle@stg03-az4-sha-oracle-ltag-fr fd]$ lsof -a -p 28392 -d ^txt | egrep "COMMAND|dbf"
COMMAND     PID   USER   FD   TYPE DEVICE    SIZE/OFF    NODE NAME
ora_dbw0_ 28392 oracle  258uW  REG  252,0   964698112  267727 /u01/app/oracle/oradata/SITLTAG02/system01.dbf
ora_dbw0_ 28392 oracle  259uW  REG  252,0   775954432  267726 /u01/app/oracle/oradata/SITLTAG02/sysaux01.dbf
ora_dbw0_ 28392 oracle  260uW  REG  252,0   356524032  267729 /u01/app/oracle/oradata/SITLTAG02/undotbs01.dbf
ora_dbw0_ 28392 oracle  261uW  REG  252,0 21474844672  919718 /u01/app/oracle/oradata/LTAG/ltag.dbf (deleted)
ora_dbw0_ 28392 oracle  262uW  REG  252,0     5251072  267730 /u01/app/oracle/oradata/SITLTAG02/users01.dbf
ora_dbw0_ 28392 oracle  263uW  REG  252,0   125837312  267728 /u01/app/oracle/oradata/SITLTAG02/temp01.dbf
ora_dbw0_ 28392 oracle  264uW  REG  252,0   536879104  919719 /u01/app/oracle/oradata/LTAG/ltag_temp.dbf (deleted)


bash-2.05# lsof -a -p 28392 -d ^txt

[oracle@stg03-az4-sha-oracle-ltag-fr fd]$ lsof -a -p 28392 -d ^txt
COMMAND     PID   USER   FD   TYPE DEVICE    SIZE/OFF    NODE NAME
ora_dbw0_ 28392 oracle  cwd    DIR  252,0        4096  795171 /u01/app/oracle/product/19.3.0/db_home_1/dbs
ora_dbw0_ 28392 oracle  rtd    DIR  253,1        4096       2 /
ora_dbw0_ 28392 oracle  DEL    REG    0,4                   0 /SYSV00000000
ora_dbw0_ 28392 oracle  DEL    REG    0,4                   1 /SYSV00000000
ora_dbw0_ 28392 oracle  DEL    REG    0,4                   2 /SYSV00000000
ora_dbw0_ 28392 oracle  DEL    REG    0,4                   3 /SYSVf6ab99b4
ora_dbw0_ 28392 oracle  DEL    REG   0,11              233780 /[aio]
ora_dbw0_ 28392 oracle  mem    REG  252,0     4219096  266508 /u01/app/oracle/product/19.3.0/db_home_1/lib/libshpkavx51219.so
ora_dbw0_ 28392 oracle  mem    REG  253,1       61560   21144 /usr/lib64/libnss_files-2.17.so
ora_dbw0_ 28392 oracle  mem    REG  253,1       88720    3501 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
ora_dbw0_ 28392 oracle  mem    REG  253,1       50704   17793 /usr/lib64/libnuma.so.1.0.0
ora_dbw0_ 28392 oracle  mem    REG  253,1     2156352    3908 /usr/lib64/libc-2.17.so
ora_dbw0_ 28392 oracle  mem    REG  253,1      109976   21146 /usr/lib64/libresolv-2.17.so
ora_dbw0_ 28392 oracle  mem    REG  253,1      115816   21142 /usr/lib64/libnsl-2.17.so
ora_dbw0_ 28392 oracle  mem    REG  253,1      142144    3934 /usr/lib64/libpthread-2.17.so
ora_dbw0_ 28392 oracle  mem    REG  253,1     1136944   21141 /usr/lib64/libm-2.17.so
ora_dbw0_ 28392 oracle  mem    REG  253,1       19248   21140 /usr/lib64/libdl-2.17.so
ora_dbw0_ 28392 oracle  mem    REG  252,0     3609536  266869 /u01/app/oracle/product/19.3.0/db_home_1/lib/libipc1.so
ora_dbw0_ 28392 oracle  mem    REG  252,0      478432  266672 /u01/app/oracle/product/19.3.0/db_home_1/lib/libmql1.so
ora_dbw0_ 28392 oracle  mem    REG  252,0      410736  266867 /u01/app/oracle/product/19.3.0/db_home_1/lib/libons.so
ora_dbw0_ 28392 oracle  mem    REG  253,1        6264    5654 /usr/lib64/libaio.so.1.0.1
ora_dbw0_ 28392 oracle  mem    REG  252,0      774352  266740 /u01/app/oracle/product/19.3.0/db_home_1/lib/libocrutl19.so
ora_dbw0_ 28392 oracle  mem    REG  252,0     8581040  266760 /u01/app/oracle/product/19.3.0/db_home_1/lib/libocrb19.so
ora_dbw0_ 28392 oracle  mem    REG  252,0     3783528  266929 /u01/app/oracle/product/19.3.0/db_home_1/lib/libocr19.so
ora_dbw0_ 28392 oracle  mem    REG  252,0       17336  266755 /u01/app/oracle/product/19.3.0/db_home_1/lib/libskgxn2.so
ora_dbw0_ 28392 oracle  mem    REG  252,0    13921936  266733 /u01/app/oracle/product/19.3.0/db_home_1/lib/libhasgen19.so
ora_dbw0_ 28392 oracle  mem    REG  252,0      197440  266630 /u01/app/oracle/product/19.3.0/db_home_1/lib/libdbcfg19.so
ora_dbw0_ 28392 oracle  mem    REG  252,0      267072  266845 /u01/app/oracle/product/19.3.0/db_home_1/lib/libclsra19.so
ora_dbw0_ 28392 oracle  mem    REG  253,1       43712   21147 /usr/lib64/librt-2.17.so
ora_dbw0_ 28392 oracle  mem    REG  252,0      411704  266722 /u01/app/oracle/product/19.3.0/db_home_1/lib/libskjcx19.so
ora_dbw0_ 28392 oracle  mem    REG  252,0     1227488  266661 /u01/app/oracle/product/19.3.0/db_home_1/lib/libskgxp19.so
ora_dbw0_ 28392 oracle  mem    REG  252,0     1917056  266791 /u01/app/oracle/product/19.3.0/db_home_1/lib/libcell19.so
ora_dbw0_ 28392 oracle  mem    REG  252,0       12536  266645 /u01/app/oracle/product/19.3.0/db_home_1/lib/libofs.so
ora_dbw0_ 28392 oracle  mem    REG  252,0       17848  266889 /u01/app/oracle/product/19.3.0/db_home_1/lib/libodmd19.so
ora_dbw0_ 28392 oracle  mem    REG  253,1      163312    3498 /usr/lib64/ld-2.17.so
ora_dbw0_ 28392 oracle  mem    REG  252,0        1544  795439 /u01/app/oracle/product/19.3.0/db_home_1/dbs/hc_SITLTAG02.dat
ora_dbw0_ 28392 oracle    0r   CHR    1,3         0t0    1031 /dev/null
ora_dbw0_ 28392 oracle    1w   CHR    1,3         0t0    1031 /dev/null
ora_dbw0_ 28392 oracle    2w   CHR    1,3         0t0    1031 /dev/null
ora_dbw0_ 28392 oracle    3r   CHR    1,3         0t0    1031 /dev/null
ora_dbw0_ 28392 oracle    4r   REG  252,0     1410560 3147088 /u01/app/oracle/product/19.3.0/db_home_1/rdbms/mesg/oraus.msb
ora_dbw0_ 28392 oracle    5r   DIR    0,3           0  233383 /proc/28392/fd
ora_dbw0_ 28392 oracle    6u   REG  252,0        1544  795439 /u01/app/oracle/product/19.3.0/db_home_1/dbs/hc_SITLTAG02.dat
ora_dbw0_ 28392 oracle    7uR  REG  252,0          24  795437 /u01/app/oracle/product/19.3.0/db_home_1/dbs/lkSITLTAG02
ora_dbw0_ 28392 oracle    8r   REG  252,0     1410560 3147088 /u01/app/oracle/product/19.3.0/db_home_1/rdbms/mesg/oraus.msb
ora_dbw0_ 28392 oracle  256u   REG  252,0    10862592  267731 /u01/app/oracle/oradata/SITLTAG02/control01_standby.ctl
ora_dbw0_ 28392 oracle  257u   REG  252,0    10862592  524360 /u01/app/oracle/flash_recovery_area/SITLTAG02/control02_standby.ctl
ora_dbw0_ 28392 oracle  258uW  REG  252,0   964698112  267727 /u01/app/oracle/oradata/SITLTAG02/system01.dbf
ora_dbw0_ 28392 oracle  259uW  REG  252,0   775954432  267726 /u01/app/oracle/oradata/SITLTAG02/sysaux01.dbf
ora_dbw0_ 28392 oracle  260uW  REG  252,0   356524032  267729 /u01/app/oracle/oradata/SITLTAG02/undotbs01.dbf
ora_dbw0_ 28392 oracle  261uW  REG  252,0 21474844672  919718 /u01/app/oracle/oradata/LTAG/ltag.dbf (deleted)
ora_dbw0_ 28392 oracle  262uW  REG  252,0     5251072  267730 /u01/app/oracle/oradata/SITLTAG02/users01.dbf
ora_dbw0_ 28392 oracle  263uW  REG  252,0   125837312  267728 /u01/app/oracle/oradata/SITLTAG02/temp01.dbf
ora_dbw0_ 28392 oracle  264uW  REG  252,0   536879104  919719 /u01/app/oracle/oradata/LTAG/ltag_temp.dbf (deleted)
[oracle@stg03-az4-sha-oracle-ltag-fr fd]$ 

cat /proc/819/fd/26207 > /u01/oracle/oradata/test817/tools01.dbf


cat /proc/28392/fd/261 > /u01/app/oracle/oradata/LTAG/ltag_temp.dbf 


cat /proc/28392/fd/261 > /u01/app/oracle/oradata/LTAG/ltag.dbf 

RMAN> report schema;

using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name SITLTAG02

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    920      SYSTEM               YES     /u01/app/oracle/oradata/SITLTAG02/system01.dbf
3    740      SYSAUX               NO      /u01/app/oracle/oradata/SITLTAG02/sysaux01.dbf
4    340      UNDOTBS1             YES     /u01/app/oracle/oradata/SITLTAG02/undotbs01.dbf
5    20480    LTAG                 NO      /u01/app/oracle/oradata/LTAG/ltag.dbf
7    5        USERS                NO      /u01/app/oracle/oradata/SITLTAG02/users01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    120      TEMP                 32767       /u01/app/oracle/oradata/SITLTAG02/temp01.dbf
2    512      LTAG_TEMP            2048        /u01/app/oracle/oradata/LTAG/ltag_temp.dbf

RMAN> 

RMAN> 

RMAN> alter datafile LTAG offile;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of sql statement command at 12/14/2021 21:33:56
ORA-00940: invalid ALTER command

RMAN> alter datafile LTAG offline;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of sql statement command at 12/14/2021 21:34:06
ORA-00940: invalid ALTER command

RMAN> alter database datafile LTAG offline;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of sql statement command at 12/14/2021 21:34:33
ORA-02236: invalid file name

RMAN> alter database datafile 5 offline;

Statement processed

RMAN> 

RMAN> 

RMAN> 

RMAN> 

RMAN> report schema;

Report of database schema for database with db_unique_name SITLTAG02

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    920      SYSTEM               YES     /u01/app/oracle/oradata/SITLTAG02/system01.dbf
3    740      SYSAUX               NO      /u01/app/oracle/oradata/SITLTAG02/sysaux01.dbf
4    340      UNDOTBS1             YES     /u01/app/oracle/oradata/SITLTAG02/undotbs01.dbf
5    20480    LTAG                 NO      /u01/app/oracle/oradata/LTAG/ltag.dbf
7    5        USERS                NO      /u01/app/oracle/oradata/SITLTAG02/users01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    120      TEMP                 32767       /u01/app/oracle/oradata/SITLTAG02/temp01.dbf
2    512      LTAG_TEMP            2048        /u01/app/oracle/oradata/LTAG/ltag_temp.dbf

RMAN> alter database datafile 5 online;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of sql statement command at 12/14/2021 21:35:39
ORA-01113: file 5 needs media recovery
ORA-01110: data file 5: '/u01/app/oracle/oradata/LTAG/ltag.dbf'

RMAN> recover datafile 5;

Starting recover at 2021-12-14 21:36:07
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=270 device type=DISK

starting media recovery

archived log for thread 1 with sequence 309 is already on disk as file /u01/app/oracle/arch/SITLTAG02_1075387478_1_309.arc
archived log for thread 1 with sequence 310 is already on disk as file /u01/app/oracle/arch/SITLTAG02_1075387478_1_310.arc
archived log for thread 1 with sequence 311 is already on disk as file /u01/app/oracle/arch/SITLTAG02_1075387478_1_311.arc
archived log for thread 1 with sequence 312 is already on disk as file /u01/app/oracle/arch/SITLTAG02_1075387478_1_312.arc
archived log for thread 1 with sequence 313 is already on disk as file /u01/app/oracle/arch/SITLTAG02_1075387478_1_313.arc
archived log for thread 1 with sequence 314 is already on disk as file /u01/app/oracle/arch/SITLTAG02_1075387478_1_314.arc
archived log file name=/u01/app/oracle/arch/SITLTAG02_1075387478_1_309.arc thread=1 sequence=309
archived log file name=/u01/app/oracle/arch/SITLTAG02_1075387478_1_310.arc thread=1 sequence=310
archived log file name=/u01/app/oracle/arch/SITLTAG02_1075387478_1_311.arc thread=1 sequence=311
archived log file name=/u01/app/oracle/arch/SITLTAG02_1075387478_1_312.arc thread=1 sequence=312
media recovery complete, elapsed time: 00:00:01
Finished recover at 2021-12-14 21:36:08

RMAN> alter database datafile 5 online;

Statement processed

RMAN> report schema;

Report of database schema for database with db_unique_name SITLTAG02

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    920      SYSTEM               YES     /u01/app/oracle/oradata/SITLTAG02/system01.dbf
3    740      SYSAUX               NO      /u01/app/oracle/oradata/SITLTAG02/sysaux01.dbf
4    340      UNDOTBS1             YES     /u01/app/oracle/oradata/SITLTAG02/undotbs01.dbf
5    20480    LTAG                 NO      /u01/app/oracle/oradata/LTAG/ltag.dbf
7    5        USERS                NO      /u01/app/oracle/oradata/SITLTAG02/users01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    120      TEMP                 32767       /u01/app/oracle/oradata/SITLTAG02/temp01.dbf
2    512      LTAG_TEMP            2048        /u01/app/oracle/oradata/LTAG/ltag_temp.dbf


RMAN> alter database tempfile 2 offline;

Statement processed

RMAN> 

RMAN> 

RMAN> alter database tempfile 2 online;

Statement processed

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值