参考自
修改Oracle默认监听端口-阿里云开发者社区
每日一记:通过sqlplus不暴露密码连接数据库_城风蔚然的博客-CSDN博客
实验如下:
oracle@ora12192.168.56.116 02:06:58 [pwd:/u01/app/oracle/product/12.1.0/db_1/network/admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/12.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/12.1.0/db_1)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.116)(PORT = 11521))
)
)
# 重启监听
oracle@ora12192.168.56.116 02:06:58 [pwd:/u01/app/oracle/product/12.1.0/db_1/network/admin]$ lsnrctl stop
oracle@ora12192.168.56.116 02:06:58 [pwd:/u01/app/oracle/product/12.1.0/db_1/network/admin]$ lsnrctl start
至此,监听端口已经修改完毕,这时Oracle实例是无法注册到此监听上的。
sqlplus / as sysdba
SQL> alter session set container=ORCLPDB;
SQL> alter system set local_listener="(address = (protocol = tcp)(host = 192.168.56.116)(port = 11521))";
# 将监听改回1521
# 把Oracle实例的注册端口改回1521
# sys@ORCL>alter system set local_listener='';
oracle@ora12192.168.56.116 02:07:13 [pwd:/u01/app/oracle/product/12.1.0/db_1/network/admin]$ vi tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.116)(PORT = 11521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLPDB)
)
)
sqlplus / as sysdba
SQL> alter session set container=ORCLPDB;
SQL> create user cs identified by root11;
SQL> grant dba to cs;
# 1. 正常登录
oracle@ora12192.168.56.116 01:39:09 [pwd:/u01/app/oracle/product/12.1.0/db_1/network/admin]$ sqlplus cs/root11@192.168.56.116:11521/ORCLPDB
SQL*Plus: Release 12.2.0.1.0 Production on Thu Nov 24 01:39:11 2022
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> quit;
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
# 隐式密码-远程登录
oracle@ora12192.168.56.116 03:09:44 [pwd:/u01/app/oracle/product/12.1.0/db_1/network/admin]$ sqlplus cs@\"192.168.56.116:11521/ORCLPDB\"
SQL*Plus: Release 12.2.0.1.0 Production on Thu Nov 24 03:09:55 2022
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Enter password: --输入root11
Last Successful login time: Thu Nov 24 2022 02:49:37 -05:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL>
# 隐式密码-使用服务名
oracle@ora12192.168.56.116 03:11:56 [pwd:/u01/app/oracle/product/12.1.0/db_1/network/admin]$ sqlplus cs@orcl
SQL*Plus: Release 12.2.0.1.0 Production on Thu Nov 24 03:12:00 2022
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Enter password: --输入root11
Last Successful login time: Thu Nov 24 2022 03:10:00 -05:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL>
说明:从V8.1.2.191版本开始支持以下写法
使用服务名登录
登录单个实例
文章
阅读量
获赞