在AWS RDS环境下能否使用Oracle Edition-Based Redefinition?
AWS RDS Oracle中使用Edition-Based Redefinition(EBR)的说明
AWS RDS Oracle完全支持Edition-Based Redefinition功能,你遇到的ORA-01031错误仅针对修改数据库默认版本的操作,核心原因如下:
权限限制说明
修改数据库级默认版本的语句ALTER DATABASE DEFAULT EDITION = e2;需要SYSDBA权限,但AWS RDS不会将SYSDBA权限开放给用户创建的管理员账号,因此执行该语句必然触发权限不足错误。
可行的替代方案
你可以通过以下方式正常使用EBR功能:
- 会话级版本切换:继续使用
ALTER SESSION SET EDITION = E2;为当前会话指定版本,这部分你已经测试成功,该操作仅需普通权限即可执行。 - 用户级默认版本设置:如果需要让特定用户的新连接默认使用E2版本,可通过修改用户的默认版本实现,语句如下:
该操作仅需ALTER USER [你的用户名] DEFAULT EDITION = E2;ALTER USER权限,RDS提供的管理员账号默认具备此权限。
总结
你可以正常在RDS Oracle中使用EBR创建版本、修改版本内的对象、切换会话版本,仅数据库级默认版本的修改受限于权限无法执行,通过设置用户默认版本可达到类似让新连接使用指定版本的效果。
内容的提问来源于stack exchange,提问作者Thomas Carlton
相关产品推荐
相关产品推荐

