但是在oracle 19c中,默认情况下是无法使用sid访问pdb的,请问应该怎么配置才能使用sid去访问pdb
时间: 2024-04-10 20:27:34 浏览: 53
在 Oracle 19c 中,默认情况下是使用服务名称(service name)而不是 SID 来访问 PDB。然而,您可以通过以下步骤配置 Oracle 19c 以允许使用 SID 访问 PDB:
1. 确保您具有适当的权限:连接到数据库使用具有 SYSDBA 或 SYSOPER 角色的特权用户。
2. 使用以下命令将 `REMOTE_LISTENER` 参数设置为监听器的地址和端口号:
```
ALTER SYSTEM SET REMOTE_LISTENER='<listener_address>:<listener_port>' SCOPE=SPFILE;
```
将 `<listener_address>` 替换为监听器的 IP 地址或主机名,将 `<listener_port>` 替换为监听器的端口号。
3. 重启数据库实例以使更改生效:
```
SHUTDOWN IMMEDIATE;
STARTUP;
```
4. 连接到数据库使用具有 SYSDBA 或 SYSOPER 角色的特权用户,并执行以下命令:
```
ALTER SYSTEM SET LOCAL_LISTENER='<listener_address>:<listener_port>/SID' SCOPE=BOTH;
```
将 `<listener_address>` 替换为监听器的 IP 地址或主机名,将 `<listener_port>` 替换为监听器的端口号,将 `SID` 替换为要连接的数据库实例的 SID。
5. 重新注册 PDB:连接到 CDB 使用具有 SYSDBA 或 SYSOPER 角色的特权用户,并执行以下命令:
```
ALTER PLUGGABLE DATABASE <pdb_name> CLOSE;
ALTER PLUGGABLE DATABASE <pdb_name> OPEN;
```
将 `<pdb_name>` 替换为要重新注册的 PDB 的名称。
完成以上步骤后,您应该能够使用 SID 访问 Oracle 19c 中的 PDB。请注意,修改数据库的配置可能需要谨慎操作,并且可能需要在适当的环境中进行测试和验证。
阅读全文