如何查看oracle线程 怎么看oracle数据库进程

如何通过Administration Assistant for Windows管理ORACLE线程

在UNIX或者LINUX中可以比较方便的管理ORACLE运行的进程,但在WINDOWS中ORACLE的每个会话是采用线程的机制进行管理,所以通过普通的任务管理器不能查看到具体的ORACLE用户线程。

创新互联10多年成都企业网站建设服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,成都企业网站建设及推广,对除甲醛等多个领域拥有丰富的网站运维经验的网站建设公司。

当然,通过专用的线程管理工具是可以看到的,如WINDOWS附加工具箱中的Qslice(线程分析器)就可以。

oracle数据库怎么查看进程数

查看ORACLE最大进程数:

SQL select count(*) from v$session #连接数

SQL Select count(*) from v$session where status='ACTIVE' #并发连接数

SQL show parameter processes #最大连接

SQL alter system set processes = value scope = spfile;重启数据库 #修改连接

unix 1个用户session 对应一个操作系统 process

而 windows体现在线程

------------------------------------------------------------------------------

修改ORACLE最大进程数:

使用sys,以sysdba权限登录:

SQL show parameter processes;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

aq_tm_processes integer 1

db_writer_processes integer 1

job_queue_processes integer 10

log_archive_max_processes integer 1

processes integer 150

SQL alter system set processes=300 scope = spfile;

系统已更改。

SQL show parameter processes;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

aq_tm_processes integer 1

db_writer_processes integer 1

job_queue_processes integer 10

log_archive_max_processes integer 1

processes integer 150

SQL create pfile from spfile;

文件已创建。

重启数据库,

SQL show parameter processes;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

aq_tm_processes integer 1

db_writer_processes integer 1

job_queue_processes integer 10

log_archive_max_processes integer 1

processes integer 300

Oracle查看、修改连接数

查询数据库当前进程的连接数

select count(*) from v$process;

查看数据库当前会话的连接数

elect count(*) from v$session;

查看数据库的并发连接数

select count(*) from v$session where status= ACTIVE ;

查看当前数据库建立的会话情况

select sid serial# username program machine status from v$session;

查询数据库允许的最大连接数

select value from v$parameter where name = processes ;

或者命令 show parameter processes;

修改数据库允许的最大连接数

alter system set processes = scope = spfile;

(需要重启数据库才能实现连接数的修改)

重启数据库

SQLshutdown immediate;

SQLstartup;

查看当前有哪些用户正在使用数据

SQLselect osuser a username cpu_time/executions/ || s sql_fulltext machine

SQLfrom v$session a v$sqlarea b

SQLwhere a sql_address = b address

SQLorder by cpu_time/executions desc;

备注 UNIX 个用户session对应一个操作系统process 而Windows体现在线程

启动oracle

su oracle

SQLsqlplus system/pwd as sysdba     //进入sql

SQLstartup                                      //启动数据库

SQLlsnrctl start                               //启动监听

sqlplus /as sysdba

SQLshutdown immediate;  //关闭数据库

SQLstartup mount;

lishixinzhi/Article/program/Oracle/201311/18867

oracle查询资源占用,锁表解锁

1. 先通过top命令查看产用资源较多的spid号

2.查询当前耗时的会话ID,用户名,sqlID等:

select sid,serial#,machine,username,program,sql_hash_value,sql_id,

  to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time from v$session

where paddr in (select addr from v$process where spid in ('5648612','256523'));

3. 如果上一步sql_id或者 hash_value不为空,则可用v$sqlarea查出当前正在使用的sql

select sql_text

from v$sqltext_with_newlines

where hash_value = hash_value

order by piece;

也可直接使用:

select a.*,b.SQL_TEXT from (

select sid,serial#,machine,username,program,sql_hash_value,sql_id,

  to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time from v$session

where paddr in (select addr from v$process where spid in ('23226'))

) a,v$sql b

where a.sql_id  = b.SQL_ID(+)

4.kill占用大资源的session

Alter system kill session 'SID,SERIAL#'

解锁:

1.查询哪些对象被锁:

select object_name,machine,s.sid,s.serial#

from v$locked_object l,dba_objects o ,v$session s

where l.object_id = o.object_id and l.session_id=s.sid;

2.下面的语句用来杀死一个进程:

alter system kill session '524,1095'; (其中24,111分别是上面查询出的sid,serial#)

3.再一次查询目前锁定的对象,若发现以上方法不能解除锁定的表,则用以下方法:

3.1 执行下面的语句获得进程(线程)号:

select spid, osuser, s.program

from v$session s,v$process p

where s.paddr=p.addr and s.sid=524 (524是上面的sid)

oracle线程进程

windows里所有oracle事务统一由一个oracle.exe进程管理,pmon、smon等表现为oracle.exe内的线程。

linux系统里pmon、smon都是独立的进程。

线程是进程的组成部分,进程中的资源由多个线程共享。你可以把它们想象成:

进程是老大,手上有的是钞票、棍棒;

线程是他的小弟们,身无分文;

老大提供棍棒给小弟们出去办事,办事需要钱的时候由老大分配,小弟们抢来的钞票归老大统一支配。

linux 下怎么查看数据库oracle的具体的配置

1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。

2、在命令行下输入shell指令:whereis oracle。

3、最后,按下回车键执行shell指令,此时会看到数据库oracle的具体位置被打印了出来。


分享标题:如何查看oracle线程 怎么看oracle数据库进程
当前网址:http://azwzsj.com/article/hghcsd.html