oracle数据库为什么需要监听

oracle数据库为什么需要监听,第1张

说的直白些,监听就是公布数据库的门牌号码,服务器地址就是所在的城市小区名,serviceid就是具体的哪个屋子,端口就是有几个门可以进你家。监听服务就是你的管家,他会实时呆在门口,如果有人到你家的话,会先按门铃,然后你的管家就会问些问题,主要是访问者住哪(访问者的ip),然后管家会根据监听配置信息看看访问者是不是上了黑名单,如果上了黑名单,管家就不会开门,如果没有,管家开门放访问者进来,接着就是保安的活了,保安会问访问者的用户、密码,如果错误,乱棒打出,正确了,你就可以参观屋子了,当然这是由权限的,哪间屋子让参观,哪间屋子里的东西可以拿走是由权限控制的,这个已经和监听无关了。

总之一句话,如果没有监听,别人就不会找到你。

连接数据库服务器

(1)   启动服务器端监听器与数据库服务

Linux/Unix下,启动监听器:

$ lsnrctl start

关闭监听器:

$ lsnrctl stop

查看监听状态:

$ lsnrctl status

启动数据库:

$ sqlplus /nolog

SQL>conn sys@myoracle as sysdba   --这里的myoracle是前面配置的客户端本地服务名

SQL>conn / as sysdba

SQL>startup

Windows下,启动监听器:

C:lsnrctl start

启动Oracle实例服务:

C:oradim a href=">

关闭Oracle实例服务:

C:oradim –shutdown –sid myoracle

以上服务必须同时启动,客户端才能连接数据库。由于默认配置的监听器名称是Listener,上述命令可以正常启动监听器,如果监听器名称是其它名称,如aListener,则需要用下列方式才能启动:

Linux/Unix下:

$ lsnrctl start aListener

Windows下:

C:lsnrctl start aListener

(2)   测试连接数据库服务器

测试的方法多种多样,可以在上面配置本地服务名时进行测试,也可以是第三方客户端工具,如PL/SQL Developer,最方便的是用Oracle自带的sqlplus工具,以下利用sqlplus进行测试:

C:sqlplus /nolog

SQL>conn zgh@myoracle

已连接。

监控数据备份恢复完成进度(EXPDP/IMPDP/RMAN)

一、查看EXPDP/IMPDP的进度

1 两个视图

当你当如导出的时候,如果数据量比较大,中途有些人会着急,不免想看看进度如何,利用两个视图就可以看:

DBA_DATAPUBMP_JOBS和DBA_DATAPUMP_SESSIONS视图 

col owner_name for a10 

col job_name for a20 

col operation for a10 

col job_mode for a10 

col state for a20 

col degree for a10 

col  ATTACHED_SESSIONS for a30 

col DATAPUMP_SESSIONS for a30 

set linesize 200

格式化只是为了好看,也可以不用,直接用PL/SQL DEVELOPER图形工具。

可以使用DBA_DATAPUBMP_JOBS和DBA_DATAPUMP_SESSIONS视图来显示数据泵取作业的信息。

select  from DBA_DATAPUBMP_JOBS; 

select  from DBA_DATAPUMP_SESSIONS;   

select sid,serial# from v$session s,dba_datapump_sessions d where ssaddr=dsaddr;

补充一下,前面的sql命令行格式化有点问题,number型的字段应该用9999xxx(多个9) 而不是axx,否则会出现一串串的#。

2 attach参数

1)查看任务进度

当你使用crontab后台任务运行导入导出任务的时候,想查看任务进度,该参数很有用,可以让你再次连接到已经断开的会话中,再次接管导出或导入的任务,当然你得先用前面2个视图查到jobname。

2)中途想停止crontab后台任务

此时,该参数非常好用。因为你不这样做,就得杀进程,而那么多进程,通常都会出错,如此暴利的杀进程方式,强烈滴不推荐。

举例:

假如之前后台任务的脚本中,有类似命令:

expdp system/xxx   DIRECTORY=DATA_PUMP_DIR2  parallel=32  DUMPFILE=xxxx-%Udmp 

ATTACH参数解释:将你的数据泵取客户机会话加入到一个运行的作业中,并使你进行交互方式。此参数只能与用户名/密码组合一起使用。

 

此时你可以使用如下命令重新连接任务,并达到提前终止任务的目的:

 

expdp system/xxx   attach=lurouexp

连接进去之后再执行help命令可以查到停止任务的命令,这里就不列出来了

3 longops视图

另也可以通过v$session_longops视图来监控长期运行的会话。

 

4通过语句查看impdp进度SELECT   atablespace_name,          

ROUND (atotal_size) "total_size(MB)",          

ROUND (atotal_size) - ROUND (bfree_size, 3) "used_size(MB)",          

ROUND (bfree_size, 3) "free_size(MB)",          

ROUND (bfree_size / total_size  100, 2) || '%' free_rate   

FROM   

(  

SELECT   

tablespace_name, SUM (bytes) / 1024 / 1024 total_size               

FROM   dba_data_files           

GROUP BY   

tablespace_name) a,          

(  

SELECT   

tablespace_name, SUM (bytes) / 1024 / 1024 free_size               

FROM   dba_free_space           

GROUP BY   

tablespace_name) b  

WHERE   

atablespace_name = btablespace_name(+);

二、查看RMAN备份进度

另外,查看rman的备份进度,可以用如下语句,记录备忘。

SELECT SID,OPNAME, SERIAL#, CONTEXT, SOFAR, TOTALWORK, ROUND(SOFAR/TOTALWORK100,2) "%_COMPLETE"

FROM V$SESSION_LONGOPS WHERE OPNAME LIKE 'RMAN%'AND OPNAME NOT LIKE '%aggregate%'AND TOTALWORK != 0 AND SOFAR <> TOTALWORK 

order by "%_COMPLETE" desc

单机oracle:linux系统,oracle用户下,lsnrctl start

oracle rac:grid用户下,srvctl start listener -n 节点名

以上就是关于oracle数据库为什么需要监听全部的内容,包括:oracle数据库为什么需要监听、怎样检测oracle数据库的监听器是否配置成功、如何监控oracle数据库的备份等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/9708985.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存