当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

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);
相关内容
赞助商链接