标签云
asm恢复 bbed bootstrap$ dul kcbzib_kcrsds_1 kccpb_sanity_check_2 kcratr_nab_less_than_odr MySQL恢复 obet ORA-00312 ORA-00704 ORA-00742 ORA-01110 ORA-01200 ORA-01555 ORA-01578 ORA-01595 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-600 kcratr_nab_less_than_odr 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 比特币加密文章分类
- MongoDB (1)
- MongoDB恢复 (1)
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (112)
- 数据库 (1,884)
- DB2 (22)
- MySQL (82)
- Oracle (1,709)
- Data Guard (53)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (168)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (73)
- Oracle Bug (8)
- Oracle RAC (56)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (662)
- Oracle安装升级 (108)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (91)
- PostgreSQL (37)
- pdu工具 (7)
- PostgreSQL恢复 (13)
- SQL Server (34)
- SQL Server恢复 (14)
- TimesTen (7)
- 达梦数据库 (5)
- 达梦恢复 (3)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (51)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (34)
- MongoDB (1)
-
最近发表
- 记录19c ASM磁盘掉线触发ORA-59048故障处理
- aix平台Oracle数据库由于断电无法启动故障处理
- 断电引起ORA-600 3005故障处理
- 记录一次云存储资源到期之后引起的数据库恢复
- Firebird 损坏数据库数据抢救工具—firebirdext
- Oracle 19c 202610补丁(RUs+OJVM)-19.33
- 由于con$.con#值达到极限,触发数据库增加约束报ORA-600 12807错误
- MongoDB 离线提取工具—mongoext
- .bres勒索病毒加密数据库dmp文件可恢复
- ORA-600 krsm_mrp_rebuild_lf_list.lno_mismatch
- 记录一次0丢失的ORA-00354: 损坏重做日志块标头故障恢复
- 不当数据库恢复操作导致一个月数据丢失
- obet快速修复oracle 位图损坏块
- 不太常见的10.2.0.1的oracle redo损坏恢复
- obet forcecopy功能抢救硬件故障中的数据文件
- kcratr_nab_less_than_odr和system坏块故障处理
- 通过obet 恢复system坏块,打开数据库
- obet dbv功能完整说明
- 分享一例运行在aix上的sap系统数据库恢复过程
- OBET-Oracle Block Editor Tool使用说明
分类目录归档:操作系统
Solaris rm datafile recovery—利用句柄误删除数据文件恢复
今天早上接到有客户恢复请求,他一不小心在solaris系统中使用rm -rf oradata命令把一个分区下面的所有数据文件全部删除了。现在不知道怎么办,请求我们给予支持.上去检查发现比较幸运,数据库没有crash,看来直接考虑使用句柄进行恢复
root@CNISORCLSVR # uname -a
SunOS CNISORCLSVR 5.9 Generic_112233-08 sun4u sparc SUNW,Sun-Fire-880
root@CNISORCLSVR # ps -ef|grep lgwr
oracle 597 1 0 Mar 05 ? 17:14 ora_lgwr_xifenfei
root 28069 28043 0 18:51:17 pts/2 0:00 grep lgwr
root@CNISORCLSVR # ls -ltr
total 189348454
-r--r--r-- 1 oracle dba 657920 Apr 26 2002 12
c--------- 1 root sys 13, 12 Mar 27 2004 8
c--------- 1 root sys 13, 12 Mar 27 2004 10
-rw-r----- 0 oracle dba 34359730176 Nov 12 2013 291
-rw-r----- 0 oracle dba 1073750016 Nov 13 2013 293
D--------- 1 root root 0 Mar 5 19:31 11
-rw-r----- 1 oracle dba 1758 Mar 5 22:04 9
-rw-rw---- 1 oracle dba 24 Mar 5 22:04 13
s--------- 0 root root 0 Mar 8 00:45 14
-rw-r----- 1 oracle dba 1887444992 Mar 12 03:27 289
-rw-r----- 1 oracle dba 943726592 Mar 12 11:17 290
-rw-r----- 0 oracle dba 4294975488 Mar 13 00:09 292
-rw-r----- 0 oracle dba 268443648 Mar 13 01:33 288
-rw-r----- 0 oracle dba 536879104 Mar 13 01:33 279
-rw-r----- 1 oracle dba 134225920 Mar 13 01:33 278
-rw-r----- 0 oracle dba 134225920 Mar 13 01:33 269
-rw-r----- 1 oracle dba 268443648 Mar 13 01:33 267
-rw-r----- 1 oracle dba 148119552 Mar 13 01:33 266
-rw-r----- 1 oracle dba 10493952 Mar 13 01:33 265
-rw-r----- 1 oracle dba 26222592 Mar 13 01:33 264
-rw-r----- 1 oracle dba 62922752 Mar 13 01:33 263
-rw-r----- 1 oracle dba 20979712 Mar 13 01:33 262
-rw-r----- 0 oracle dba 134225920 Mar 13 01:33 287
-rw-r----- 1 oracle dba 209723392 Mar 13 01:33 285
-rw-r----- 0 oracle dba 536879104 Mar 13 01:33 283
-rw-r----- 1 oracle dba 67117056 Mar 13 01:33 282
-rw-r----- 0 oracle dba 536879104 Mar 13 01:33 281
-rw-r----- 0 oracle dba 536879104 Mar 13 01:33 280
-rw-r----- 0 oracle dba 536879104 Mar 13 01:33 276
-rw-r----- 0 oracle dba 1073750016 Mar 13 01:33 275
-rw-r----- 0 oracle dba 2214600704 Mar 13 01:33 274
-rw-r----- 0 oracle dba 134225920 Mar 13 01:33 273
-rw-r----- 0 oracle dba 536879104 Mar 13 01:33 272
c--------- 1 root sys 13, 2 Mar 13 02:00 5
c--------- 1 root sys 13, 2 Mar 13 02:00 4
c--------- 1 root sys 13, 2 Mar 13 02:00 3
c--------- 1 root sys 13, 2 Mar 13 02:00 2
c--------- 1 root sys 13, 2 Mar 13 02:00 1
c--------- 1 root sys 13, 2 Mar 13 02:00 0
--w------- 1 oracle dba 4640842 Mar 13 04:43 7
--w------- 1 oracle dba 4640842 Mar 13 04:43 6
-rw-r----- 0 oracle dba 1207967744 Mar 13 18:21 271
-rw-r----- 0 oracle dba 15929974784 Mar 13 18:39 284
-rw-r----- 0 oracle dba 134225920 Mar 13 18:45 277
-rw-r----- 0 oracle dba 2122326016 Mar 13 18:46 286
-rw-r----- 0 oracle dba 9261031424 Mar 13 18:47 270
-rw-r----- 0 oracle dba 18253619200 Mar 13 18:47 268
-rw-r----- 1 oracle dba 134225920 Mar 13 18:51 261
-rw-r----- 1 oracle dba 524296192 Mar 13 18:51 260
-rw-r----- 1 oracle dba 104858112 Mar 13 18:52 259
-rw-r----- 1 oracle dba 1941504 Mar 13 18:52 258
-rw-r----- 1 oracle dba 1941504 Mar 13 18:52 257
-rw-r----- 1 oracle dba 1941504 Mar 13 18:52 256
SQL> select file#,name from v$datafile wehre name like '/disk%';
FILE# NAME
---------- --------------------------------------------------
9 /disk/oradata/xifenfei/xifenfei.dbf
10 /disk/oradata/xifenfei/CSSN.dbf
11 /disk/oradata/xifenfei/NCSSN.dbf
12 /disk/oradata/xifenfei/CSIC_RDS.dbf
13 /disk/oradata/xifenfei/CSIC_CSSN.dbf
14 /disk/oradata/xifenfei/CNIS_I.dbf
15 /disk/oradata/xifenfei/CNIS.dbf
16 /disk/oradata/xifenfei/TRSWCM6_CSSN.dbf
17 /disk/oradata/xifenfei/TRSWCM6_CSSN_PLUGINS.dbf
18 /disk/oradata/xifenfei/DIGIREF.dbf
20 /disk/oradata/xifenfei/TRSWCM.dbf
21 /disk/oradata/xifenfei/TRSWCM52_NSLC.dbf
22 /disk/oradata/xifenfei/TRSWCM52_PLUGINS_NSLC.dbf
24 /disk/oradata/xifenfei/TRSWCM_PLUGINS.dbf
25 /disk/oradata/xifenfei/CNIS_ALL.dbf
27 /disk/oradata/xifenfei/undotbs01.dbf
28 /disk/oradata/xifenfei/TRS_IDS02.dbf
29 /disk/oradata/xifenfei/xdb02.dbf
在solaris中比较郁闷,虽然进入了fd目录,但是无法知道哪些文件句柄是删除,哪些是正常的,因此没有办法,只能使用lsof进一步分析
root@CNISORCLSVR # pkgadd -d lsof-4.80-sol9-sparc-local
The following packages are available:
1 IBMlsof lsof
(sparc) 4.80
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: all
Processing package instance <IBMlsof> from </tmp/lsof-4.80-sol9-sparc-local>
lsof
(sparc) 4.80
Vic Abell
Using </usr/local> as the package base directory.
## Processing package information.
## Processing system information.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
The following files are already installed on the system and are being
used by another package:
* /usr/local/bin <attribute change only>
* - conflict with a file which does not belong to any package.
Do you want to install these conflicting files [y,n,?,q] y
## Checking for setuid/setgid programs.
The following files are being installed with setuid and/or setgid
permissions:
/usr/local/bin/lsof <setgid sys>
/usr/local/bin/sparcv7/lsof <setgid sys>
/usr/local/bin/sparcv9/lsof <setgid sys>
Do you want to install these as setuid/setgid files [y,n,?,q] y
Installing lsof as <IBMlsof>
## Installing part 1 of 1.
/usr/local/bin/lsof
/usr/local/bin/sparcv7/lsof
/usr/local/bin/sparcv9/lsof
/usr/local/doc/lsof/00.README.FIRST
/usr/local/doc/lsof/00CREDITS
/usr/local/doc/lsof/00DCACHE
/usr/local/doc/lsof/00DIALECTS
/usr/local/doc/lsof/00DIST
/usr/local/doc/lsof/00FAQ
/usr/local/doc/lsof/00LSOF-L
/usr/local/doc/lsof/00MANIFEST
/usr/local/doc/lsof/00PORTING
/usr/local/doc/lsof/00QUICKSTART
/usr/local/doc/lsof/00README
/usr/local/doc/lsof/00TEST
/usr/local/doc/lsof/00XCONFIG
/usr/local/doc/lsof/lsof.man
/usr/local/man/man8/lsof.8
[ verifying class <none> ]
Installation of <IBMlsof> was successful.
root@CNISORCLSVR # ./lsof -p 597
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
oracle 597 oracle cwd VDIR 85,5 2048 106299 /export/home/oracle/app/product/9.2.0/dbs
oracle 597 oracle txt VREG 85,5 61272672 2332 /export/home/oracle/app/product/9.2.0/bin/oracle
…………
oracle 597 oracle 260u VREG 85,5 524296192 106517 /export/home/oracle/oradata/xifenfei/system01.dbf
oracle 597 oracle 261u VREG 85,5 134225920 106518 /export/home/oracle/oradata/xifenfei/undotbs01.dbf
…………
oracle 597 oracle 268u VREG 118,70 18253619200 109 /disk (/dev/dsk/c2t600A0B800029CEFA0000036C491B270Bd0s6)
oracle 597 oracle 269u VREG 118,70 134225920 110 /disk (/dev/dsk/c2t600A0B800029CEFA0000036C491B270Bd0s6)
oracle 597 oracle 270u VREG 118,70 9261031424 111 /disk (/dev/dsk/c2t600A0B800029CEFA0000036C491B270Bd0s6)
…………
oracle 597 oracle 293u VREG 118,70 1073750016 14 /disk (/dev/dsk/c2t600A0B800029CEFA0000036C491B270Bd0s6)
到这一步,基本上定位/disk部分是我们需要恢复的数据,从而可以定位到句柄,然后结合数据文件信息,直接使用cp命令恢复出来文件.然后数据库层面recover并且online.
cd /proc/597/fd cp 269 /disk/oradata/cnisora2/CSSN.dbf chown oracle:dba /disk/oradata/xifenfei/CSSN.dbf SQL> recover datafile 10; ORA-00283: 恢复会话因错误而取消 ORA-01124: 无法恢复数据文件 10 - 文件在使用中或在恢复中 ORA-01110: 数据文件 10: '/disk/oradata/xifenfei/CSSN.dbf' SQL> alter database datafile 10 offline; 数据库已更改。 SQL> recover datafile 10; 完成介质恢复。 SQL> alter database datafile 10 online; 数据库已更改。
至此基本上恢复完成,万幸是数据库没有crash,遇到此类问题,千万不要盲目关闭数据库.另外数据库备份重于一切
Linux 7 新命令之—lscpu和systemctl
redhat 7 系列发布已经有一段时间了,最近抽时间看了下官方文档,对比了一些命令,对于其中比较关注的进行了记录,本篇主要是列出来了服务的管理改进,引进了systemctl管理和一个非常方便看cpu信息的命令lscpu
系统版本
[root@em12cdb ~]# uname -a Linux em12cdb 3.8.13-55.1.6.el7uek.x86_64 #2 SMP Wed Feb 11 14:18:22 PST 2015 x86_64 x86_64 x86_64 GNU/Linux [root@em12cdb ~]# more /etc/oracle-release Oracle Linux Server release 7.1
查看cpu信息
[root@em12cdb ~]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 60 Model name: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz Stepping: 3 CPU MHz: 3997.739 BogoMIPS: 7995.47 Hypervisor vendor: VMware Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 8192K NUMA node0 CPU(s): 0,1
systemctl命令管理服务和开机启动
以前主要是通过/etc/init.d/或者service命令管理服务,通过chkconfig管理是否开机启动
--查看某个服务状态
[root@em12cdb ~]# systemctl status crond.service
crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
Active: active (running) since Mon 2015-07-27 11:59:16 CST; 1 months 7 days ago
Main PID: 1245 (crond)
CGroup: /system.slice/crond.service
└─1245 /usr/sbin/crond -n
Jul 27 11:59:16 em12cdb systemd[1]: Started Command Scheduler.
Jul 27 11:59:16 em12cdb crond[1245]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 33% if used.)
Jul 27 11:59:17 em12cdb crond[1245]: (CRON) INFO (running with inotify support)
--停止某个服务
[root@em12cdb ~]# systemctl stop crond.service
[root@em12cdb ~]# systemctl status crond.service
crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
Active: inactive (dead) since Thu 2015-09-03 00:27:55 CST; 2s ago
Main PID: 1245 (code=exited, status=0/SUCCESS)
Jul 27 11:59:16 em12cdb systemd[1]: Started Command Scheduler.
Jul 27 11:59:16 em12cdb crond[1245]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 33% if used.)
Jul 27 11:59:17 em12cdb crond[1245]: (CRON) INFO (running with inotify support)
Sep 03 00:27:55 em12cdb systemd[1]: Stopping Command Scheduler...
Sep 03 00:27:55 em12cdb systemd[1]: Stopped Command Scheduler.
--启动某个服务
[root@em12cdb ~]# systemctl start crond.service
[root@em12cdb ~]# systemctl status crond.service
crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
Active: active (running) since Thu 2015-09-03 00:28:08 CST; 1s ago
Main PID: 7294 (crond)
CGroup: /system.slice/crond.service
└─7294 /usr/sbin/crond -n
Sep 03 00:28:08 em12cdb systemd[1]: Started Command Scheduler.
Sep 03 00:28:08 em12cdb crond[7294]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 56% if used.)
Sep 03 00:28:09 em12cdb crond[7294]: (CRON) INFO (running with inotify support)
Sep 03 00:28:09 em12cdb crond[7294]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
--重启某个服务
[root@em12cdb ~]# systemctl restart crond.service
[root@em12cdb ~]# systemctl status crond.service
crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
Active: active (running) since Thu 2015-09-03 00:28:24 CST; 2s ago
Main PID: 7323 (crond)
CGroup: /system.slice/crond.service
└─7323 /usr/sbin/crond -n
Sep 03 00:28:24 em12cdb systemd[1]: Starting Command Scheduler...
Sep 03 00:28:24 em12cdb systemd[1]: Started Command Scheduler.
Sep 03 00:28:24 em12cdb crond[7323]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 61% if used.)
Sep 03 00:28:24 em12cdb crond[7323]: (CRON) INFO (running with inotify support)
Sep 03 00:28:24 em12cdb crond[7323]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
--检查某个服务是否开机启动
[root@em12cdb ~]# systemctl is-enabled crond.service
enabled
--禁止某个服务开机启动
[root@em12cdb ~]# systemctl disable crond.service
rm '/etc/systemd/system/multi-user.target.wants/crond.service'
[root@em12cdb ~]# systemctl is-enabled crond.service
disabled
--查看所有服务开机启动情况(这里使用了grep便于说明)
[root@em12cdb ~]# systemctl list-unit-files --type service|grep cron
crond.service disabled
[root@em12cdb ~]# systemctl enable crond.service
ln -s '/usr/lib/systemd/system/crond.service' '/etc/systemd/system/multi-user.target.wants/crond.service'
[root@em12cdb ~]# systemctl list-unit-files --type service|grep cron
crond.service enabled

systemctl命令修改启动模式
以前版本中,直接通过vi修改/etc/inittab文件
--多用户图形界面 [root@em12cdb ~]# systemctl get-default graphical.target --多用户字符界面 [root@em12cdb ~]# systemctl set-default multi-user.target rm '/etc/systemd/system/default.target' ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target' [root@em12cdb ~]# systemctl get-default multi-user.target

通过Administration Assistant for Windows配置win服务和实例关联性
在一些win系统的Oracle数据库中,大家都知道,Oracle启动前需要先启动服务,但是偶尔还有这两种需求:
1. 启动Oracle实例服务,但是不想启动数据库实例(特别是在有些情况下,数据库因为某种错误一启动到open直接报错,可能导致系统僵死
2. 在主机关闭或者服务关闭(重启)之时,希望数据库能够正常关闭后,而不是直接终止实例.
由于win平台的特殊性,Oracle也对其进行了特殊处理,提供了专门的工具(Administration Assistant for Windows)处理此类问题:
启动Administration Assistant for Windows

选择需要配置的数据库服务
右键选择启动/关闭选项
配置服务启动时是否启动数据库实例
配置服务关闭时是否关闭数据库以及关闭数据库的方式
通过上述类似配置可以控制在Oracle服务启动之时实例是否启动,在Oracle服务关闭之时实例是否关闭(以及关闭的方式),建议配置在关闭服务之时,使用immediate(立即关闭)方式关闭数据库,确保数据库安全

加我微信(17813235971)
加我QQ(107644445)

