动态注册的解决流程:
首先的关键是编辑好tnsname.ora文件: $ORACLE_HOME/network/admin/tnsnames.ora
┌──(oracle㉿mymaster2)-[/oracle/network/admin]
└─$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /oracle/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_MYDB =
(ADDRESS = (PROTOCOL = TCP)(HOST = mymaster2)(PORT = 1521)) # mymaster2为更新后的主机名
MYDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mymaster2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mydb)
)
)
MYPDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mymaster2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mypdb)
)
)
K2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mymaster2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = k2)
)
)
然后执行下面的sql
┌──(oracle㉿mymaster2)-[/oracle/network/admin]
└─$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on 星期二 12月 6 08:32:56 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
连接到:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 MYPDB READ WRITE NO
4 SONARDB READ WRITE NO
6 K2 READ WRITE NO
SQL>
SQL> show parameter listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
forward_listener string
listener_networks string
local_listener string # value为空,如果不为空,继续向下执行
remote_listener string
SQL> alter system set local_listener='';
系统已更改。
SQL> alter system register;
系统已更改。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




