как указать роль администратора базы данных при подключении к базе данных Oracle из весеннего загрузочного приложения - PullRequest
0 голосов
/ 17 апреля 2019

Я создаю приложение весенней загрузки, которое подключается к экземпляру 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. Это не единовременная задача, выполняемая администратором базы данных.

...