用户报告,在RMAN restore的时候不能使用rman target 连接目标数据库instance 11.2.0.2。不能够开始恢复数据库
RMAN错误报告:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database:
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
诊断:
发现数据库not mounted
尝试rman target / 可以连接目标database instance
尝试重启listener,不成功
查看alert.log没有发现异常
查看windows oracle后台进程,没有发现异常
查看control file已经恢复成功
查阅Oracle文档( Doc ID 444120.1),发现如下段落:
In the 9i world, the listener was not aware of whether the instance was in restricted mode. All users' connections were handed off to a server process, which then refused login if the instance was in restricted session and you didn't have restricted session privilege.
In 10g, the listener is "smarter". It's aware of whether the instance is in restricted session. If it is, it immediately rejects the connection attempt, even for privileged users, since it's not aware of which user is connecting.
临时的解决方案:
在tnsname.ora文件中添加"(UR=A)" 到的CONNECT_DATA 部分.
例如:
orcl=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=ipaddress)(PORT=15210))
)
(CONNECT_DATA =
(SERVICE_NAME=ORCL2) (UR=A)
)
)