Oracle可插拔数据库重命名和TNSNAMES.ORA文件编辑

5q4ezhmt  于 2023-10-16  发布在  Oracle
关注(0)|答案(1)|浏览(125)

我已经用以下命令集重命名了pluggable数据库:

conn / as sysdba;
alter pluggable database ORCLPDB1 close;
alter pluggable database ORCLPDB1 open restricted;
alter session set container=ORCLPDB1;
alter pluggable database rename global_name to NEW_NAME;
alter pluggable database close immediate;
alter pluggable database open;
show pdbs;

并看到PDB已成功重命名:

$ lsnrctl status
...
Service "new_name" has 1 instance(s).
  Instance "ORCLCDB", status READY, has 1 handler(s) for this service...

我可以用一个新的名字连接到PDB

sqlplus sys@localhost:1521/NEW_NAME as sysdba

但我看到tnsnames.ora文件在重命名后没有变化:

ORCLCDB=localhost:1521/ORCLCDB
ORCLPDB1= 
(DESCRIPTION = 
  (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = ORCLPDB1)
  )
)

所以我不明白我需要这个文件,如果我可以连接到PDB与一个新的名称没有问题,我应该改变ORCLPDB1到NEW_NAME在这个文件手动?

c0vxltue

c0vxltue1#

你在这个例子中使用的连接:

sqlplus sys@localhost:1521/NEW_NAME as sysdba

...称为Easy Connect或EZ Connect,并且不使用tnsnames.ora中定义的别名。因为在这种类型的连接已经使用了所有3条所需的信息-主机名(localhost在您的情况下),端口(1521)和服务名称(NEW_NAME)。
为了使用通过tnsnames.ora(称为本地连接,与EZ相对)的连接-您应该使用:用途:

sqlplus sys@ORCLPDB1 as sysdba

.其中ORCLPDB1是您发布的tnsnames.ora中定义的别名。

相关问题