The listener supports no services – 2 databases on oracle linux 7

I’m running two 12c R2 databases on linux oracle 7.9
I’ve installed the first database (CDB) and also a listener and both of them were running fine. Then, I’ve installed another 12c R2 database (CDB2) on the same system.

These are my instances:

CDB
CDB2

The problem is that if I want to startup only the second database(CDB2), and then the listener, when running lsnrctl status LISTENER it says: The listener supports no services

If I startup the first database after that (CDB), the listener comes to life saying that it supports both of the services (CDB and CDB2).

So, it only support CDB2 if I also startup CDB. If I startup only CDB2, it does not support it.

But, after I started CDB and after listener started supporting both services, if i shutdown CDB, the listener is still supporting CDB2.

So, as a summary:
If i startup CDB2 and then the listener, the listener does not support any services. If I startup CDB after, the listener supports both dbs. If I shutdown CDB after, the listener supports only CDB2 which is what i want in the first place.

First step:

(oracle@oel7 ~)$ ps -ef | grep pmon
oracle    4350  2463  0 20:56 pts/0    00:00:00 grep --color=auto pmon
(oracle@oel7 ~)$ ps -ef | grep tns
root        37     2  0 20:37 ?        00:00:00 (netns)
oracle    4458  2463  0 20:57 pts/0    00:00:00 grep --color=auto tns
(oracle@oel7 ~)$

Starting CDB2 & listener:

(oracle@oel7 ~)$ ps -ef | grep pmon
oracle    2547     1  0 20:41 ?        00:00:00 ora_pmon_CDB2
oracle    4498  2463  0 20:58 pts/0    00:00:00 grep --color=auto pmon
(oracle@oel7 ~)$
(oracle@oel7 ~)$ ps -ef | grep tns
root        37     2  0 20:37 ?        00:00:00 (netns)
oracle    4537     1  0 20:58 ?        00:00:00 /u01/app/oracle/product/12.2.0/dbhome_1/bin/tnslsnr LISTENER -inherit
oracle    4563  2463  0 20:59 pts/0    00:00:00 grep --color=auto tns
(oracle@oel7 ~)$

STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                21-JAN-2021 20:42:01
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/               listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oel7/listener/alert/log.x               ml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel7.localdomain)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully

After starting CDB:

(oracle@oel7 dbhome_1)$ ps -ef | grep pmon
oracle    2351     1  0 20:41 ?        00:00:00 ora_pmon_CDB
oracle    2547     1  0 20:41 ?        00:00:00 ora_pmon_CDB2
oracle    4814  2463  0 21:02 pts/0    00:00:00 grep --color=auto pmon
(oracle@oel7 dbhome_1)$

STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                21-JAN-2021 20:42:01
Uptime                    0 days 0 hr. 0 min. 49 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/               listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oel7/listener/alert/log.x               ml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel7.localdomain)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=oel7.localdomain)(PORT=5500))(Secur               ity=(my_wallet_directory=/u01/app/oracle/admin/CDB/xdb_wallet))(Presentation=HTT               P)(Session=RAW))
Services Summary...
Service "CDB.localdomain" has 1 instance(s).
  Instance "CDB", status READY, has 1 handler(s) for this service...
Service "CDB2" has 1 instance(s).
  Instance "CDB2", status READY, has 1 handler(s) for this service...
Service "CDB2XDB" has 1 instance(s).
  Instance "CDB2", status READY, has 1 handler(s) for this service...
Service "CDBXDB.localdomain" has 1 instance(s).
  Instance "CDB", status READY, has 1 handler(s) for this service...
Service "b8c025790af43eafe0536f64a8c04644.localdomain" has 1 instance(s).
  Instance "CDB", status READY, has 1 handler(s) for this service...
Service "cdbpdb1.localdomain" has 1 instance(s).
  Instance "CDB", status READY, has 1 handler(s) for this service...
The command completed successfully

After shutdown of CDB and only CDB2 running:

STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                21-JAN-2021 20:58:52
Uptime                    0 days 0 hr. 4 min. 55 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oel7/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel7.localdomain)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "CDB2" has 1 instance(s).
  Instance "CDB2", status READY, has 1 handler(s) for this service...
Service "CDB2XDB" has 1 instance(s).
  Instance "CDB2", status READY, has 1 handler(s) for this service...
The command completed successfully
(oracle@oel7 dbhome_1)$

And also, even if i stop and start again the listener (having only CDB2 running – closing CDB), it is working as it should be:

STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                21-JAN-2021 20:58:52
Uptime                    0 days 0 hr. 4 min. 55 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oel7/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel7.localdomain)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "CDB2" has 1 instance(s).
  Instance "CDB2", status READY, has 1 handler(s) for this service...
Service "CDB2XDB" has 1 instance(s).
  Instance "CDB2", status READY, has 1 handler(s) for this service...
The command completed successfully
(oracle@oel7 dbhome_1)$
 

Both database have the same Oracle Home in:/u01/app/oracle/product/12.2.0/dbhome_1

Network files:

(oracle@oel7 admin)$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oel7.localdomain)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

(oracle@oel7 admin)$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
   
LISTENER_CDB =
  (ADDRESS = (PROTOCOL = TCP)(HOST = oel7.localdomain)(PORT = 1521))
    
CDB2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oel7.localdomain)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = CDB2)
    )
  )

CDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oel7.localdomain)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = CDB.localdomain)
    )
  )

What is the problem? Why the listener does not support the second database (CDB2) from the first time and I have to startup also the first database (CDB) in order for it to support both of them?

Thanks.

visual studio – Virtual reality development services

Using the services of the European virtual reality development company ServReality they provide recommendations and specialized services for VR development, their developers release a product for virtual reality for interaction with customers in games, trade, education and other areas. .
Very happy with their service, but wanted to ask if anyone knows other services for more choice ???

amazon web services – AWS CloudFront – put a custom domain before a custom domain

I work on a site builder project and put the generated sites as Single Page Application in a S3 bucket. This bucket is behind a CloudFront distribution. I’ve added a CNAME to my domain and a lambda function to route subdomains to single folders. For example:

my-site-alias.sitebuilder.xyz –> will internaly route to s3.website.url.amazon.com/my-site-alias

This works like i expected. But now i got struggeling. How can my clients put their custom domains before mine? I’ve tested with another domain like testdomain.com and added a CNAME to my custom domain. When i now visit the domain i get an 403 error.

403 ERROR

The request could not be satisfied. Bad request. We can’t
connect to the server for this app or website at this time. There
might be too much traffic or a configuration error. Try again later,
or contact the app or website owner. If you provide content to
customers through CloudFront, you can find steps to troubleshoot and
help prevent this error by reviewing the CloudFront documentation.
Generated by cloudfront (CloudFront)

So how do i can add a custom domain before my custom domain with CloudFront and lambda@edge?

microservices – Routing with micro services

I’ve decided to create my project following a micro service architecture. I have a products service and a reviews service.

The products service essentially stores all information regarding a product whilst the reviews service stores reviews for a product.

I’ve decided to keep these separate from each other as I would like to scale the reviews service at some point in the future.

My products service has a single controller with a bunch of actions, the route for this service is api/products

I realised that on the reviews service I need to create an endpoint to grab all reviews of a product but not sure what the route should be as i feel like because it’s the reviews service the routing should be named like api/reviews but surely you’d expect the route for this action to be api/products/{id}/reviews

How should the routes be named if each service has to be independent from one another?

amazon web services – How to see updates to EBS volume when attached to multiple instances?

You’ll need a filesystem / app that’s multi-attach aware. For example Oracle RAC can use such volumes, while normal filesystems like ext4 or xfs can’t. They are designed to be mounted on a single host only.

Let’s step back – what are you trying to achieve? Share files between the instances I suppose? Your best bet is EFS (Elastic File System) – an AWS cloud-native NFS service. Unless you’ve got a very specific need for multi-attach EBS and running some very special app that can make use of that I suggest you explore the EFS way instead. The need for multi-attach disks is rare, both in the cloud and outside.

Hope that helps 🙂

Website & App Development Services (PHP/MYSQL, Javascript, WordPress)

I really enjoyed working with you friend!
Many thanks for the apps you made.

I’d highly recommend his services.
He is good at his work, provides timely delivery, provides support, and is very cost effective.
In my case, he even went out of his way to help me in some other issues I had with google play store interface when I was uploading apps.
This was not his job, but he still helped gladly!
Could not have done without his help!

I just got 2 more apps developed by him. Ordered recently, and he has already provided finished files which I will be uploading to play store soon.
I will definitely be sending more business his way in near future!

Cheers!

 

amazon web services – AWS Step Functions – Utilize empty Map state output when no iterations occur

I have a workflow with 3 steps:

  1. Task – Upload N files
    • Produces array of N job definitions to be used as input to Step 2 map state
  2. Map – process each job
    • Due to map state, this is executed N times
  3. Task – do some other thing

What I would like is to only do Step 3 if any iterations occur in Step 2. The way this is designed, Step 1 usually produces no output, so Step 2 is basically skipped.

I’ve noticed that in the scenario I’ve outlined, the output from Step 2 is just [], where as normally it contains a whole lot of information about the iterations. Is it possible to perform this kind of workflow?

amazon web services – AWS Cloud Front, how to request origin using correct url

I’m trying to cache a website on an EC2 using the URL xyz.com, so i created an Cloud Front with the origin pointed to xyz.com,

But all information returned by the server (like button urls) are not relative and include the request URL, meaning that if Cloudfront access the origin with xyz.com, the contents returned by the CDN (for any cname used) will contain the origin url like an <a href="xyz.com/info"><a>
instead of a “cached” url that points to the CloudFront distribution, like an cdn.xyz.com.

tl:dr
CloudFront should return:
<a href="cached.xyz.com/info"><a> (which is the url accessed that points to the distribution)
But it returns:
<a href="uncached.xyz.com/info"><a> (which is the Origin URL that contains the data to be cached)

Is there a way to spoof the Origin server to it think that URL that is being used to access it is the URL being used to access the CloudFront distribution, so it returns correct URLs?