当前位置: 首页 > news >正文

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

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

http://www.jsqmd.com/news/71950/

相关文章:

  • 2025年昆明智慧农贸集市解决方案TOP5推荐,看哪家值得信 - mypinpai
  • 2025年广东到印度物流专线机构推荐榜单:广东到印度专线的公司‌/广东到印度物流公司‌/广东到印度货代公司源头机构精选 - 品牌推荐官
  • 微信和支付宝立减金回收哪家强?两大平台全解析 - 讯息观点
  • Old-Java多线程随笔
  • 2025年快递包装纸箱直销厂家推荐榜单:食品包装纸箱‌/家具包装纸箱‌/化工包装纸箱源头厂家精选 - 品牌推荐官
  • 2025年中国诚信的推广公司五大排名:靠谱的推广公司有哪些? - mypinpai
  • π聪明-RAG
  • 2025年郑州五大资深中职教育机构推荐:诚信的中职教育机构有 - myqiye
  • 射频测试线缆选型指南:从理论到实践
  • 大型企业ITSM国产化替换,为何首选燕千云?
  • 2025年热门的装饰装修设计/别墅装修设计专家推荐榜 - 品牌宣传支持者
  • 2025年湖南酒店装修公司排名,工装装修公司哪家口碑好? - 工业品牌热点
  • 栈溢出原来是这么回事,终于学会了!
  • 2025年靠谱的pert塑料管材设备厂家推荐及选择参考 - 品牌宣传支持者
  • 实验室流化床设备/装备优质头部厂家排名,推荐品牌 - 品牌推荐大师
  • 全自动总磷总氮分析仪/全自动氨氮分析仪/全自动余氯总氯分析仪厂家推荐:这家品牌性价比高口碑好(2025年版本) - 品牌推荐大师1
  • Ansible 基础安装与负载均衡部署实践
  • 2025年评价高的水性油墨/印刷油墨厂家选购指南与推荐 - 行业平台推荐
  • wpf 裁剪图片并保存
  • 2025年评价高的隧道炉红外加热型行业内知名厂家排行榜 - 品牌宣传支持者
  • windriver 第14章 USB高级功能
  • 敏感肌修护精华天花板对决:2025 年末 7 大热门精华深度测评与避坑攻略 - 速递信息
  • 宁夏银川GeoAi搜索优化公司最新权威排名榜单必读
  • 2025北京比较好的留学中介机构 - 留学品牌推荐官
  • 2025年质量好的现场机加工激光测量超声波测量实力厂家TOP推荐榜 - 行业平台推荐
  • windriver 第13章:创建内核插件驱动程序
  • 2025年质量好的玻璃阳光房用户口碑最好的厂家榜 - 品牌宣传支持者
  • 2025北京出国留学中介前十名 - 留学品牌推荐官
  • 2025年口碑好的净化间回收品牌公司排名,净化间回收公司TO - mypinpai
  • 2025北京好的留学中介 - 留学品牌推荐官