ORA-19550问题及ORA-00106问题


今天上午在做RMAN实验时遇到了ORA-19550问题.

ORA-19550 cannot use backup/restore functions while using dispatcher

Cause: An attempt was made to use backup/restore functions while connected to the dispatcher in a shared server. This is not allowed because the device that is used for backup and restore must remain allocated to a single process.

Action: Connect directly to the instance then re-execute the backup or restore function.

实验环境: win2000 advanced server,oracle920

RMAN实验过程简述:

1. 建立了两个数据库practice和rcat,分别作为目标数据库和RMAN目录数据库.建库时二者都是采用共享服务器模式.建完库后分别启动两个实例.

2. 在rcat上建立一个cattbs表空间和rman920用户,并授予用户connect和recovery_catalog_owner权限.

3. 创建恢复目录管理器.RMAN>connect target sys/sys@practice;RMAN>connect catalog rman920/rman@rcat;RMAN>create catalog tablespace cattbs;(以下运行都是正常的)

4. 注册数据库.RMAN>register database;这时出现了RMAN错误并在最后提示ORA-19550错误.

解决方法:

检查注册表,此时ORACLE_SID项的值是rcat.将它改为practice.

然后运行rman target sys/sys;RMAN>connect catalog rman rman920/rman@rcat;RMAN>register database;就正常了.

总结:

1. 此问题出现在同一台机器上建两个库并启动两个实例的情况下.在windows下会出现这个问题,可能unix下也有类似问题(网上看到有人问同样问题,环境是unix).

2. 这个问题的解决方式与ora-00106(无法在连接到调度程序时启动/关闭数据库)类似.可能二者都是在同时启动两个实例时才出现(未证实).

3. 不管是从服务器端还是从客户端连接都有这个问题。

疑问:

连接时加不加网络名到底有什么区别?(本机登录的情况下)

附注:

**从目录中注销一个数据库的方法: **

1. 删除该数据库的所有备份集。

2. RMAN>list incarnation;得到db_key和db_id。

3. 在sqlplus中执行execute dbms_rcvcat.unregisterdatabase(db_key,db_id);

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus