RMAN-00554 RMAN-04005 ORA-12528

Source: Internet
Author: User

RMAN-00554 RMAN-04005 ORA-12528

When RMAN uses recover catalog to connect to the instance in nomount status, the following error message is displayed:
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


Let me simulate this situation.
1. Place the database in nomount state
SQL> startup nomount
Oracle instance started.

Total System Global Area 327155712 bytes
Fixed Size 1273516 bytes
Variable Size 138412372 bytes
Database Buffers 184549376 bytes
Redo Buffers 2920448 bytes


2. connect to the target database
[Oracle @ oracle11g ~] $ Rman target sys/zzh_2046 @ test catalog rman/rman @ jy

Recovery Manager: Release 10.2.0.5.0-Production on Sun Feb 1 23:01:08 2015

Copyright (c) 1982,200 7, Oracle. All rights reserved.

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


3. Check the listening status
[Oracle @ oracle11g ~] $ Lsnrctl status

LSNRCTL for Linux: Version 10.2.0.5.0-Production on 01-FEB-2015 23:00:49

Copyright (c) 1991,201 0, Oracle. All rights reserved.

Connecting to (ADDRESS = (PROTOCOL = tcp) (HOST =) (PORT = 1521 ))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.5.0-Production
Start Date 01-FEB-2015 22:51:09
Uptime 0 days 0 hr. 9 min. 40 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File/u01/app/oracle/10.2.0/db/network/log/listener. log
Listening Endpoints Summary...
(DESCRIPTION = (ADDRESS = (PROTOCOL = tcp) (HOST = oracle11g) (PORT = 1521 )))
Services Summary...
Service "test" has 1 instance (s ).
Instance "test", status BLOCKED, has 1 handler (s) for this service...
Service "test_XPT" has 1 instance (s ).
Instance "test", status BLOCKED, has 1 handler (s) for this service...
The command completed successfully


From the above information we can see Instance "test", status BLOCKED, there is an article on ora-12528 errors in MOS describing the cause of this problem:
Cause

When an instance is in restricted mode, PMON updates the listener with that information and blocks new connections from being established.

The lsnrctl services output will show the handler is blocked for new connections or lsnrctl status may show the instance is in RESTRICTED mode.


The solution is as follows:
The (UR = A) clause for TNS connect strings was created in response to an enhancement request. this clause can be inserted into the "(CONNECT_DATA =" section of a TNS connect string and allow a privileged or administrative user to connect via the listener even when the service handler is blocking connections for non -privileged users.

Here's an example of a connect string configured with (UR = ):

PROD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP) (HOST = myhost.oracle.com) (PORT = 1521 )))
(CONNECT_DATA =
(UR =)
(SERVICE_NAME = prod10ib.oracle.com)
)
)

 

Please note that the (UR = A) clause is intended to work with a dynamically registered handler so the use of SERVICE_NAME versus SID is required when using dynamic registration (I. e. handler exists in lsnrctl output but is BLOCKED ). the use of SID in a TNS connect string may allow a connection if using a static handler in the listener. ora file under SID_DESC.


4. Add A tns file (UR =)
[Oracle @ oracle11g admin] $ vi tnsnames. ora

Test =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.56.2) (PORT = 1521 ))
)
(CONNECT_DATA =
(UR =)
(SERVICE_NAME = test)
)
)


Jy =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.56.11) (PORT = 1521 ))
)
(CONNECT_DATA =
(SERVICE_NAME = jy)
)
)


5. connect to the target database again for recovery
[Oracle @ oracle11g admin] $ rman target sys/zzh_2046 @ test catalog rman/rman @ jy

Recovery Manager: Release 10.2.0.5.0-Production on Sun Feb 1 23:04:03 2015

Copyright (c) 1982,200 7, Oracle. All rights reserved.

Connected to target database: test (not mounted)
Connected to recovery catalog database

RMAN> restore controlfile;

Starting restore at 01-FEB-15
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: sid = 155 devtype = DISK

Channel ORA_DISK_1: starting datafile backupset restore
Channel ORA_DISK_1: restoring control file
Channel ORA_DISK_1: reading from backup piece/u01/app/oracle/10.2.0/db/dbs/c-2155613261-20150201-01
Channel ORA_DISK_1: restored backup piece 1
Piece handle =/u01/app/oracle/10.2.0/db/dbs/c-2155613261-20150201-01 tag = TAG20150201T213315
Channel ORA_DISK_1: restore complete, elapsed time: 00:00:04
Output filename =/u01/app/oracle/oradata/test/control01.ctl
Output filename =/u01/app/oracle/oradata/test/control02.ctl
Output filename =/u01/app/oracle/oradata/test/control03.ctl
Finished restore at 01-FEB-15

RMAN> SQL 'alter database mount ';

SQL statement: alter database mount
Released channel: ORA_DISK_1

RMAN> recover database;

Starting recover at 01-FEB-15
Starting implicit crosscheck backup at 01-FEB-15
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: sid = 155 devtype = DISK
Crosschecked 8 objects
Finished implicit crosscheck backup at 01-FEB-15

Starting implicit crosscheck copy at 01-FEB-15
Using channel ORA_DISK_1
Crosschecked 6 objects
Finished implicit crosscheck copy at 01-FEB-15

Searching for all files in the recovery area
Cataloging files...
No files cataloged

Using channel ORA_DISK_1

Starting media recovery

Archive log thread 1 sequence 3 is already on disk as file/u01/app/oracle/oradata/test/redo03.log
Archive log thread 1 sequence 4 is already on disk as file/u01/app/oracle/oradata/test/redo01.log
Archive log filename =/u01/app/oracle/oradata/test/redo03.log thread = 1 sequence = 3
Archive log filename =/u01/app/oracle/oradata/test/redo01.log thread = 1 sequence = 4
Media recovery complete, elapsed time: 00:00:01
Finished recover at 01-FEB-15

RMAN> SQL 'alter database open resetlogs ';

SQL statement: alter database open resetlogs
New incarnation of database registered in recovery catalog
Starting full resync of recovery catalog
Full resync complete


This problem occurs because when the dynamic registration listener is used, when the instance is in the restricted mode or blocked, the PMON will update the listener to block new connections, there are two solutions:
First, add the (UR = A) clause in the tns connection description string to enable the dynamic listener to use service_name for registration.
Second, use static listening for registration

-------------------------------------- Recommended reading --------------------------------------

RMAN: Configure an archive log deletion policy

Basic Oracle tutorial-copying a database through RMAN

Reference for RMAN backup policy formulation

RMAN backup learning notes

Oracle Database Backup encryption RMAN Encryption

-------------------------------------- Split line --------------------------------------

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.