我的oracle版本是19c,是不是因为默认情况下使用的cdb用户,而cdb用户必须使用c##开头的用户名
时间: 2024-03-28 13:39:11 浏览: 12
是的,你说得没错。在Oracle 12c及以上版本中,默认采用多租户架构,即一个CDB(Container Database)下可以有多个PDB(Pluggable Database)。而为了保证CDB用户和PDB用户之间的隔离,CDB用户必须使用c##开头的用户名。因此,在Oracle 19c中,如果你想要创建一个CDB用户,必须使用c##开头的用户名。
相关问题
但是在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。请注意,修改数据库的配置可能需要谨慎操作,并且可能需要在适当的环境中进行测试和验证。
如何使用rman 备份Oracle 19c cdb数据库
感谢您的问题!以下是备份Oracle 19c cdb数据库的步骤:
1. 打开命令行界面,使用rman登录数据库:
rman target /
2. 创建备份集:
run {
allocate channel ch1 type disk;
backup as compressed backupset database include current controlfile format '/backup/full_%d_%U.bkp';
}
3. 如果需要备份指定的表空间,则使用以下命令备份:
run {
allocate channel ch1 type disk;
backup as compressed backupset tablespace users format '/backup/users_%d_%U.bkp';
}
4. 备份完成后,释放通道和退出rman:
release channel ch1;
exit;
希望这能解决您的问题。如果您有任何其他问题,欢迎随时提出!