我正在创建一个连接到 Oracle 数据库实例的 Spring Boot 应用程序。我的应用程序需要处理 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 权限才能执行,因此我在 application.properties 文件中提供了 sysdba 用户“sys”及其密码。
但是,当我执行命令时,我收到错误“作为 SYS 的连接应该是 SYSDBA 或 SYSOPER”。这个用户具有 sysdba 权限,但是当我从 SQLPLUS 运行时,我在执行更改命令之前提到了 SQLPLUS / as sysdba。
我试过指定
spring.datasource.username=sys as sydba,
但是这会导致 ORA-01017: invalid username/password; 登录被拒绝错误。
您能否建议我如何从我的应用程序连接为 sysdba 并执行更改命令?注意:我刚听说不能从应用程序连接为“sys”,如果可以,请建议可以从应用程序连接的用户需要什么类型的用户以及需要什么权限才能执行 ALTER PLUGGABLE DATABASE命令 注 2:我的应用程序本身旨在根据 JSON 输入创建和更改 PDB。这不是 DBA 一次性完成的任务。