We have a RAC cluster where we are upgrading a database. (12c to 19c) The upgrade process is to build a new database on the same cluster and import a copy of the old database.

The old database has a scan listener setup where it can be connected to on a different subnet than the default. As a matter of fact, the old database is available on the default subnet as well as the special subnet.

Since I am just adding a new database to the cluster, I am confident that the network and VIPs are correctly setup and I should be able to just simply add the new database and configure the local_listener parameter in the database.

Since the old database is setup with the proper scan listener and network, I would have thought that adding the parameter in the database would be all that was needed.

In an effort to add the special subnet (scan listener) to the database, I have ran an alter system to set each database’s local_listener parameter.

alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=orarac1a-vip)(PORT=1521))' scope=both sid='oranode1';

alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=orarac2a-vip)(PORT=1521))' scope=both sid='oranode2';

Then on each database I have ran “alter system register;” and restarted each of the new database instances. I have also reloaded the listener as well with no luck.

1 Answer 1


Here is my fix: I just needed to add a remote listener parameter to the database.

alter system set remote_listener='prodorarac02-scan:1521' scope=both sid='*';


alter system register;

After that, I can access the instance on both the default listener as well as the remote listener. I really struggled with this one. After finding the fix, I realize that it was simple, and any real DBA would know the answer. Because I was not able to find much information on this, I wanted to share in case it helps the next person.

It is just a matter of adding a remote_listener. The database needs to have this remote_listener setup so that he registers with the proper listener. In RAC this name will be a DNS name with usually 2-4 IP addresses that can be accessed. They get accessed either round-robin or based on how they load balance. In my case, all of that was already setup and all we are doing is adding a new database instance. Here are some helpful things to look at if you have other systems to compare.

show parameter local_listener -- shows the address for the local listener - likely null. 
show parameter service_names -- will show the service names and if someone had an alias for the DB.
show parameter remote_listener -- will show the address for the remote listener. 

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.