oracle 19c 使用sid访问pdb
时间: 2023-08-16 12:10:24 浏览: 82
您好!对于 Oracle 19c,可以使用 SID 访问 PDB(Pluggable Database)。在连接字符串中,可以指定 PDB 的名称作为服务名(SID)的一部分来访问特定的 PDB。
例如,如果您的 SID 是 ORCL,而 PDB 名称是 PDB1,则连接字符串可以是:
```
ORCL:PDB1
```
这样可以直接连接到 PDB1。
另外,您还可以在 tnsnames.ora 文件中定义一个别名来简化连接过程。例如:
```
ORCLPDB1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = PDB1)
)
)
```
然后,您可以使用别名来连接到 PDB1:
```
ORCLPDB1
```
这些是使用 SID 访问 PDB 的一些基本方法。希望对您有所帮助!如果您还有其他问题,请随时提问。
相关问题
但是在oracle 19c中,默认情况下是无法使用sid访问pdb的,请问应该怎么配置才能使用sid去访问pdb
在 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。请注意,修改数据库的配置可能需要谨慎操作,并且可能需要在适当的环境中进行测试和验证。
oracle19c dbd pdb
Oracle19c introduces a new concept called Pluggable Databases (PDBs) in the Multitenant Architecture. PDBs are self-contained databases within the Oracle Database, allowing multiple databases to share the same database instance. Each PDB can be plugged in or unplugged from the container database (CDB) without affecting other PDBs.
To create a PDB in Oracle 19c, you can use the Database Configuration Assistant (DBCA) or run SQL commands. Here is an example of creating a PDB using SQL:
1. Connect to the CDB:
```
sqlplus sys/password@<CDB_SID> as sysdba
```
2. Create a new PDB:
```
CREATE PLUGGABLE DATABASE <PDB_NAME>
ADMIN USER <PDB_ADMIN_USER> IDENTIFIED BY <PDB_ADMIN_PASSWORD>
FILE_NAME_CONVERT=('<CDB_DATAFILE_DIR>','<PDB_DATAFILE_DIR>');
```
Replace <PDB_NAME> with the name of your PDB, <PDB_ADMIN_USER> and <PDB_ADMIN_PASSWORD> with the administrator username and password for the PDB, and <CDB_DATAFILE_DIR> and <PDB_DATAFILE_DIR> with the directory paths for data files in the CDB and PDB, respectively.
3. Open the new PDB:
```
ALTER PLUGGABLE DATABASE <PDB_NAME> OPEN;
```
You can now connect to the PDB using a separate connection string and perform operations specific to that PDB. Keep in mind that managing PDBs requires knowledge of Oracle Multitenant Architecture. I hope this helps! Let me know if you have any further questions.