- 浏览: 4411797 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (634)
- Oracle日常管理 (142)
- Oracle体系架构 (45)
- Oracle Tuning (52)
- Oracle故障诊断 (35)
- RAC/DG/OGG (64)
- Oracle11g New Features (48)
- DataWarehouse (15)
- SQL, PL/SQL (14)
- DB2日常管理 (9)
- Weblogic (11)
- Shell (19)
- AIX (12)
- Linux/Unix高可用性 (11)
- Linux/Unix日常管理 (66)
- Linux桌面应用 (37)
- Windows (2)
- 生活和工作 (13)
- 私人记事 (0)
- Python (9)
- CBO (15)
- Cognos (2)
- ORACLE 12c New Feature (2)
- PL/SQL (2)
- SQL (1)
- C++ (2)
- Hadoop大数据 (5)
- 机器学习 (3)
- 非技术 (1)
最新评论
-
di1984HIT:
xuexilee!!!
Oracle 11g R2 RAC高可用连接特性 – SCAN详解 -
aneyes123:
谢谢非常有用那
PL/SQL的存储过程和函数(原创) -
jcjcjc:
写的很详细
Oracle中Hint深入理解(原创) -
di1984HIT:
学习了,学习了
Linux NTP配置详解 (Network Time Protocol) -
avalonzst:
大写的赞..
AIX内存概述(原创)
我们知道在进行备份恢复时,可以通过rman的catalog命令注册备份文件信息,但是 catalog注册同一数据库的备份文件,如果需要注册不同数据库的备份文件,则需要将目标数据库的DBID修改成和源数据库一致。当然实际情况下,有很 多更“安全“的方法可以达到我们想要的目的,这里只是提供一个思路和解决方式,仅供参考
[oracle@dg2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 22 16:07:39 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Area 222298112 bytes
Fixed Size 1218628 bytes
Variable Size 100665276 bytes
Database Buffers 117440512 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
SQL> select dbid from v$database;
DBID
----------
3467808954
SQL> exec dbms_backup_restore.nidbegin('LGDG','LGDG','3467808666','3467808954',0,0,10)
PL/SQL procedure successfully completed.
注意:第二个TEST1必须大写,两个dbid前面的为修改后的,后面的为修改之前的。
SQL> variable a number;
SQL> variable b number;
SQL> variable c number;
SQL> exec dbms_backup_restore.nidprocessdf(0,0,:a,:b,:c);
PL/SQL procedure successfully completed.
SQL> print :a
A
----------
0
SQL> print :b
B
----------
1
SQL> print :c
C
----------
0
SQL> exec dbms_backup_restore.nidprocesscf(:a,:b);
PL/SQL procedure successfully completed.
SQL> print :a
A
----------
1
SQL> print :b
B
----------
0
SQL> exec dbms_backup_restore.nidend;
PL/SQL procedure successfully completed.
SQL> select dbid from v$database;
DBID
----------
3467808666
需要重启数据库,使修改被确认
SQL> shutdown immediate;
ORA-03113: end-of-file on communication channel
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
[oracle@dg2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 22 17:20:30 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Area 222298112 bytes
Fixed Size 1218628 bytes
Variable Size 100665276 bytes
Database Buffers 117440512 bytes
Redo Buffers 2973696 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 519903 generated at 03/22/2012 17:14:26 needed for thread 1
ORA-00289: suggestion : /u01/archive/1_2_777032519.dbf
ORA-00280: change 519903 for thread 1 is in sequence #2
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: cannot open archived log '/u01/archive/1_2_777032519.dbf'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-00308: cannot open archived log '/u01/archive/1_2_777032519.dbf'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/u01/app/oradata/standby/system01.dbf'
经检查发现,并不存在 /u01/archive/1_2_777032519.dbf 文件,需要强制打开不一致的数据库 ,设置undo_management和_allow_resetlogs_corruption参数即可。大家先看操作
SQL> alter system set undo_management='manual' scope=spfile;
System altered.
SQL> shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 222298112 bytes
Fixed Size 1218628 bytes
Variable Size 100665276 bytes
Database Buffers 117440512 bytes
Redo Buffers 2973696 bytes
Database mounted.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/u01/app/oradata/standby/system01.dbf'
SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;
System altered.
SQL> shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 222298112 bytes
Fixed Size 1218628 bytes
Variable Size 100665276 bytes
Database Buffers 117440512 bytes
Redo Buffers 2973696 bytes
Database mounted.
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
[oracle@dg2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 22 17:25:36 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Area 222298112 bytes
Fixed Size 1218628 bytes
Variable Size 100665276 bytes
Database Buffers 117440512 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
SQL> show parameter allow
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_allow_resetlogs_corruption boolean TRUE
SQL> show parameter undo_manage
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
undo_management string MANUAL
将
undo_management和
_allow_resetlogs_corruption修改回默认值
SQL> alter system set "_allow_resetlogs_corruption"= false scope=spfile;
System altered.
SQL> alter system set undo_management=auto scope=spfile;
System altered.
SQL> select dbid from v$database;
DBID
----------
3467808666
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.
Total System Global Area 222298112 bytes
Fixed Size 1218628 bytes
Variable Size 100665276 bytes
Database Buffers 117440512 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
这里顺便提下undo的相关概念
1. 回滚段已过时(undo_management = maual),10g以后都以撤销段为概念(undo_management = auto).
2. 撤销段只能存在于专门针对撤销目的创建的某个表空间内,而回滚段则可以被创建在任何表空间内.
3. 回滚段呆在数据库创建阶段,除了数据字典之外,ORACLE还会在SYSTEM表空间内创建一个过时的回滚段,这个回滚段在数据库创建期间使用,但是决不会在正常运行期间使用.
4. 撤销段的类型命名为TYPE2 UNDO,而回滚段为ROLLBACK,即为TYPE1 UNDO.
5. 一个数据库中可以存在多个撤销表空间,但是在任意给定时刻都只能使用一个撤销表空间.
6. 撤销表空间必须被创建为持久的/本地管理的表空间.
7. 任何一个事务都只能受一个撤销段保护,一个事务生成的撤销数据无法被分配到多个撤销段中,因此撤销段大小可变.如果某个事务填满了自己使用的撤销段,那么ORACLE会自动为该撤销段添加另一个区间,从而使这个事务能继续进行.
8. undo表空间和DB不同步的情况下无法打开DB,故设置undo_management为maua 可以在打开DB时不启用undo。
_allow_resetlogs_corruption可以在数据库打开时跳过某些一致性检查,也就是说,设置了这个参数后可以打开不一致的数据库。
设置这个隐含参数后,要使用resetlogs选项打开数据库,隐含参数才会生效,否则Oracle在打开数据库时会忽略此参数。
一般该参数适用于下列场景。
当数据库中某些数据文件损坏,而从备份恢复这个文件所需的某个(或某些)联机日志文件或归档日志文件丢失时,只能把这些文件部分恢复,从而与数据库中其他文件不同步,我们可以通过下面的步骤还原并打开数据库:
用之前的备份恢复损坏的数据文件。
尽量还原损坏的文件。
把数据库启动到nomount。
用SQL命令重建控制文件(要求之前用“alter database backup controlfile to trace”做过控制文件的文本备份) #这步有时可以省略,具体视实际情况而定
设置隐含参数:alter system set “_allow_resetlogs_corruption”=true scope=spfile;
然后关闭数据库,用下面命令重启:alter database open resetlogs
这时,数据库可以打开。但是数据库中的数据可能不一致,某些查询如果涉及这些不一致的数据,会遇到ora-600错误。打开数据库后,我们可以从部分恢复的数据文件及其他正常数据文件中导出尽可能多的数据,然后重建数据库,导入之前导出的数据,从而让损失降低到最小。
参考至:http://blog.chinaunix.net/uid-182041-id-209523.html
http://lawzjf.itpub.net/post/417/107758
http://space.itpub.net/15119715/viewspace-677118
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com
发表评论
-
Oracle 11g、12c大量错误登陆尝试带来的数据库异常
2018-07-16 09:21 1533APPLIES TO: Oracle Database - ... -
如何定位那些SQL产生了大量的redo日志
2018-05-15 14:38 1787在ORACLE数据库的管理、 ... -
When Memory_target Is Set and Swap Size Is Not Big (Doc ID 2356025.1)
2018-03-16 18:13 1191Kkjcre1p: unable to sp ... -
Transparent Hugepage is not getting disabled (Doc ID 2279458.1)
2018-03-16 18:10 823Transparent Hugepage is ... -
Troubleshooting: "log file sync" Waits (文档 ID 1376916.1)
2017-03-09 14:32 1369What is a 'log file sync' wai ... -
log file sync总结
2017-03-09 14:36 3262log file sync等待时间发生在redo log从 ... -
Oracle Log File Sync Wait Event
2017-03-08 18:46 1172The Oracle “log file sync” wai ... -
Tuning ‘log file sync’ Event Waits
2017-03-08 18:41 861Tuning ‘log file sync’ Event ... -
Diagnosing buffer busy waits with the ash_wait_chains.sql script (v0.2)
2017-03-08 16:56 856Diagnosing buffer busy waits w ... -
Advanced Oracle Troubleshooting Guide – Part 11: Complex Wait Chain Signature An
2017-03-08 16:05 1101Here’s a treat for the hard-co ... -
Oracle 10046 SQL TRACE
2017-03-08 15:19 947为什么我们要使用10046 trace? 10046 ... -
Automatic Storage Management
2016-11-03 15:33 872SYSASM Role When Automatic ... -
ASM FAQ
2016-11-03 15:29 735ASM FAQ Oracle Automatic ... -
Oracle ALTER PROFILE语法
2016-10-10 11:36 3415ALTER PROFILE Purpose Use th ... -
Oracle FGA审计
2016-09-20 09:42 1390大家对trigger可能比较熟悉,但Oracle还有一个叫 ... -
Secret.txt
2016-09-14 17:20 0考试登录账号:YAMAC0043865 Chen1988协会网 ... -
Oracle Data Pump Internals
2016-09-13 16:38 786IntroductionOracle Data Pump w ... -
UDEV SCSI Rules Configuration for ASM in Oracle Linux 5, 6 and 7
2016-09-12 16:32 850UDEV SCSI Rules Configuration ... -
Cannot Allocate New Log
2016-02-21 12:28 5453故障报错 Thread 1 cannot allocat ... -
Oracle flashback dropped tablespace(原创)
2015-11-15 22:21 2018Oracle官方并不推荐在数据库物理结构发生改变的情况下进行 ...
相关推荐
介绍了使用DBNEWID Utility更改Oracle 数据库dbid和dbname的方法
由于DBID在控制文件和数据文件中都存在记录,所以如果能够mount数据库就可以查询v$database视图获得. 代码如下:SQL> alter database mount;Database altered.SQL> select dbid from v$database; DBID———-...
在VB(Visual Basic)编程环境中,我们可以利用API(应用程序接口)调用来操作Access数据库,包括添加和修改数据库的密码。Access数据库使用Jet引擎作为其后端,VB可以通过Jet API来处理与数据库相关的任务,如创建...
《Lepus安装与配置详解》 Lepus是一款强大的系统监控工具,它能够有效地对MySQL、Oracle等数据库进行实时监控,确保系统的稳定运行。本文将详细阐述Lepus的安装与配置步骤,旨在帮助用户顺利完成监控环境的搭建。...
nid 工具可以修改数据库的 DB NAME 和 DBID,以便与日志来源库保持一致。在修改 DB NAME 和 DBID 之前,需要关闭数据库服务器,以避免出现问题。 在使用 nid 工具时,需要注意数据库的版本和 DB NAME,否则可能会...
导入过程的三个用途: 初始化创建的数据库 修改一个已存在的数据库 恢复数据库为一个可知状态 注意ptdbimp用于生成一个主数据库的导出文件(使用ptdbexp),并且把数据存回到 DBID工具中这是重要的。若有必要,可...
Allegro Skill AXL函数...只要确保dbid正确无误,就可以对Allegro数据库中的任何元素进行读取、修改或删除操作。这使得AXL-SKILL成为Allegro设计自动化和定制化功能的强大工具,允许用户根据需要自定义工作流程和功能。
例如,对于Figure类型的对象,如Line,它拥有特定的属性,如边界框(bBox),分支父id(branch dbid),图层(layer t_layer),非连接性所有者网id(parent dbid),关联网络dbid(net dbid)等。需要注意的是,空...
本文将详细介绍如何将数据库从单用户模式修改为多用户模式,以及这一操作背后的意义和注意事项。 首先,我们来看如何执行这个转换。在提供的SQL语句中,可以看到一个分步骤的过程: 1. 宣告变量@SQL,并将其类型...
- `add primary key (DBID_)`:添加主键约束,基于`dbid_`字段。 - 其他参数与表定义相同。 #### 三、JBPM4_DEPLOYPROP 表解析 - **表结构定义:** ```sql createtable JBPM4_DEPLOYPROP ( dbid_NUMBER(19)...
Usage: ora [-u user] [-i instance#] <command> [] General -u user/pass use USER/PASS to log in -i instance# append # to ORACLE_SID -sid <sid> set ORACLE_SID to sid -top # limit some large queries ...
AND S.SNAP_ID = (SELECT MAX(SNAP_ID) FROM DBA_HIST_SNAPSHOTS WHERE DBID = &dbid AND SNAP_ID ); ``` 其中,`&beg_snap` 和 `&end_snap` 分别代表起始快照ID和结束快照ID。 ##### 2. 等待事件统计 这部分提供...
jbpm4_property 表用于为运行时需要持久化的对象生成 dbid,其记录当前所有对象实例的最大值,每次需要生成 dbid 时,需要先获取该值,然后递增返回。 jbpm4_id_group jbpm4_id_group 表用于存储用户组相关信息,...
1.情况描述:ajax发送成功,后台... data : {'dbId':node.dbId,'viewId':node.id,'date':new Date()}, url : ${ctp}/ViewOperate/ShowViewSql, dataType : json, success : function(data){ console.log(data); l
- `SELECT * FROM Master.dbo.SYSPROCESSES WHERE [DBID] IN (...)`: 这是主要的查询语句,它从`Master.dbo.SYSPROCESSES`表中选取所有列,其中`DBID`字段的值必须存在于子查询的结果中。 4. **子查询**: - 子...
重做日志文件记录了对数据库所做的所有更改,用于支持数据库的恢复操作。在数据库崩溃后,重做日志可以用来恢复未提交的事务,确保数据库的一致性。 ### 二、丢失所有redo-数据文件-控制文件的恢复步骤 #### 1. ...
记录流程模板的最后修改时间戳,用于版本控制和同步。 - **STATE_**: `VARCHAR2(255 CHAR)` 类型,可为空。表示流程模板的当前状态,如“ACTIVE”、“DELETED”等,用于管理模板的生命周期。 #### 2. JBPM4_...
bool OrzMySQL::initialize(DBId _dbId, const Params<std::string>& _params) { return m_impl->initialize(_dbId, _params); } bool OrzMySQL::boost() { return m_impl->boost(); } void OrzMySQL::shutdown...