查看oracle数据库连接数,怎样查看oracle当前的连接数
其实查看oracle数据库连接数的问题并不复杂,但是又很多的朋友都不太了解怎样查看oracle当前的连接数,因此呢,今天小编就来为大家分享查看oracle数据库连接数的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
如何查看oracle当前连接数,会话数
第一步,在cmd命令行,输入sqlplus
第二步,根据提示输入用户名与密码
1.查看processes和sessions参数
SQL> show parameter processes
NAME TYPE VALUE
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 50
SQL> show parameter sessions
NAME TYPE VALUE
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 60
shared_server_sessions integer
2.修改processes和sessions值
SQL> alter system set processes=300 scope=spfile;
系统已更改。
SQL> alter system set sessions=335 scope=spfile;
系统已更改。
3.修改processes和sessions值必须重启oracle服务器才能生效
ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:
sessions=(1.1*process+5)
摘(二)
查询数据库当前进程的连接数:
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= 300 scope= spfile;
(需要重启数据库才能实现连接数的修改)
重启数据库:
shutdown immediate;
startup;
查看当前有哪些用户正在使用数据:
select osuser,a.username,cpu_time/executions/1000000||‘s‘,sql_fulltext,machine
from v$session a,v$sqlarea b
where a.sql_address= b.address
order by cpu_time/executions desc;
备注:UNIX 1个用户session对应一个操作系统process,而Windows体现在线程。
启动oracle
su- oracle
sqlplus system/pwd as sysdba//进入sql
startup//启动数据库
lsnrctl start//启动监听
sqlplus"/as sysdba"
shutdown immediate;
startup mount;
alter database open;
如何查看oracle当前连接数,会话数
标签:timeimmediatesharedorder byoracl提示warlicensearc
怎样查看oracle当前的连接数
SQL> select count(*) from v$session#当前的连接数SQL> Select count(*) from v$session where status=‘ACTIVE‘#并发连接数SQL> select value from v$parameter where name=‘processes‘--数据库允许的最大连接数SQL> show parameter processes#最大连接 SQL> select username,count(username) from v$session where username is not null group by username;#查看不同用户的连接数
#修改最大连接数:alter system set processes= 300 scope= spfile;
#重启数据库:shutdown immediate;startup;
--查看当前有哪些用户正在使用数据SELECT osuser, a.username,cpu_time/executions/1000000||‘s‘, sql_fulltext,machine from v$session a, v$sqlarea bwhere a.sql_address=b.address order by cpu_time/executions desc;select count(*) from v$session#连接数
select count(*) from v$session where status=‘ACTIVE‘#并发连接数show parameter processes#最大连接alter system set processes= value scope= spfile;重启数据库#修改连接 Oracle日志查看
一.Oracle日志的路径:
登录:sqlplus"/as sysdba"
查看路径:SQL> select* from v$logfile;
SQL> select* from v$logfile;(#日志文件路径)
二.Oracle日志文件包含哪些内容:(日志的数量可能略有不同)
control01.ctl example01.dbf redo02.log sysaux01.dbf undotbs01.dbf
control02.ctl redo03.log system01.dbf users01.dbf
control03.ctl redo01.log SHTTEST.dbf temp01.dbf
三.Oracle日志的查看方法:
SQL>select* from v$sql(#查看最近所作的操作)
SQL>select* fromv$sqlarea(#查看最近所作的操作)
Oracle
数据库的所有更改都记录在日志中,从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行,因为原始的日志信
息我们根本无法看懂,Oracle8i后续版本中自带了LogMiner,而LogMiner就是让我们看懂日志信息的工具,通过这个工具可以:查明数据
库的逻辑更改,侦察并更正用户的误操作,执行事后审计,执行变化分析。
四.LogMiner的使用:
1、创建数据字典文件(data-dictionary)
1).首先在init.ora初始化参数文件中,添加一个参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录。如:UTL_FILE_DIR=($ORACLE_HOME\logs),重新启动数据库,使新加的参数生效:
SQL> shutdown;
SQL>startup;
2).然后创建数据字典文件 SQL> connect/as sysdba SQL> execute dbms_logmnr_d.build(dictionary_filename=>‘dict.ora‘,dictionary_location=>‘/data1/oracle/logs‘);
PL/SQL procedure successfully completed
2、创建要分析的日志文件列表 1).创建分析列表,即所要分析的日志 SQL>execute dbms
logmnr.add logfile(LogFileName=>
‘/data1/oracle/oradata/akazamdb/redo01.log‘,Options=>
dbms_logmnr.new); PL/SQL procedure successfully completeds2).添加分析日志文件,一次添加1个为宜
SQL>execute dbms_ logmnr.add_ logfile(LogFileName=>
‘/data1/oracle/oradata/akazamdb/redo01.log‘,Options=>
dbms_logmnr.ADDFILE); PL/SQL procedure successfully completed
3、使用LogMiner进行日志分析(具体要查询什么内容可以自己修改)(1)无限制条件SQL> EXECUTE dbms_logmnr.start_logmnr(DictFileName=>‘/data1/oracle/logs/v816dict.ora‘);(2)有限制条件通过对过程DBMS_ LOGMNR.START_LOGMNR中几个不同参数的设置,可以缩小要分析日志文件的范围。通过设置起始时间和终止时间参数我们可以限制只分析某一时间范围的日志。如下面的例子,我们仅仅分析2007年9月18日的日志:SQL> EXECUTE dbms_logmnr.start_logmnr(DictFileName=>‘/data1/oracle/logs/ v816dict.ora‘,StartTime=> to_date(‘2007-9-18 00:00:00‘,‘YYYY-MM-DD HH24:MI:SS‘)EndTime=> to_date(‘‘2007-9-18 23:59:59‘,‘YYYY-MM-DD HH24:MI:SS‘));也可以通过设置起始SCN和截至SCN来限制要分析日志的范围:SQL> EXECUTE dbms_logmnr.start_logmnr(DictFileName=>‘/data1/oracle/logs/ v816dict.ora‘,StartScn=> 20,EndScn=> 50);4、观察分析结果(v$logmnr_contents)到现在为止,我们已经分析得到了重作日志文件中的内容。动态性能视图v$logmnr_contents包含LogMiner分析得到的所有的信息。SELECT sql_redo FROM v$logmnr_contents;如果我们仅仅想知道某个用户对于某张表的操作,可以通过下面的SQL查询得到,该查询可以得到用户DB_ZGXT对表SB_DJJL所作的一切工作。SQL> SELECT sql_redo FROM v$logmnr_contents WHERE username=‘DB_ZGXT‘ AND tablename=‘SB_DJJL‘;需
要强调一点的是,视图v$logmnr_contents中的分析结果仅在我们运行过程‘dbms_logmrn.start_logmnr‘这个会话的
生命期中存在。这是因为所有的LogMiner存储都在PGA内存中,所有其他的进程是看不到它的,同时随着进程的结束,分析结果也随之消失。最后,使用过程DBMS_LOGMNR.END_LOGMNR终止日志分析事务,此时PGA内存区域被清除,分析结果也随之不再存在。5、查看LogMiner工具分析结果SQL> select* from dict t where t.table_name like‘%LOGMNR%‘;-看所有与logmnr相关的视图TABLE_NAME COMMENTS--------------------------------------------------------------------------------------------------------------GV$LOGMNR_CALLBACK Synonym for GV_$LOGMNR_CALLBACKGV$LOGMNR_CONTENTS Synonym for GV_$LOGMNR_CONTENTSGV$LOGMNR_DICTIONARY Synonym for GV_$LOGMNR_DICTIONARYGV$LOGMNR_LOGFILE Synonym for GV_$LOGMNR_LOGFILEGV$LOGMNR_LOGS Synonym for GV_$LOGMNR_LOGSGV$LOGMNR_PARAMETERS Synonym for GV_$LOGMNR_PARAMETERSGV$LOGMNR_PROCESS Synonym for GV_$LOGMNR_PROCESSGV$LOGMNR_REGION Synonym for GV_$LOGMNR_REGIONGV$LOGMNR_SESSION Synonym for GV_$LOGMNR_SESSIONGV$LOGMNR_STATS Synonym for GV_$LOGMNR_STATSGV$LOGMNR_TRANSACTION Synonym for GV_$LOGMNR_TRANSACTIONV$LOGMNR_CALLBACK Synonym for V_$LOGMNR_CALLBACKV$LOGMNR_CONTENTS Synonym for V_$LOGMNR_CONTENTSV$LOGMNR_DICTIONARY Synonym for V_$LOGMNR_DICTIONARYV$LOGMNR_LOGFILE Synonym for V_$LOGMNR_LOGFILEV$LOGMNR_LOGS Synonym for V_$LOGMNR_LOGSV$LOGMNR_PARAMETERS Synonym for V_$LOGMNR_PARAMETERSV$LOGMNR_PROCESS Synonym for V_$LOGMNR_PROCESSV$LOGMNR_REGION Synonym for V_$LOGMNR_REGIONV$LOGMNR_SESSION Synonym for V_$LOGMNR_SESSIONTABLE_NAME COMMENTS--------------------------------------------------------------------------------------------------------------V$LOGMNR_STATS Synonym for V_$LOGMNR_STATSV$LOGMNR_TRANSACTION Synonym for V_$LOGMNR_TRANSACTIONGV$LOGMNR_LOGS是分析日志列表视图分析结果在GV$LOGMNR_CONTENTS视图中,可按以下语句查询:select scn,timestamp,log_id,seg_owner,seg_type,table_space,data_blk#,data_obj#,data_objd#,session#,serial#,username,session_info,sql_redo,sql_undo from logmnr3 t where t.sql_redo like‘create%‘;如果不能正常查询GV$LOGMNR_CONTENTS视图,并报以下错误,ORA-01306:在从 v$logmnr_contents中选择之前必须调用 dbms_logmnr.start_logmnr()。可采用如下方法:create table logmnr3 as select* from GV$LOGMNR_CONTENTS;
Oracle端口:1521
http://www.cnblogs.com/vipsoft/archive/2012/05/23/2514374.html
怎样查看oracle当前的连接数
标签:消失typeselectdata数据文件动态性rescomm
oracle如何设置最大连接数
查看session:
select* from v$session where username is not null
select username,count(username) from v$session where username is not null group by username
当前连接数:
select count(*) from v$process
查看连接数参数的设置情况
select value from v$parameter where name=‘processes‘
Select count(*) from v$session where status=‘ACTIVE‘#并发连接数
Oracle查看、修改连接数
1.查询数据库当前进程的连接数:
select count(*) from v$process;
2.查看数据库当前会话的连接数:
elect count(*) from v$session;
3.查看数据库的并发连接数:
select count(*) from v$session where status=‘ACTIVE‘;
4.查看当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status from v$session;
5.查询数据库允许的最大连接数:
select value from v$parameter where name=‘processes‘;
或者命令:show parameter processes;
6.修改数据库允许的最大连接数:
alter system set processes= 300 scope= spfile;
(需要重启数据库才能实现连接数的修改)
重启数据库:
SQL>shutdown immediate;
SQL>startup;
查看当前有哪些用户正在使用数据:
SQL>select osuser,a.username,cpu_time/executions/1000000||‘s‘,sql_fulltext,machine
SQL>from v$session a,v$sqlarea b
SQL>where a.sql_address= b.address
SQL>order by cpu_time/executions desc;
备注:UNIX 1个用户session对应一个操作系统process,而Windows体现在线程。
启动oracle
su- oracle
SQL>sqlplus system/pwd as sysdba//进入sql
SQL>startup//启动数据库
SQL>lsnrctl start//启动监听
sqlplus"/as sysdba"
SQL>shutdown immediate;//关闭数据库
SQL>startup mount;
SQL>alter database open;
Session:
1.通过SQLPlus修改Oracle的sessions和processes的关系是
sessions=1.1*processes+ 5
使用sys,以sysdba权限登录:
SQL> show parameter processes;
NAME TYPE VALUE--------
aq_tm_processes integer 1db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> alter system set
processes=400 scope= spfile;系统已更改。
SQL> show parameter processes;NAME TYPE
VALUE--------------------------------
aq_tm_processes
integer 1db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> create pfile from spfile;
注:sessions是个派生值
注:sessions是个派生值,由processes的值决定,公式sessions=1.1*process+ 5
2.通过修改oracle配置文件进行修改修改SPFILEORCL.ORA文件中的processes的值。8.1.5中是init.ora文件,在9i中修改init.ora文件是无效的,这个文件由于是一个二进制的文件,不能直接使用notepad此类的编辑器打开。否则会报错误ORA- 27101 Shared memory realm does not exist。使用UltraEdit或者EditPlus之类的可以编辑二进制文件的编辑器打开此文件(直接编辑二进制文件),然后在Windows服务中重新启动Oracle服务器即可。
3.通过Oracle Enterprise Manager Console在图形化管理器中修改
a.以系统管理员的身份登入
b.进入数据库的例程-配置-一般信息-所有初始化参数
c.修改processes的值
oracle如何设置最大连接数
标签:datacreate服务sql文件的user1.5res不能
关于查看oracle数据库连接数和怎样查看oracle当前的连接数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。