测试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变化。

相关推荐
Lsir10110_12 小时前
【Linux】深入解剖页表——分页式存储
linux·运维·服务器
victory043112 小时前
服务器病毒处理记录
运维·服务器·chrome
爱吃生蚝的于勒12 小时前
【Linux】线程概念(一)
java·linux·运维·服务器·开发语言·数据结构·vim
风指引着方向12 小时前
昇腾 AI 开发生产力工具:CANN CLI 的高级使用与自动化脚本编写
运维·人工智能·自动化
fengyehongWorld12 小时前
Linux yq命令
linux·运维·服务器
weixin_4046793112 小时前
docker部署ollama
运维·docker·容器
岁岁种桃花儿12 小时前
Flink从入门到上天系列第一篇:搭建第一个Flink程序
大数据·linux·flink·数据同步
_OP_CHEN12 小时前
【Linux系统编程】(二十九)深度解密静态链接:从目标文件到可执行程序的底层魔法
linux·操作系统·链接·文件系统·c/c++·静态链接
草莓熊Lotso12 小时前
Qt 主窗口核心组件实战:菜单栏、工具栏、状态栏、浮动窗口全攻略
运维·开发语言·人工智能·python·qt·ui
RisunJan12 小时前
Linux命令-lprm(删除打印队列中任务)
linux·运维·服务器