如何在DBeaver中通过单一连接访问同一Oracle服务器上的多个数据库?
在DBeaver中通过单一Oracle连接切换数据库(Schema/PDB)
情况1:你的“多个数据库”是Oracle的不同Schema(传统非CDB架构)
Oracle的Schema逻辑和SQL Server的数据库不同,每个Schema对应一个用户。在DBeaver中建立单一连接后,可通过两种方式切换:
- 图形界面操作:连接成功后,在左侧导航栏展开该连接,找到
Schemas节点,右键点击目标Schema选择Set as Default,后续执行SQL会默认使用该Schema;临时访问其他Schema时,直接在表名前加Schema前缀即可,比如SELECT * FROM SCHEMA_NAME.TABLE_NAME - SQL命令切换:执行以下语句修改当前会话的默认Schema:
ALTER SESSION SET CURRENT_SCHEMA = SCHEMA_NAME;
情况2:你的“多个数据库”是Oracle CDB中的不同PDB(多租户架构)
如果是CDB下的独立PDB,可在同一连接内切换,步骤如下:
- 确保连接用户拥有
SET CONTAINER权限,先建立一个指向CDB或任意PDB的连接 - 执行切换PDB的SQL命令:
ALTER SESSION SET CONTAINER = PDB_NAME;
- 命令执行后,当前会话会自动切换到目标PDB,DBeaver导航栏会刷新显示该PDB的所有数据库对象
常见失败原因
Oracle没有SQL Server那样的USE DB_NAME命令,若之前尝试用类似语法自然会失败。另外切换PDB时,需确认用户权限足够,且连接的是支持跨PDB访问的CDB环境。
内容的提问来源于stack exchange,提问作者Ramakrishna Kurudagi
相关产品推荐
相关产品推荐

