oracle---之listener结构解析

在listener.ora文件中配置相应的服务,然后重新启动数据库和监听服务

使用到的脚本命令:

linux环境: 

1. 修改【Oracle数据库默认安装的路径】/home/oracle/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora文件

         默认情况下该文件内容:

         LISTENER=

            (DESCRIPTION_LIST =

               (DESCRIPTION =

                  (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.42.250)(PORT =1521))

                  (ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1521))

               )

             )

         出现ORA-12514的问题时候,我们需要增加的服务配置:

         SID_LIST_LISTENER=

             (SID_LIST =

                (SID_DESC =

                  (GLOBAL_DBNAME =  orcl)

                  (ORACLE_HOME = /home/oracle/app/oracle/product/12.2.0/dbhome_1)

                  (SID_NAME = orcl)

                 )

               )

 

1.1  这个是公司的oracle数据库的listener.ora与tnsnames.ora文件, 可以与上图进行对比进行判断学习

oracle---之listener结构解析

 

 

 

 

 

 

 

 

2. 启动相关数据库和监听服务

         以oracle身份登录数据库: su -oracle

         进入 sqlplus 控制台:sqlplus/nolog -------------这里不需要开通  listener进程

         以系统管理员登录:connect/ as sysdba

         关闭数据库:shutdown   immediate -------------关闭上次不正确的Oracle数据库对象,比如不包含监听状态的数据库对象

         退出sqlplus控制台:exit

         进入监听器控制台:lsnrctl

         关闭监听器:stop

         启动监听器:start  -----------------------重新打开数据库监听listener进程

         退出监听控制台:exit

         进入 sqlplus 控制台:sqlplus/nolog

         以系统管理员登录:connect/ as sysdba

         启动数据库:startup  ---------------------------重新打开数据库进程

         退出sqlplus控制台:exit

 

上面操作的原因如下:

    1.sqlplus / as sysdba 这是典型的操作系统认证,不需要listener进程    
  2.sqlplus sys/oracle 这种连接方式只能连接本机数据库,同样不需要listener进程    
  3.sqlplus sys/[email protected] 这种方式需要listener进程处于可用状态。最普遍的通过网络连接。