标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 kfed MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-01110 ORA-01555 ORA-01578 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 2663 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (102)
- 数据库 (1,682)
- DB2 (22)
- MySQL (73)
- Oracle (1,544)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (159)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (7)
- Oracle ASM (67)
- Oracle Bug (8)
- Oracle RAC (53)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (28)
- Oracle备份恢复 (565)
- Oracle安装升级 (92)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (79)
- PostgreSQL (18)
- PostgreSQL恢复 (6)
- SQL Server (27)
- SQL Server恢复 (8)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (37)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (20)
-
最近发表
- 断电引起的ORA-08102: 未找到索引关键字, 对象号 39故障处理
- ORA-00227: corrupt block detected in control file
- 手工删除19c rac
- 解决oracle数据文件路径有回车故障
- .wstop扩展名勒索数据库恢复
- Oracle Recovery Tools工具一键解决ORA-00376 ORA-01110故障(文件offline)
- OGG-02771 Input trail file format RELEASE 19.1 is different from previous trail file form at RELEASE 11.2.
- OGG-02246 Source redo compatibility level 19.0.0 requires trail FORMAT 12.2 or higher
- GoldenGate 19安装和打patch
- dd破坏asm磁盘头恢复
- 删除asmlib磁盘导致磁盘组故障恢复
- Kylin Linux 安装19c
- ORA-600 krse_arc_complete.4
- Oracle 19c 202410补丁(RUs+OJVM)
- ntfs MFT损坏(ntfs文件系统故障)导致oracle异常恢复
- .mkp扩展名oracle数据文件加密恢复
- 清空redo,导致ORA-27048: skgfifi: file header information is invalid
- A_H_README_TO_RECOVER勒索恢复
- 通过alert日志分析客户自行对一个数据库恢复的来龙去脉和点评
- ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME
分类目录归档:Linux
Linux 8 修改网卡名称
在某些情况下,我们希望通过修改网卡的名称,从而避免应用层面的一些配置(比如oracle rac 网络从千兆换成万兆,我们直接把万兆网卡的名称修改和之前使用的网卡名称一致,集群层面不用做任何配置),这里做一个测试,验证在linux 8(redhat/oracle linux/Rocky/AlmaLinux/centos等)修改网卡名称可行性:
查看当前主机网卡名称情况(有两个网卡ens160和ens192)
[root@xifenfeidg network-scripts]# cat /etc/redhat-release Red Hat Enterprise Linux release 8.9 (Ootpa) [root@xifenfeidg network-scripts]# cat /etc/oracle-release Oracle Linux Server release 8.9 [root@xifenfeidg network-scripts]# ifconfig ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.118.141 netmask 255.255.255.0 broadcast 192.168.118.255 inet6 fe80::20c:29ff:fe2d:1c85 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:2d:1c:85 txqueuelen 1000 (Ethernet) RX packets 265118 bytes 392933574 (374.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 24828 bytes 1374591 (1.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.222.18 netmask 255.255.255.0 broadcast 192.168.222.255 inet6 fe80::20c:29ff:fe2d:1c8f prefixlen 64 scopeid 0x20<link> ether 00:0c:29:2d:1c:8f txqueuelen 1000 (Ethernet) RX packets 165 bytes 18748 (18.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 127 bytes 21755 (21.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 6403 bytes 648853 (633.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6403 bytes 648853 (633.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 52:54:00:ab:b4:34 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@xifenfeidg ~]# nmcli d s DEVICE TYPE STATE CONNECTION ens160 ethernet connected ens160 ens192 ethernet connected ens192 virbr0 bridge unmanaged -- lo loopback unmanaged -- [root@xifenfeidg ~]# cd /etc/sysconfig/network-scripts/ [root@xifenfeidg network-scripts]# ls ifcfg-ens160 ifcfg-ens192
尝试把ens160修改为ens191,删除ens160设备
[root@xifenfeidg network-scripts]# nmcli connection delete ens160 Connection 'ens160' (ae9669d8-3db3-424e-8a0e-41d8b05197d0) successfully deleted. [root@xifenfeidg network-scripts]# ifconfig ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 00:0c:29:2d:1c:85 txqueuelen 1000 (Ethernet) RX packets 291009 bytes 431437623 (411.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 27085 bytes 1499570 (1.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.222.18 netmask 255.255.255.0 broadcast 192.168.222.255 inet6 fe80::20c:29ff:fe2d:1c8f prefixlen 64 scopeid 0x20<link> ether 00:0c:29:2d:1c:8f txqueuelen 1000 (Ethernet) RX packets 193 bytes 21530 (21.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 156 bytes 27505 (26.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 6427 bytes 650593 (635.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6427 bytes 650593 (635.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 52:54:00:ab:b4:34 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@xifenfeidg network-scripts]# nmcli d s DEVICE TYPE STATE CONNECTION ens192 ethernet connected ens192 ens160 ethernet disconnected -- virbr0 bridge unmanaged -- lo loopback unmanaged --
增加ens191设备(注意mac地址使用之前ens160)
[root@xifenfeidg network-scripts]# nmcli connection add type ethernet con-name ens191 ifname ens191 mac 00:0c:29:2d:1c:85 Connection 'ens191' (62a5fd83-8dc9-407d-83cc-1327d400fa0b) successfully added. [root@xifenfeidg network-scripts]# [root@xifenfeidg network-scripts]# nmcli d s DEVICE TYPE STATE CONNECTION ens192 ethernet connected ens192 ens160 ethernet disconnected -- virbr0 bridge unmanaged -- lo loopback unmanaged --
重启主机
[root@xifenfeidg network-scripts]# reboot Activate the web console with: systemctl enable --now cockpit.socket Last login: Tue Sep 3 14:12:20 2024 from 192.168.222.1
重启之后登录主机查看网络信息(确认网卡名称从ens160修改为ens191)
[root@xifenfeidg ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens191: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:2d:1c:85 brd ff:ff:ff:ff:ff:ff altname enp3s0 inet 192.168.118.141/24 brd 192.168.118.255 scope global dynamic noprefixroute ens191 valid_lft 1788sec preferred_lft 1788sec inet6 fe80::30e4:c5bf:692a:2753/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:2d:1c:8f brd ff:ff:ff:ff:ff:ff altname enp11s0 inet 192.168.222.18/24 brd 192.168.222.255 scope global noprefixroute ens192 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe2d:1c8f/64 scope link valid_lft forever preferred_lft forever 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:ab:b4:34 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever [root@xifenfeidg ~]# cd /etc/sysconfig/network-scripts/ [root@xifenfeidg network-scripts]# ls -ltr total 8 -rw-r--r--. 1 root root 308 Jul 31 05:04 ifcfg-ens192 -rw-r--r--. 1 root root 300 Sep 3 14:16 ifcfg-ens191 [root@xifenfeidg network-scripts]# nmcli d s DEVICE TYPE STATE CONNECTION ens191 ethernet connected ens191 ens192 ethernet connected ens192 virbr0 bridge connected (externally) virbr0 lo loopback unmanaged --
Oracle误删除数据文件恢复
有客户通过sftp误删除oracle数据文件,咨询我们是否可以恢复,通过远程上去检查,发现运气不错,数据库还没有crash,通过句柄找到被删除文件
oracle@cwgstestdb[testwctdb]/proc/20611/fd$ls -ltr total 0 lr-x------ 1 oracle oinstall 64 Feb 20 14:03 9 -> /oracle/db19c/rdbms/mesg/oraus.msb lrwx------ 1 oracle oinstall 64 Feb 20 14:03 8 -> /oracle/db19c/dbs/lkTESTWCTDB lrwx------ 1 oracle oinstall 64 Feb 20 14:03 7 -> /oracle/db19c/dbs/hc_testwctdb.dat lr-x------ 1 oracle oinstall 64 Feb 20 14:03 6 -> /var/lib/sss/mc/passwd lr-x------ 1 oracle oinstall 64 Feb 20 14:03 5 -> /proc/20611/fd lr-x------ 1 oracle oinstall 64 Feb 20 14:03 4 -> /oracle/db19c/rdbms/mesg/oraus.msb lrwx------ 1 oracle oinstall 64 Feb 20 14:03 305 -> /oradata/ftms_zx_test01_data8.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 304 -> /oradata/ftms_zx_test01_data7.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 303 -> /oradata/ftms_zx_test01_data6.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 302 -> '/oradata/ftms_zx_test01_data5.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 301 -> '/oradata/ftms_zx_test01_data4.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 300 -> '/oradata/ftms_zx_test01_data3.dbf (deleted)' lr-x------ 1 oracle oinstall 64 Feb 20 14:03 3 -> /dev/null lrwx------ 1 oracle oinstall 64 Feb 20 14:03 299 -> '/oradata/ftms_zx_test01_data2.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 298 -> '/oradata/ftms_zx_test01_data1.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 297 -> '/oradata/ftms_zx_test01_data.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 296 -> /oradata/ftms_zx_test_data.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 295 -> '/oradata/TESTWCTDB/sd.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 294 -> /oradata/TESTWCTDB/ftms_cs3_jiamiceshi lrwx------ 1 oracle oinstall 64 Feb 20 14:03 293 -> /langchao/dumpdata/FTMS_CS_TDE.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 292 -> /oradata/ftms_zx_test01.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 291 -> /langchao/dumpdata/FTMS_CS_DATA4.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 290 -> '/oradata/ftms_zx_data5.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 289 -> /langchao/dumpdata/FTMS_CS_DATA3.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 288 -> /langchao/dumpdata/FTMS_CS_DATA2.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 287 -> /langchao/dumpdata/FTMS_JD_DATA2.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 286 -> '/oradata/LCBIPECDS _TEMP_DAT.DBF' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 285 -> '/oradata/rTB_MBFE_TEMP (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 284 -> '/oradata/TESTWCTDB/temp01.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 283 -> '/oradata/ftms_credit_data5.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 282 -> /oradata/ftmshtdata.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 281 -> '/oradata/dump_data/FTMS_CSBF_DATA.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 280 -> /langchao/dumpdata/FTMS_NEWBL2_DATA.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 279 -> /langchao/dumpdata/FTMS_CS_DATA.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 278 -> /oradata/LCBIPECDS_DAT.DBF lrwx------ 1 oracle oinstall 64 Feb 20 14:03 277 -> /oradata/rTB_MBFE lrwx------ 1 oracle oinstall 64 Feb 20 14:03 276 -> /oradata/udpcount_02.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 275 -> /oradata/udpcount_01.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 274 -> '/oradata/ftms_credit_data_6.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 273 -> /langchao/dumpdata/FTMS_JD_DATA.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 272 -> '/oradata/ftms_old.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 271 -> '/oradata/ftms_credit_data2.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 270 -> /langchao/dumpdata/PJDIP_DATA.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 269 -> '/oradata/ftms_credit_data.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 268 -> /langchao/dumpdata/FTMS_NEWBL_DATA.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 267 -> '/oradata/ftms_zx_data4.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 266 -> /langchao/dumpdata/QIANZHANG_DATA.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 265 -> '/oradata/ftms_zx_data3.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 264 -> '/oradata/ftms_zx_data2.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 263 -> '/oradata/ftms_zx_data.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 262 -> /langchao/dumpdata/FTMSDIP_DATA.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 261 -> /oradata/TESTWCTDB/users01.dbf lrwx------ 1 oracle oinstall 64 Feb 20 14:03 260 -> '/oradata/TESTWCTDB/undotbs01.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 259 -> '/oradata/TESTWCTDB/sysaux01.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 258 -> '/oradata/TESTWCTDB/system01.dbf (deleted)' lrwx------ 1 oracle oinstall 64 Feb 20 14:03 257 -> /oradata/TESTWCTDB/control02.ctl lrwx------ 1 oracle oinstall 64 Feb 20 14:03 256 -> /oradata/TESTWCTDB/control01.ctl l-wx------ 1 oracle oinstall 64 Feb 20 14:03 2 -> /dev/null lrwx------ 1 oracle oinstall 64 Feb 20 14:03 10 -> 'socket:[823411]' l-wx------ 1 oracle oinstall 64 Feb 20 14:03 1 -> /dev/null lr-x------ 1 oracle oinstall 64 Feb 20 14:03 0 -> /dev/null
查询数据文件大小(被删除的文件文件大小通过v$datafile查询为0)
SQL> select name,bytes/1024/1024/1024 from v$datafile; NAME BYTES/1024/1024/1024 -------------------------------------------------------------------------------- -------------------- /oradata/TESTWCTDB/system01.dbf 0 /oradata/TESTWCTDB/sysaux01.dbf 0 /oradata/TESTWCTDB/undotbs01.dbf 0 /oradata/TESTWCTDB/users01.dbf .004882813 /langchao/dumpdata/FTMSDIP_DATA.dbf 3 /oradata/ftms_zx_data.dbf 0 /oradata/ftms_zx_data2.dbf 0 /oradata/ftms_zx_data3.dbf 0 /langchao/dumpdata/QIANZHANG_DATA.dbf 5 /oradata/ftms_zx_data4.dbf 0 /langchao/dumpdata/FTMS_NEWBL_DATA.dbf 30 /oradata/ftms_credit_data.dbf 0 /langchao/dumpdata/PJDIP_DATA.dbf 20 /oradata/ftms_credit_data2.dbf 0 /oradata/ftms_old.dbf 0 /langchao/dumpdata/FTMS_JD_DATA.dbf 15 /oradata/ftms_credit_data_6.dbf 0 /oradata/udpcount_01.dbf 5 /oradata/udpcount_02.dbf 5 /oradata/rTB_MBFE .03125 /oradata/LCBIPECDS_DAT.DBF .5 /langchao/dumpdata/FTMS_CS_DATA.dbf 30 /langchao/dumpdata/FTMS_NEWBL2_DATA.dbf 30 /oradata/dump_data/FTMS_CSBF_DATA.dbf 0 /oradata/ftmshtdata.dbf .087890625 /oradata/ftms_credit_data5.dbf 0 /langchao/dumpdata/FTMS_JD_DATA2.dbf 3 /langchao/dumpdata/FTMS_CS_DATA2.dbf 31.9999847 /langchao/dumpdata/FTMS_CS_DATA3.dbf 10 /oradata/ftms_zx_data5.dbf 0 /langchao/dumpdata/FTMS_CS_DATA4.dbf 12.109375 /oradata/ftms_zx_test01.dbf 19.0527344 /langchao/dumpdata/FTMS_CS_TDE.dbf 1 /oradata/TESTWCTDB/ftms_cs3_jiamiceshi .029296875 /oradata/TESTWCTDB/sd.dbf 0 /oradata/ftms_zx_test_data.dbf .009765625 /oradata/ftms_zx_test01_data.dbf 0 /oradata/ftms_zx_test01_data1.dbf 0 /oradata/ftms_zx_test01_data2.dbf 0 /oradata/ftms_zx_test01_data3.dbf 0 /oradata/ftms_zx_test01_data4.dbf 0 /oradata/ftms_zx_test01_data5.dbf 0 /oradata/ftms_zx_test01_data6.dbf 12.5976563 /oradata/ftms_zx_test01_data7.dbf 9.08203125 /oradata/ftms_zx_test01_data8.dbf 6.25 45 rows selected.
把数据文件拷贝回来
cp /proc/20611/fd/302 /langchao/orabak/ cp /proc/20611/fd/301 /langchao/orabak/ cp /proc/20611/fd/300 /langchao/orabak/ cp /proc/20611/fd/299 /langchao/orabak/ cp /proc/20611/fd/298 /langchao/orabak/ cp /proc/20611/fd/297 /langchao/orabak/ cp /proc/20611/fd/295 /langchao/orabak/ cp /proc/20611/fd/290 /langchao/orabak/ cp /proc/20611/fd/285 /langchao/orabak/ cp /proc/20611/fd/284 /langchao/orabak/ cp /proc/20611/fd/283 /langchao/orabak/ cp /proc/20611/fd/281 /langchao/orabak/ cp /proc/20611/fd/274 /langchao/orabak/ cp /proc/20611/fd/272 /langchao/orabak/ cp /proc/20611/fd/271 /langchao/orabak/ cp /proc/20611/fd/269 /langchao/orabak/ cp /proc/20611/fd/267 /langchao/orabak/ cp /proc/20611/fd/265 /langchao/orabak/ cp /proc/20611/fd/264 /langchao/orabak/ cp /proc/20611/fd/263 /langchao/orabak/ cp /proc/20611/fd/260 /langchao/orabak/ cp /proc/20611/fd/259 /langchao/orabak/ cp /proc/20611/fd/258 /langchao/orabak/
由于涉及system表空间数据文件被删除,无法在open情况下直接操作,直接关闭数据库,启动到mount状态,重命名数据文件路径,recover数据文件,open库,恢复完成
参考以前类似恢复:
Solaris rm datafile recovery—利用句柄误删除数据文件恢复
如果数据库已经关闭,需要考虑以下类似恢复方式:
dbca删除库和rm删库恢复
记录一次rm -rf 删除数据文件异常恢复
ssd trim导致fdisk格式化磁盘之后无法恢复
8个节点的rac,有一个节点有点问题,重装系统的时候,没有选择任何磁盘
结果发现该机器上的所有磁盘都被分区并且加入到centos的vg中了,导致另外7个节点的asm disk的所有磁盘全部异常,磁盘组无法正常mount,在以前正常的rac节点上pvs扫描发现如下结果
对原asm disk(现在被分区加入到vg中的磁盘)进行分析发现所有的ssd磁盘被的以前记录被置空,机械磁盘的数据正常,机械磁盘kfed看到的记录
[root@xxxrac5 oracle]# kfed read /dev/mapper/hdisk60 aun=2 aus=4096k kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 3 ; 0x002: KFBTYP_ALLOCTBL kfbh.datfmt: 2 ; 0x003: 0x02 kfbh.block.blk: 2048 ; 0x004: blk=2048 kfbh.block.obj: 2147483682 ; 0x008: disk=34 kfbh.check: 2349679586 ; 0x00c: 0x8c0d43e2 kfbh.fcn.base: 998219 ; 0x010: 0x000f3b4b kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfdatb.aunum: 916608 ; 0x000: 0x000dfc80 ……………… kfdate[446].free.hi: 0 ; 0xe1c: S=0 V=0 L=0 ASZM=0x0 S=0 kfdate[447].discriminator: 0 ; 0xe20: 0x00000000 kfdate[447].free.lo.next: 0 ; 0xe20: 0x0000 kfdate[447].free.lo.prev: 0 ; 0xe22: 0x0000 kfdate[447].free.hi: 0 ; 0xe24: S=0 V=0 L=0 ASZM=0x0 S=0
分析ssd磁盘的记录情况,发现磁盘中记录全部被置空
[root@xxxrac5 oracle]# kfed read /dev/mapper/ssdisk30 aun=2 aus=4096k kfbh.endian: 0 ; 0x000: 0x00 kfbh.hard: 0 ; 0x001: 0x00 kfbh.type: 0 ; 0x002: KFBTYP_INVALID kfbh.datfmt: 0 ; 0x003: 0x00 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 0 ; 0x008: file=0 kfbh.check: 0 ; 0x00c: 0x00000000 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 000800000 00000000 00000000 00000000 00000000 [................] Repeat 255 times KFED-00322: invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0] [root@xxxrac5 oracle]# kfed read /dev/mapper/ssdisk30 aun=11 aus=4096k kfbh.endian: 0 ; 0x000: 0x00 kfbh.hard: 0 ; 0x001: 0x00 kfbh.type: 0 ; 0x002: KFBTYP_INVALID kfbh.datfmt: 0 ; 0x003: 0x00 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 0 ; 0x008: file=0 kfbh.check: 0 ; 0x00c: 0x00000000 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 002C00000 00000000 00000000 00000000 00000000 [................] Repeat 255 times KFED-00322: invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0] [root@xxxrac5 oracle]# kfed read /dev/mapper/ssdisk30 aun=100 kfbh.endian: 0 ; 0x000: 0x00 kfbh.hard: 0 ; 0x001: 0x00 kfbh.type: 0 ; 0x002: KFBTYP_INVALID kfbh.datfmt: 0 ; 0x003: 0x00 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 0 ; 0x008: file=0 kfbh.check: 0 ; 0x00c: 0x00000000 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 006400000 00000000 00000000 00000000 00000000 [................] Repeat 255 times KFED-00322: invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0] [root@xxxrac5 oracle]# kfed read /dev/mapper/ssdisk30 aun=1000 kfbh.endian: 0 ; 0x000: 0x00 kfbh.hard: 0 ; 0x001: 0x00 kfbh.type: 0 ; 0x002: KFBTYP_INVALID kfbh.datfmt: 0 ; 0x003: 0x00 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 0 ; 0x008: file=0 kfbh.check: 0 ; 0x00c: 0x00000000 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 03E800000 00000000 00000000 00000000 00000000 [................] Repeat 255 times KFED-00322: invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0] [root@xxxrac5 oracle]# kfed read /dev/mapper/ssdisk30 aun=10000 kfbh.endian: 0 ; 0x000: 0x00 kfbh.hard: 0 ; 0x001: 0x00 kfbh.type: 0 ; 0x002: KFBTYP_INVALID kfbh.datfmt: 0 ; 0x003: 0x00 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 0 ; 0x008: file=0 kfbh.check: 0 ; 0x00c: 0x00000000 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 271000000 00000000 00000000 00000000 00000000 [................] Repeat 255 times KFED-00322: invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0] [root@xxxrac5 oracle]# kfed read /dev/mapper/ssdisk30 aun=100000 kfbh.endian: 0 ; 0x000: 0x00 kfbh.hard: 0 ; 0x001: 0x00 kfbh.type: 0 ; 0x002: KFBTYP_INVALID kfbh.datfmt: 0 ; 0x003: 0x00 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 0 ; 0x008: file=0 kfbh.check: 0 ; 0x00c: 0x00000000 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 186A000000 00000000 00000000 00000000 00000000 [................] Repeat 255 times KFED-00322: invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0] [root@xxxrac5 oracle]# kfed read /dev/mapper/ssdisk30 aun=100000 kfbh.endian: 0 ; 0x000: 0x00 kfbh.hard: 0 ; 0x001: 0x00 kfbh.type: 0 ; 0x002: KFBTYP_INVALID kfbh.datfmt: 0 ; 0x003: 0x00 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 0 ; 0x008: file=0 kfbh.check: 0 ; 0x00c: 0x00000000 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 186A000000 00000000 00000000 00000000 00000000 [................] Repeat 255 times KFED-00322: invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]
dd ssd磁盘100M数据压缩前后大小比较(压缩之后只有150kb左右,除了分区和lv信息之外其他全部是0)
通过linux命令查看磁盘是否是为ssd(cat /sys/block/sdfr/queue/rotational为1表示机械磁盘,0表示ssd磁盘)
hdisk66 (360060e8007c550000030c55000000223) dm-66 HITACHI ,OPEN-V size=2.0T features='0' hwhandler='0' wp=rw `-+- policy='service-time 0' prio=1 status=active |- 10:0:1:4 sdfr 130:208 active ready running |- 7:0:0:4 sds 65:32 active ready running |- 8:0:1:4 sdu 65:64 active ready running `- 9:0:1:4 sdx 65:112 active ready running ssdisk58 (26e8d69b6480c854f6c9ce90091cfe58e) dm-22 Nimble ,Server size=2.0T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw |-+- policy='round-robin 0' prio=50 status=active | `- 7:0:1:48 sdfu 131:0 active ready running `-+- policy='round-robin 0' prio=1 status=enabled `- 10:0:0:48 sdek 128:192 active ghost running ssdisk43 (2e0e493e08cfd75996c9ce90091cfe58e) dm-8 Nimble ,Server size=2.0T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw |-+- policy='round-robin 0' prio=50 status=active | `- 7:0:1:35 sdev 129:112 active ready running `-+- policy='round-robin 0' prio=1 status=enabled `- 10:0:0:35 sddj 71:16 active ghost running ssdisk60 (2696bc3246f81fb116c9ce90091cfe58e) dm-34 Nimble ,Server size=2.0T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw |-+- policy='round-robin 0' prio=50 status=active | `- 7:0:1:59 sdgq 132:96 active ready running `-+- policy='round-robin 0' prio=1 status=enabled `- 10:0:0:59 sdfg 130:32 active ghost running ssdisk08 (2629f870548db01a76c9ce90091cfe58e) dm-35 Nimble ,Server size=2.0T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw |-+- policy='round-robin 0' prio=50 status=active | `- 7:0:1:6 sdcq 69:224 active ready running `-+- policy='round-robin 0' prio=1 status=enabled `- 10:0:0:6 sdz 65:144 active ghost running [root@odsrac5 oracle]# cat /sys/block/sdcq/queue/rotational 0 [root@odsrac5 oracle]# cat /sys/block/sdcu/queue/rotational 0 [root@odsrac5 oracle]# cat /sys/block/sdfr/queue/rotational 1
出现该问题是由于ssd盘的trim操作导致,相关知识补充:TRIM(SATA), Deallocate(NVMe), UNMAP(SCSI)指的是同一类指令,都是为了减少不必要的数据搬移。
原因:
在文件系统中,删除文件并没有真正的删除物理的数据,只是清空了记录表。而此时,对SSD来说,它并不知道文件已经被删除了,只有下次覆写的时候,SSD才能发现之前被删除的文件对应的page是无效的,从而启动GC。然而,如果在此之前发生了GC等数据搬移动作,无效的page仍然会被当做是有效的。重新磁盘分区,重建文件系统也可能触发类似操作
作用:
Trim 只是一个指令,它让操作系统通知 SSD 主控某个页的数据已经‘无效’后,任务就已完成,并没有更多的操作。TRIM 的先进性在于它可以让固态硬盘在进行垃圾回收的时候跳过移动无用数据的过程,从而不再用重新写入这些无用的数据,达到节省时间的目的。