oracle / oracle/oracle-database-operator
2.2.0: old pod name is used in the listener configuration after delete instance/create instance
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 192
- Forks
- 69
- Avg merge
- 16h 13m
- Merged PRs (30d)
- 1
Description
When deleting and creating instances I have noticed that if you first delete and then create the same instance then the old pod name will still be used in the listener configuration making the listener fail. To solve this, I had to delete the instance again and then scale the oracle-database-operator-controller-manager deployment down/up. After this, at creation, the new pod got its current name in the listener configuration.
$ kubectl -n oracle-database get pods
NAME READY STATUS RESTARTS AGE
sidb1-f8wig 1/1 Running 0 7m52s
sidb2-3nxxq 0/1 Running 0 3m38s
Primary (listener status):
$ kubectl -n oracle-database exec -it sidb1-f8wig -- lsnrctl status
Defaulted container "sidb1" out of: sidb1, init-permissions (init), init-wallet (init)
Unable to use a TTY - input is not a terminal or the right kind of file
LSNRCTL for Linux: Version 23.26.3.0.0 - Production on 21-AUG-2026 06:24:20
Copyright (c) 1991, 2026, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sidb1-1yvn7)(PORT=1521)))
TNS-12545: Connect failed because target host or object does not exist
TNS-12560: Database communication protocol error.
TNS-00515: Connect failed because target host or object does not exist
Standby (pod log):
$ kubectl -n oracle-database logs -f sidb2-3nxxq
...
Connected to an idle instance.
SQL> ORACLE instance shut down.
SQL> ORACLE instance started.
Total System Global Area 4392750152 bytes
Fixed Size 5041224 bytes
Variable Size 838860800 bytes
Database Buffers 3539992576 bytes
Redo Buffers 8855552 bytes
SQL> Disconnected from Oracle AI Database 26ai Enterprise Edition Release 23.26.3.0.0 - Production
Version 23.26.3.0.0
[2026:08:21 06:17:36]: Acquiring lock .ORCL2.exist_lck with heartbeat 30 secs
[2026:08:21 06:17:36]: Lock acquired
[2026:08:21 06:17:36]: Starting heartbeat
[2026:08:21 06:17:36]: Lock held .ORCL2.exist_lck
LSNRCTL for Linux: Version 23.26.3.0.0 - Production on 21-AUG-2026 06:17:36
Copyright (c) 1991, 2026, Oracle. All rights reserved.
Starting /opt/oracle/product/26ai/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 23.26.3.0.0 - Production
System parameter file is /opt/oracle/product/26ai/dbhome_1/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/sidb2-3nxxq/listener/alert/log.xml
Error listening on: (ADDRESS=(PROTOCOL=TCP)(HOST=sidb2-tusy9)(PORT=1521))
TNS-12545: Connect failed because target host or object does not exist
TNS-12560: Database communication protocol error.
TNS-00515: Connect failed because target host or object does not exist
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the delete-and-recreate sequence in the Kubernetes operator and inspect the listener configuration for the recreated instance. The payload names no source files or tests, so begin by tracing instance lifecycle handling and configuration generation around the controller-manager deployment. Done means the listener configuration uses the new pod name and both primary and standby listeners start successfully without scaling the controller deployment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- databases, devops, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100