测试linux删除Oracle文件,使用文件句柄恢复

删除Oracle文件

oracle@zdb002 orcl\]$ ps -ef\|grep smon oracle 12774 1 0 11:44 ? 00:00:00 ora_smon_orcl oracle 16681 16604 0 12:49 pts/1 00:00:00 grep --color=auto smon \[oracle@zdb002 orcl\]$ ls control01.ctl control02.ctl redo01.log redo02.log redo03.log sysaux01.dbf system01.dbf temp01.dbf undotbs01.dbf users01.dbf \[oracle@zdb002 orcl\]$ rm -rf \* \[oracle@zdb002 orcl\]$ ls -l total 0 \[oracle@zdb002 orcl\]$ ps -ef\|grep smon oracle 12774 1 0 11:44 ? 00:00:00 ora_smon_orcl oracle 16736 16604 0 12:49 pts/1 00:00:00 grep --color=auto smon

插入数据测试复制之前是否会丢数据

SQL> select * from test;

X


1

SQL> insert into test values(2);

1 row created.

SQL> commit;

Commit complete.

SQL> select * from test;

X


1

2

用文件句柄复制恢复

---通过dbw进程查看

oracle@zdb002 \~\]$ ps -ef\|grep dbw\|grep -v grep oracle 12768 1 0 11:44 ? 00:00:00 ora_dbw0_orcl \[oracle@zdb002 \~\]$ ls -rtl /proc/12768/fd total 0 lrwx------. 1 oracle oinstall 64 Nov 13 12:51 9 -\> /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/hc_orcl.dat lr-x------. 1 oracle oinstall 64 Nov 13 12:51 8 -\> /dev/zero lr-x------. 1 oracle oinstall 64 Nov 13 12:51 7 -\> /proc/12768/fd/ lr-x------. 1 oracle oinstall 64 Nov 13 12:51 6 -\> /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/mesg/oraus.msb lr-x------. 1 oracle oinstall 64 Nov 13 12:51 5 -\> /dev/null lr-x------. 1 oracle oinstall 64 Nov 13 12:51 4 -\> /dev/null lr-x------. 1 oracle oinstall 64 Nov 13 12:51 3 -\> /dev/null lrwx------. 1 oracle oinstall 64 Nov 13 12:51 262 -\> /u01/app/oracle/oradata/orcl/temp01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:51 261 -\> /u01/app/oracle/oradata/orcl/users01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:51 260 -\> /u01/app/oracle/oradata/orcl/undotbs01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:51 259 -\> /u01/app/oracle/oradata/orcl/sysaux01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:51 258 -\> /u01/app/oracle/oradata/orcl/system01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:51 257 -\> /u01/app/oracle/oradata/orcl/control02.ctl (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:51 256 -\> /u01/app/oracle/oradata/orcl/control01.ctl (deleted) l-wx------. 1 oracle oinstall 64 Nov 13 12:51 2 -\> /dev/null lr-x------. 1 oracle oinstall 64 Nov 13 12:51 11 -\> /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/mesg/oraus.msb lrwx------. 1 oracle oinstall 64 Nov 13 12:51 10 -\> /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/lkORCL l-wx------. 1 oracle oinstall 64 Nov 13 12:51 1 -\> /dev/null lr-x------. 1 oracle oinstall 64 Nov 13 12:51 0 -\> /dev/null

--通过lgwr进程查看,比dbw多出redo

oracle@zdb002 \~\]$ ps -ef\|grep lgw\|grep -v grep oracle 12770 1 0 11:44 ? 00:00:00 ora_lgwr_orcl \[oracle@zdb002 \~\]$ ls -rtl /proc/12770/fd total 0 lrwx------. 1 oracle oinstall 64 Nov 13 12:52 9 -\> /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/hc_orcl.dat lr-x------. 1 oracle oinstall 64 Nov 13 12:52 8 -\> /dev/zero lr-x------. 1 oracle oinstall 64 Nov 13 12:52 7 -\> /proc/12770/fd/ lr-x------. 1 oracle oinstall 64 Nov 13 12:52 6 -\> /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/mesg/oraus.msb lr-x------. 1 oracle oinstall 64 Nov 13 12:52 5 -\> /dev/null lr-x------. 1 oracle oinstall 64 Nov 13 12:52 4 -\> /dev/null lr-x------. 1 oracle oinstall 64 Nov 13 12:52 3 -\> /dev/null lrwx------. 1 oracle oinstall 64 Nov 13 12:52 265 -\> /u01/app/oracle/oradata/orcl/temp01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 264 -\> /u01/app/oracle/oradata/orcl/users01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 263 -\> /u01/app/oracle/oradata/orcl/undotbs01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 262 -\> /u01/app/oracle/oradata/orcl/sysaux01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 261 -\> /u01/app/oracle/oradata/orcl/system01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 260 -\> /u01/app/oracle/oradata/orcl/redo03.log (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 259 -\> /u01/app/oracle/oradata/orcl/redo02.log (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 258 -\> /u01/app/oracle/oradata/orcl/redo01.log (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 257 -\> /u01/app/oracle/oradata/orcl/control02.ctl (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 256 -\> /u01/app/oracle/oradata/orcl/control01.ctl (deleted) l-wx------. 1 oracle oinstall 64 Nov 13 12:52 2 -\> /dev/null lr-x------. 1 oracle oinstall 64 Nov 13 12:52 11 -\> /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/mesg/oraus.msb lrwx------. 1 oracle oinstall 64 Nov 13 12:52 10 -\> /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/lkORCL l-wx------. 1 oracle oinstall 64 Nov 13 12:52 1 -\> /dev/null lr-x------. 1 oracle oinstall 64 Nov 13 12:52 0 -\> /dev/null

复制删除文件回原位置

oracle@zdb002 \~\]$ cp /proc/12770/fd/265 /u01/app/oracle/oradata/orcl/temp01.dbf \[oracle@zdb002 \~\]$ cp /proc/12770/fd/264 /u01/app/oracle/oradata/orcl/users01.dbf \[oracle@zdb002 \~\]$ cp /proc/12770/fd/263 /u01/app/oracle/oradata/orcl/undotbs01.dbf \[oracle@zdb002 \~\]$ cp /proc/12770/fd/262 /u01/app/oracle/oradata/orcl/sysaux01.dbf \[oracle@zdb002 \~\]$ cp /proc/12770/fd/261 /u01/app/oracle/oradata/orcl/system01.dbf \[oracle@zdb002 \~\]$ cp /proc/12770/fd/260 /u01/app/oracle/oradata/orcl/redo03.log \[oracle@zdb002 \~\]$ cp /proc/12770/fd/259 /u01/app/oracle/oradata/orcl/redo02.log \[oracle@zdb002 \~\]$ cp /proc/12770/fd/258 /u01/app/oracle/oradata/orcl/redo01.log \[oracle@zdb002 \~\]$ cp /proc/12770/fd/257 /u01/app/oracle/oradata/orcl/control02.ctl \[oracle@zdb002 \~\]$ cp /proc/12770/fd/256 /u01/app/oracle/oradata/orcl/control01.ctl \[oracle@zdb002 orcl\]$ ls -l total 1470028 -rw-r-----. 1 oracle oinstall 9748480 Nov 13 12:54 control01.ctl -rw-r-----. 1 oracle oinstall 9748480 Nov 13 12:54 control02.ctl -rw-r-----. 1 oracle oinstall 52429312 Nov 13 12:54 redo01.log -rw-r-----. 1 oracle oinstall 52429312 Nov 13 12:54 redo02.log -rw-r-----. 1 oracle oinstall 52429312 Nov 13 12:54 redo03.log -rw-r-----. 1 oracle oinstall 513810432 Nov 13 12:54 sysaux01.dbf -rw-r-----. 1 oracle oinstall 775954432 Nov 13 12:54 system01.dbf -rw-r-----. 1 oracle oinstall 20979712 Nov 13 12:54 temp01.dbf -rw-r-----. 1 oracle oinstall 31465472 Nov 13 12:54 undotbs01.dbf -rw-r-----. 1 oracle oinstall 5251072 Nov 13 12:54 users01.dbf

还是显示delete,未使用复制文件

oracle@zdb002 \~\]$ ls -rtl /proc/12770/fd total 0 lrwx------. 1 oracle oinstall 64 Nov 13 12:52 9 -\> /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/hc_orcl.dat lr-x------. 1 oracle oinstall 64 Nov 13 12:52 8 -\> /dev/zero lr-x------. 1 oracle oinstall 64 Nov 13 12:52 7 -\> /proc/12770/fd/ lr-x------. 1 oracle oinstall 64 Nov 13 12:52 6 -\> /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/mesg/oraus.msb lr-x------. 1 oracle oinstall 64 Nov 13 12:52 5 -\> /dev/null lr-x------. 1 oracle oinstall 64 Nov 13 12:52 4 -\> /dev/null lr-x------. 1 oracle oinstall 64 Nov 13 12:52 3 -\> /dev/null lrwx------. 1 oracle oinstall 64 Nov 13 12:52 265 -\> /u01/app/oracle/oradata/orcl/temp01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 264 -\> /u01/app/oracle/oradata/orcl/users01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 263 -\> /u01/app/oracle/oradata/orcl/undotbs01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 262 -\> /u01/app/oracle/oradata/orcl/sysaux01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 261 -\> /u01/app/oracle/oradata/orcl/system01.dbf (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 260 -\> /u01/app/oracle/oradata/orcl/redo03.log (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 259 -\> /u01/app/oracle/oradata/orcl/redo02.log (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 258 -\> /u01/app/oracle/oradata/orcl/redo01.log (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 257 -\> /u01/app/oracle/oradata/orcl/control02.ctl (deleted) lrwx------. 1 oracle oinstall 64 Nov 13 12:52 256 -\> /u01/app/oracle/oradata/orcl/control01.ctl (deleted) l-wx------. 1 oracle oinstall 64 Nov 13 12:52 2 -\> /dev/null lr-x------. 1 oracle oinstall 64 Nov 13 12:52 11 -\> /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/mesg/oraus.msb lrwx------. 1 oracle oinstall 64 Nov 13 12:52 10 -\> /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/lkORCL l-wx------. 1 oracle oinstall 64 Nov 13 12:52 1 -\> /dev/null lr-x------. 1 oracle oinstall 64 Nov 13 12:52 0 -\> /dev/null

插入数据测试复制后是否会丢数据

SQL> insert into test values(3);

1 row created.

SQL> commit;

Commit complete.

SQL> select * from test;

X


1

2

3

SQL> insert into test values(4);

1 row created.

SQL> commit;

Commit complete.

SQL> select * from test;

X


1

2

3

4

重启数据库

SQL> shutdown immediate

ORA-03113: end-of-file on communication channel

SQL>

SQL> startup

ORACLE instance started.

Total System Global Area 1586708480 bytes

Fixed Size 2253624 bytes

Variable Size 973081800 bytes

Database Buffers 603979776 bytes

Redo Buffers 7393280 bytes

Database mounted.

Database opened.

后插入数据未出现

SQL> select * from test;

X


1

2

复制数据文件前需要停止业务,复制后产生的新数据不录入数据库。

由于测试全部删除数据文件,不涉及文件scn变化。

相关推荐
YYRAN_ZZU9 小时前
Petalinux新建自动脚本启动
linux
charlie1145141919 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
Agent手记9 小时前
异常考勤智能预警与处理与流程优化方案 | 基于企业级Agent的超自动化实战教程
运维·人工智能·ai·自动化
于小猿Sup9 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y9 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
不仙52011 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
AI视觉网奇11 小时前
linux 检索库 判断库是否支持
java·linux·服务器
dapeng-大鹏12 小时前
KVM+LVM 零停机在线扩容 Ubuntu 根分区:从磁盘添加到逻辑卷扩展完整
linux·运维·ubuntu·磁盘空间扩展
乐维_lwops12 小时前
案例解读|运维监控助力某大型卷烟厂构建高效运维监控体系
运维·运维案例
JiaWen技术圈12 小时前
网站用户注册行为验证码方案
运维·安全