When that is executed all objects are created under inda1 schema, including the databasechangelog and databasechangeloglock. There is no need for “ANY” privileges and no need to use something like “–liquibaseSchemaName” parameter for this setup.
Using liquibase plugin with Maven (liquibase 4.2.2) against Oracle RDBMS.
So we access liquibase through Maven goals.
I has to use: changelogSchemaName instead of liquibaseSchemaName.
We precreate the liquibase tables in their own liquibase schema.
Liquibase proxy user schema has only connect privileges.
PROXY connection to schema owner with an ‘admin’ liquibase role (privs on liquibase log tables) and role with create table, create index, etc…
I pre-created liquibase admin schema , gave related grants .
It now works for me without "create any " privileges the issue was with “residual” ddls that had db change logs create statements which shouldnt have been there.
It seems you’re trying to limit the permissions for security reasons, which makes sense. Granting “create any” can be risky since it allows the creation of objects in any schema, which could lead to unintended consequences. Using “grant create” is a safer approach, but I’ve also noticed that the --liquibaseSchemaName parameter doesn’t always force the changelog tables into the desired schema.
I’ve been exploring the proxy user setup too, and honestly, granting create any always felt like overkill to me—it’s like handing someone the keys to the kingdom when all they needed was access to the pantry. The way I see it, limiting privileges wherever possible is just good practice. I recently stumbled across something called The Most Light Icon Complex Proxy while diving into LightningProxies—have you heard of it? It caught my eye because it’s designed to keep things minimal while still being functional for specific use cases like this. Maybe worth a look if you’re trying to avoid over-granting but still need flexibility.