在Window系统下,快速查看 Oracle 21C 的EM端口

好不容易把Oracle 21C装好,结果点的太快,没注意看安装完成给出的访问页面信息?或者太久没使用忘记了em的端口?问题不大,简单几个小步骤可以快速查询Oracle 21C所有监听的端口等信息……

简单说明

  • 平台:Windows10
  • Oracle 版本:Oracle Databse 21C(安装选项:高级配置。如果是经典配置,则默认不带em)

 

可以简单通过使用命令:lsnrctl status 来查询监听信息。

若提示“不是内部或外部命令……”:在这之前,请确保你的Oracle系统环境变量* 配置正确。

*正常来说,21C安装完成会自动配置好系统环境变量。否则,请在系统环境变量的“path”里添加你的“21C Home目录”下的“bin目录”,如:D:\OracleDB\21C_Home\bin

1.步骤

话不多说,简单一点,直接 Windows + R 键 ,打开“运行”窗口,输入“cmd”回车,之后输入 lsnrctl status 来查询监听信息。

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MoeClub)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=MoeClub)(PORT=5500))(Security=(my_wallet_directory=D:\ORACLEDB\21C_APP\admin\orcl\xdb_wallet))(Presentation=HTTP)(Session=RAW))
一般至少会有3个或以上的监听信息,其中协议为“tcps”的就是你的em监听端口信息,如:5500
使用 https://localhost:5500/em 即可访问em管理页面,具体端口请自行替换。

2.可能会遇到的问题

使用完 lsnrctl status ,只查询到下面的信息?

……上面的省略……
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MoeClub)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
服务摘要..
……下面的也省略……

2.1 不是内部或外部命令

系统环境变量问题(出现的概率不大,毕竟安装完21C主程序后,就自己自动配置好了。),手动去右键“此电脑”——“属性”——“高级系统设置”——“环境变量”——找到“系统变量”里的“Path”双击打开——添加你的 21C Home目录\bin目录,如:D:\OracleDB\21C_Home\bin 确定保存,关闭cmd窗口重新尝试使用 lsnrctl status 命令。

2.2 打开可读写库

可能你的可读写库(可插入数据库)状态处于“mount”,需要将其变更为“read write”可读写状态。

*如果提示 ORA-12560: TNS: 协议适配器错误 错误,请查看下面的“打开Oracle服务(按需要)”

首先使用 sqlplus 或者其它工具,以sysdba身份登录sys用户*:sqlplus / as sysdba
然后可以简单的使用命令:show pdbs; 来查你的可读写库看是否为“mount”状态。
如是,则使用命令:alter session set container = 你的可读写库名; 切换到可读写库里。
之后,直接使用命令:alter database open; 
再次使用:show pdbs; 查看状态是否已经变更为“read write”。
最后,在可读写库状态为“read write”下,使用 Windows + R 键,输入“cmd”回车,再次使用命令:lsnrctl status 来查询监听信息,会发现em的监听信息也显示出来了。

2.3 打开Oracle服务(按需要)

可能是你的oracle服务没有开启,使用 Windows + R 键,输入 services.msc 回车打开服务,将输入法切换到“英文状态”,然后随便点中一个服务,再按一下字母“o”键,请查看 OracleOraDB21Home1TNSListener 、OracleServiceORCL 、OracleVssWriterORCL  这3个服务* 是否有在运行,若没有,请右键选中,选择“启动”。

碎碎念

* 单实例的话,正常会安装4个服务,其中OracleJobSchedulerORCL 这个就不用管了。

* 若是安装部署了多个数据库实例,那么记得开启对应的相关服务信息。

关于21C占用物理内存

最后,如果你想有效利用有限的硬件资源:

  • 可以将 OracleServiceORCL 这个服务设置为“手动”
  • 然后不需要使用oracle 21c的时候就“停止”这个服务,反之,则启用它。
  • 之后在可读写库里使用命令alter database open; 去打开可读写库。

相对来说能省很多的内存(Ram)。

阅读剩余
THE END