oracle / oracle/oracle-database-operator

2.2.0: old pod name is used in the listener configuration after delete instance/create instance

Open
#254 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.