Я создаю приложение весенней загрузки, которое подключается к экземпляру Oracle DB. Моему приложению требуется обрабатывать такие команды SQL, как CREATE PLUGGABLE DATABASE, ALTER PLUGGABLE DATABASE, ALTER SESSION, CREATE TABLESPACE, ALTER USER и т. Д.
Мои Application.properties, как показано ниже
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@x.x.x.x:port/servicename
spring.datasource.username=sys
spring.datasource.password=somepassword
Поскольку для выполнения ALTER PLUGGABLE DATABASE COMMANDS требуется привилегия sysdba, я указал пользователю sysdba "sys" и его пароль в файле application.properties.
Однако, когда я выполняю команду, я получаю ошибку
«соединение как SYS должно быть как SYSDBA или SYSOPER». Этот пользователь имеет привилегию sysdba, однако при запуске из SQLPLUS я упоминаю
SQLPLUS / as sysdba перед выполнением команд alter.
Я попытался указать
spring.datasource.username=sys as sydba,
однако это приводит к ORA-01017: неверное имя пользователя / пароль; Ошибка входа в систему.
Подскажите, пожалуйста, как я могу подключиться как sysdba из моего приложения и выполнить команды alter?
Примечание: я только что услышал, что невозможно подключиться как «sys» из приложения, если да, то можете ли вы предложить, какой тип пользователя и какие привилегии потребуются для пользователя, который может быть подключен из приложения для выполнения ALTER PLUGGABLE DATABASE команды
Примечание 2: Само мое приложение предназначено для создания и изменения PDB на основе входных данных JSON. Это не единовременная задача, выполняемая администратором базы данных.