Skip to main content
This page covers what is specific to rotating an Oracle account. For how rotation is configured and scheduled, see the overview.
Rotating an Oracle account needs a Gateway running v0.43.133 or later. Rotation fails on an older Gateway.

How the password is changed

When an Oracle account rotates, the rotation account connects to the target and runs:
An account that rotates its own password restates the old one, which Oracle requires when a password policy is in force:
The connection uses the account’s existing connection details, including the SSL settings. The statement matches the stored username exactly, so an account whose username doesn’t match the case Oracle stored fails to rotate even though its sessions launch fine. Oracle names two different reasons for the same mistake, depending on who is rotating:
  • Self-rotation returns ORA-01031: insufficient privileges, because changing a user other than the one signed in needs the ALTER USER privilege, and the name that doesn’t exist counts as another user.
  • Delegated rotation returns ORA-01918: user does not exist, because the rotation account holds ALTER USER and gets past the privilege check.
Either way the fix is the same: correct the account’s username to the case Oracle stored, which is uppercase unless the user was created with a quoted name.

Rotation account requirements

  • Self-rotation: an Oracle user can change its own password, so no extra privileges are needed beyond CREATE SESSION.
  • Delegated rotation: the rotation account needs the ALTER USER system privilege to change another user’s password. Without it Oracle returns ORA-01031: insufficient privileges.
An example setup for a dedicated delegated rotation user:
A delegated rotation account has to use the same service name as its target, not just the same host and port. Oracle scopes a user to a single database, so a rotation account pointed at a different service can’t see the target user.

Password length

An Oracle template won’t accept a password length above 30 characters, and rotation never generates a longer one. The limit is the Gateway’s Oracle client, not Oracle. Oracle accepts a longer password and other clients sign in with it, but the Gateway can’t, so a rotation that generated one would leave an account Infisical could no longer reach, check, or rotate back. Treat 30 as a hard ceiling rather than a conservative default. The same limit applies to the rotation account itself. If its own password is longer than 30 characters it can’t sign in to perform the rotation, so shorten it first.