When creating Database through Oracle Enterprise Manager Self Service Portal, we need to enter a “unique” value as database service name. After I set up DBaaS on EM13c, I made several tests until I fix the provision problems (based on my own faults). On each test, I cleaned up failed request, entered a unique service name and submitted a new request. I thought there’s no validation about the service name but then I got an error message complaning “non-unique service name”.
As we can see, I tried to enter “murtaza” and it says “murtaza” is not available. I knew that I have already cleaned up failed requests, and there is no service named “murtaza”. Anyway I wanted to be sure and decided to check the existing database services. I noticed that there’s no page showing the existing service names! So I had to enter each database service and check the service name. I had only 3 database services, so it didn’t take so much time.
The connection string (which we’ll share with the request owner), contains the service name. I couldn’t find any service named “murtaza”. It must be used for a failed request. As I said, I have already cleared and deleted all failed requests, but somehow the service name was stored in the repository. Good thing is, EMCLI verb “dbaas_artifacts” can show and remove these service names which belongs to failed requests:
# login to OMS as gokhan
./emcli login -username=gokhan
# check the names
./emcli dbaas_artifacts -list_reserved_artifacts
List of reserved artifacts:
Reserved Name: MURTAZA, Type: SERVICE_NAME, Request Id: 21
# remove the name
./emcli dbaas_artifacts -remove_reserved_artifact -type="SERVICE_NAME" -value="MURTAZA"
Removing the artifact - MURTAZA (SERVICE_NAME) ...
Successfully removed the artifact - MURTAZA (SERVICE_NAME).