标签云
asm 恢复 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 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)
- 操作系统 (100)
- 数据库 (1,589)
- DB2 (22)
- MySQL (70)
- Oracle (1,459)
- Data Guard (49)
- EXADATA (7)
- GoldenGate (21)
- ORA-xxxxx (158)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (13)
- ORACLE 21C (3)
- Oracle ASM (65)
- Oracle Bug (7)
- Oracle RAC (47)
- Oracle 安全 (6)
- Oracle 开发 (27)
- Oracle 监听 (27)
- Oracle备份恢复 (526)
- Oracle安装升级 (83)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (75)
- PostgreSQL (13)
- PostgreSQL恢复 (3)
- SQL Server (27)
- SQL Server恢复 (8)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (36)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (19)
-
最近发表
- ORA-00600: internal error code, arguments: [16703], [1403], [4] 原因
- 最近遇到几起ORA-600 16703故障(tab$被清空),请引起重视
- ORA-600 2662快速恢复之Patch scn工具
- TNS-12518: TNS:listener could not hand off client connection
- ora.storage无法启动报ORA-12514故障处理
- 断电引起文件scn异常数据库恢复
- ORA-16188: LOG_ARCHIVE_CONFIG settings inconsistent with previously started instance
- .[hudsonL@cock.li].mkp勒索加密数据库完美恢复
- 模拟带库实现rman远程备份
- 又一例:ORA-600 kclchkblk_4和2662故障
- Oracle误删除数据文件恢复
- Oracle 19C 备库DML重定向—DML Redirection
- ORA-01595/ORA-600 4194处理
- 从ORA-00283 ORA-16433报错开始恢复
- 近期又遇到ORA-600 16703和ORA-702故障
- RECOVER_YOUR_DATA勒索恢复
- ORA-01033: ORACLE initialization or shutdown in progress 故障处理
- Oracle 19c/21c最新patch信息-202401
- 存储故障,强制拉库报ORA-600 kcbzib_kcrsds_1处理
- ORA-600 kcrf_resilver_log_1故障处理
月归档:十月 2011
ggsci: error while loading shared libraries
在部署goldengate过程中发现如下错误:
[oracle@localhost OGG]$ ggsci
ggsci: error while loading shared libraries: /opt/oracle/product/10.2.0/db_1/lib/libclntsh.so.10.1: cannot restore segment prot after reloc: Permission denied
查找资料,没有专门说ogg安装这个错误,是SELinux启用导致,但是有很多其他程序执行过程中报类此错误是有此导致,那么我抱着尝试的态度实验看看:
1、查看SELinux是否被关闭
[oracle@localhost tmp]$ more /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted – Only targeted network daemons are protected.
# strict – Full SELinux protection.
SELINUXTYPE=targeted
说明已经关闭。那就奇怪了,既然已经闭关了那为什么还不行?于是我怀疑,是不是有人只是修改了SELINUX=disabled,没有重启系统或者使用命令使其生效导致。
2、查看SELINUX修改是否生效
[root@localhost ~]# getenforce
Enforcing
果然修改没有生效
3、使SELINUX生效
[root@localhost ~]# setenforce 0
再次查询,现在已经生效
[root@localhost ~]# getenforce
Permissive
4、然后启动ggsci
[oracle@localhost ~]$ ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.1.1.1.1 OGGCORE_11.1.1.1.1_PLATFORMS_110729.1700
Linux, x64, 64bit (optimized), Oracle 10g on Jul 29 2011 19:43:29
Copyright (C) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
发表在 GoldenGate
评论关闭
数据文件重命名
最近一段时间,发现不少pub上不少新手都因为一时大意,添加数据文件名称不规范,然后想重命名该数据文件(或者想删除该数据文件然后重建),处理思路有些不妥,导致一些悲剧的发现,我这里通过实验提供一个自认为比较合理的处理思路:处理思路是数据文件离线重命名
SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /opt/oracle/oradata/test/archivelog Oldest online log sequence 210 Next log sequence to archive 212 Current log sequence 212 --确认数据库是归档模式,使得数据库离线后,可以有归档日志恢复到在线状态 SQL> col name for a50 SQL> select name,file# from v$datafile; NAME FILE# -------------------------------------------------- ---------- /opt/oracle/oradata/test/system01.dbf 1 /opt/oracle/oradata/test/undotbs01.dbf 2 /opt/oracle/oradata/test/sysaux01.dbf 3 /opt/oracle/oradata/test/users01.dbf 4 /opt/oracle/oradata/test/user32g.dbf 5 /opt/oracle/oradata/test/xifenfei01.dbf 6 /opt/oracle/oradata/test/user02.dbf 7 /opt/oracle/oradata/test/odu02.dbf 8 /opt/oracle/oradata/test/odu01.dbf 9 /opt/oracle/oradata/test/odu03.dbf 10 10 rows selected. SQL> alter tablespace xff add datafile '/opt/oracle/oradata/test/xifenfei02.chf' 2 size 10m autoextend off; Tablespace altered. SQL> select name,file# from v$datafile; NAME FILE# -------------------------------------------------- ---------- /opt/oracle/oradata/test/system01.dbf 1 /opt/oracle/oradata/test/undotbs01.dbf 2 /opt/oracle/oradata/test/sysaux01.dbf 3 /opt/oracle/oradata/test/users01.dbf 4 /opt/oracle/oradata/test/user32g.dbf 5 /opt/oracle/oradata/test/xifenfei01.dbf 6 /opt/oracle/oradata/test/user02.dbf 7 /opt/oracle/oradata/test/odu02.dbf 8 /opt/oracle/oradata/test/odu01.dbf 9 /opt/oracle/oradata/test/odu03.dbf 10 /opt/oracle/oradata/test/xifenfei02.chf 11 11 rows selected. SQL> create table chf.xff_test tablespace xff 2 as 3 select * from dba_objects; select * from dba_objects * ERROR at line 3: ORA-01536: space quota exceeded for tablespace 'XFF' SQL> alter user chf quota 100m on xff; User altered. SQL> create table chf.xff_test tablespace xff 2 as 3 select * from dba_objects; Table created. --需要重命名的数据文件内有数据,模拟数据库在生产环境中工作 SQL> alter database datafile 11 offline drop ; Database altered. --数据文件离线处理 SQL> !mv /opt/oracle/oradata/test/xifenfei02.chf /opt/oracle/oradata/test/xifenfei02.dbf --系统级别把数据文件修改为正确名称 SQL> alter database rename file '/opt/oracle/oradata/test/xifenfei02.chf' 2 to '/opt/oracle/oradata/test/xifenfei02.dbf'; Database altered. --修改控制文件中数据文件名称 SQL> recover datafile 11; Media recovery complete. SQL> alter database datafile 11 online; Database altered. --恢复数据文件,并使其online SQL> select name,file# from v$datafile; NAME FILE# -------------------------------------------------- ---------- /opt/oracle/oradata/test/system01.dbf 1 /opt/oracle/oradata/test/undotbs01.dbf 2 /opt/oracle/oradata/test/sysaux01.dbf 3 /opt/oracle/oradata/test/users01.dbf 4 /opt/oracle/oradata/test/user32g.dbf 5 /opt/oracle/oradata/test/xifenfei01.dbf 6 /opt/oracle/oradata/test/user02.dbf 7 /opt/oracle/oradata/test/odu02.dbf 8 /opt/oracle/oradata/test/odu01.dbf 9 /opt/oracle/oradata/test/odu03.dbf 10 /opt/oracle/oradata/test/xifenfei02.dbf 11 11 rows selected.
如果数据库满足以下条件,可以删除数据文件,重新添加:
1、The database must be open.
2、If a datafile is not empty, it cannot be dropped. If you must remove a datafile that is not empty and that cannot be made empty by dropping schema objects, you must drop the tablespace that contains the datafile.
3、You cannot drop the first or only datafile in a tablespace. This means that DROP DATAFILE cannot be used with a bigfile tablespace.
4、You cannot drop datafiles in a read-only tablespace.
5、You cannot drop datafiles in the SYSTEM tablespace.
6、If a datafile in a locally managed tablespace is offline, it cannot be dropped.
7、db version >= 10g R2
SQL> alter tablespace xff drop datafile 11; alter tablespace xff drop datafile 11 * ERROR at line 1: ORA-03262: the file is non-empty SQL> alter tablespace xff add datafile '/opt/oracle/oradata/test/xifenfei03.chf' size 10m autoextend off; Tablespace altered. SQL> alter tablespace xff drop datafile '/opt/oracle/oradata/test/xifenfei03.chf'; Tablespace altered.
清除离线数据文件记录
测试前提:数据文件离线,系统上删除了该文件,需要删除在数据字典中,关于这条离线数据文件记录
SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /opt/oracle/oradata/test/archivelog Oldest online log sequence 210 Next log sequence to archive 212 Current log sequence 212 --数据库是归档模式 SQL> col file_name for a40 SQL> select file_id,file_name,bytes from dba_data_files order by 1; FILE_ID FILE_NAME BYTES ---------- ---------------------------------------- ---------- 1 /opt/oracle/oradata/test/system01.dbf 524288000 2 /opt/oracle/oradata/test/undotbs01.dbf 1289748480 3 /opt/oracle/oradata/test/sysaux01.dbf 377487360 4 /opt/oracle/oradata/test/users01.dbf 5242880 5 /opt/oracle/oradata/test/user32g.dbf 10485760 6 /opt/oracle/oradata/test/xifenfei01.dbf 20971520 7 /opt/oracle/oradata/test/user02.dbf 10485760 8 /opt/oracle/oradata/test/odu02.dbf 1.1283E+10 9 /opt/oracle/oradata/test/odu01.dbf 104857600 10 /opt/oracle/oradata/test/odu03.chf 10 rows selected. SQL> col error for a20 SQL> select file#,ONLINE_STATUS,ERROR,CHANGE# from V$RECOVER_FILE order by 1; FILE# ONLINE_ ERROR CHANGE# ---------- ------- -------------------- ---------- 10 OFFLINE FILE NOT FOUND 0 SQL> !ls /opt/oracle/oradata/test/odu03.chf ls: /opt/oracle/oradata/test/odu03.chf: No such file or directory --说明该数据文件已经从硬盘上删除 SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup nomount ORACLE instance started. Total System Global Area 209715200 bytes Fixed Size 2082784 bytes Variable Size 130025504 bytes Database Buffers 71303168 bytes Redo Buffers 6303744 bytes SQL> CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS ARCHIVELOG 2 MAXLOGFILES 16 3 MAXLOGMEMBERS 3 4 MAXDATAFILES 100 5 MAXINSTANCES 8 6 MAXLOGHISTORY 292 7 LOGFILE 8 GROUP 1 '/opt/oracle/oradata/test/redo01.log' SIZE 50M, 9 GROUP 2 '/opt/oracle/oradata/test/redo02.log' SIZE 50M, 10 GROUP 3 '/opt/oracle/oradata/test/redo03.log' SIZE 50M 11 DATAFILE 12 '/opt/oracle/oradata/test/system01.dbf', 13 '/opt/oracle/oradata/test/undotbs01.dbf', 14 '/opt/oracle/oradata/test/sysaux01.dbf', 15 '/opt/oracle/oradata/test/users01.dbf', 16 '/opt/oracle/oradata/test/user32g.dbf', 17 '/opt/oracle/oradata/test/xifenfei01.dbf', 18 '/opt/oracle/oradata/test/user02.dbf', 19 '/opt/oracle/oradata/test/odu02.dbf', 20 '/opt/oracle/oradata/test/odu01.dbf' ,'/opt/oracle/oradata/test/odu03.chf' --文件不存在,创建控制文件这条记录需要除掉 21 CHARACTER SET ZHS16GBK 22 ; Control file created. SQL> alter database open; Database altered. SQL> select file_id,file_name,bytes from dba_data_files order by 1; FILE_ID FILE_NAME BYTES ---------- ---------------------------------------- ---------- 1 /opt/oracle/oradata/test/system01.dbf 524288000 2 /opt/oracle/oradata/test/undotbs01.dbf 1289748480 3 /opt/oracle/oradata/test/sysaux01.dbf 377487360 4 /opt/oracle/oradata/test/users01.dbf 5242880 5 /opt/oracle/oradata/test/user32g.dbf 10485760 6 /opt/oracle/oradata/test/xifenfei01.dbf 20971520 7 /opt/oracle/oradata/test/user02.dbf 10485760 8 /opt/oracle/oradata/test/odu02.dbf 1.1283E+10 9 /opt/oracle/oradata/test/odu01.dbf 104857600 10 /opt/oracle/product/10.2.0/db_1/dbs/MISSING00010 --系统默认创建了自定义的数据文件名称 10 rows selected. SQL> select file#,ONLINE_STATUS,ERROR,CHANGE# from V$RECOVER_FILE order by 1; FILE# ONLINE_ ERROR CHANGE# ---------- ------- -------------------- ---------- 10 OFFLINE FILE MISSING 0 --提示该文件是离线状态,需要恢复,结果同开始时候状态 SQL> select file#,STATUS$,TS#,RELFILE# from file$ order by 1; FILE# STATUS$ TS# RELFILE# ---------- ---------- ---------- ---------- 1 2 0 1 2 2 1 2 3 2 2 3 4 2 4 4 5 2 4 5 6 2 6 6 7 2 4 7 8 2 7 9 9 2 7 6 10 2 7 10 11 1 11 rows selected. SQL> delete from file$ where file#=10; ---重要的就是这个操作 1 row deleted. SQL> select file#,STATUS$,TS#,RELFILE# from file$ order by 1; FILE# STATUS$ TS# RELFILE# ---------- ---------- ---------- ---------- 1 2 0 1 2 2 1 2 3 2 2 3 4 2 4 4 5 2 4 5 6 2 6 6 7 2 4 7 8 2 7 9 9 2 7 6 11 1 10 rows selected. SQL> col name for a40 SQL> select * from v$dbfile order by 1; FILE# NAME ---------- ---------------------------------------- 1 /opt/oracle/oradata/test/system01.dbf 2 /opt/oracle/oradata/test/undotbs01.dbf 3 /opt/oracle/oradata/test/sysaux01.dbf 4 /opt/oracle/oradata/test/users01.dbf 5 /opt/oracle/oradata/test/user32g.dbf 6 /opt/oracle/oradata/test/xifenfei01.dbf 7 /opt/oracle/oradata/test/user02.dbf 8 /opt/oracle/oradata/test/odu02.dbf 9 /opt/oracle/oradata/test/odu01.dbf 10 /opt/oracle/product/10.2.0/db_1/dbs/MISSING00010 10 rows selected. --需要重建控制文件,删除不存在的数据文件 SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> STARTUP NOMOUNT ORACLE instance started. Total System Global Area 209715200 bytes Fixed Size 2082784 bytes Variable Size 130025504 bytes Database Buffers 71303168 bytes Redo Buffers 6303744 bytes SQL> CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS ARCHIVELOG 2 MAXLOGFILES 16 3 MAXLOGMEMBERS 3 4 MAXDATAFILES 100 5 MAXINSTANCES 8 6 MAXLOGHISTORY 292 7 LOGFILE 8 GROUP 1 '/opt/oracle/oradata/test/redo01.log' SIZE 50M, 9 GROUP 2 '/opt/oracle/oradata/test/redo02.log' SIZE 50M, 10 GROUP 3 '/opt/oracle/oradata/test/redo03.log' SIZE 50M 11 DATAFILE 12 '/opt/oracle/oradata/test/system01.dbf', 13 '/opt/oracle/oradata/test/undotbs01.dbf', 14 '/opt/oracle/oradata/test/sysaux01.dbf', 15 '/opt/oracle/oradata/test/users01.dbf', 16 '/opt/oracle/oradata/test/user32g.dbf', 17 '/opt/oracle/oradata/test/xifenfei01.dbf', 18 '/opt/oracle/oradata/test/user02.dbf', 19 '/opt/oracle/oradata/test/odu02.dbf', 20 '/opt/oracle/oradata/test/odu01.dbf' 21 CHARACTER SET ZHS16GBK 22 ; Control file created. SQL> alter database open; Database altered. SQL> select file_id,file_name,bytes from dba_data_files order by 1; FILE_ID FILE_NAME BYTES ---------- ---------------------------------------- ---------- 1 /opt/oracle/oradata/test/system01.dbf 524288000 2 /opt/oracle/oradata/test/undotbs01.dbf 1289748480 3 /opt/oracle/oradata/test/sysaux01.dbf 377487360 4 /opt/oracle/oradata/test/users01.dbf 5242880 5 /opt/oracle/oradata/test/user32g.dbf 10485760 6 /opt/oracle/oradata/test/xifenfei01.dbf 20971520 7 /opt/oracle/oradata/test/user02.dbf 10485760 8 /opt/oracle/oradata/test/odu02.dbf 1.1283E+10 9 /opt/oracle/oradata/test/odu01.dbf 104857600 9 rows selected. SQL> select * from v$dbfile order by 1; FILE# NAME ---------- ---------------------------------------- 1 /opt/oracle/oradata/test/system01.dbf 2 /opt/oracle/oradata/test/undotbs01.dbf 3 /opt/oracle/oradata/test/sysaux01.dbf 4 /opt/oracle/oradata/test/users01.dbf 5 /opt/oracle/oradata/test/user32g.dbf 6 /opt/oracle/oradata/test/xifenfei01.dbf 7 /opt/oracle/oradata/test/user02.dbf 8 /opt/oracle/oradata/test/odu02.dbf 9 /opt/oracle/oradata/test/odu01.dbf 9 rows selected.
补充说明:非归档模式下,NOARCHIVELOG创建控制文件,其他无太大区别
测试来源:itpub:数据文件物理性删除相关问题疑惑?
参考blog:roger:如何彻底删除已经不存在的数据文件?
发表在 Oracle备份恢复
5 条评论