查看oracle数据库的连接数以及用户

合集下载

oracle数据库监控指标

oracle数据库监控指标

oracle数据库监控指标
1. 数据库连接数(Database Connections):监控数据库中当前的连接数,包括活动连接和空闲连接。

2. 缓冲区命中率(Buffer Cache Hit Ratio):监控数据库的缓冲区使用情况,即在缓冲区中找到所需数据的比例。

3. 表空间使用率(Tablespace Usage):监控数据库中各个表空间的使用情况,包括已用空间、剩余空间和总空间。

4. 锁等待(Lock Waits):监控数据库中的锁等待情况,包括导致锁等待的SQL语句和等待时间。

5. 内存使用率(Memory Usage):监控数据库服务器的内存使用情况,包括物理内存和虚拟内存的使用情况。

6. I/O等待(I/O Waits):监控数据库中的I/O等待情况,包括导致I/O等待的原因和等待时间。

7. SQL执行时间(SQL Execution Time):监控数据库中各个SQL语句的执行时间,用于评估SQL性能。

8. 数据库响应时间(Database Response Time):监控数据库的响应时间,包括从发出SQL请求到获得结果的时间。

9. 数据库可用性(Database Availability):监控数据库的可用性,包括数据库实例的运行状态和数据库服务的连通性。

10. 日志切换频率(Log Switches):监控数据库日志文件切换的频率,即日志文件的生成和切换。

11. 监控表空间中的数据增长率(tablespace growth rate)
12. 监控重做日志增长率(redo log growth rate)。

Oracle查看所有用户及其权限

Oracle查看所有用户及其权限

Oracle查看所有⽤户及其权限Oracle查看所有⽤户及其权限:Oracle数据字典视图的种类分别为:USER,ALL 和 DBA.USER_*:有关⽤户所拥有的对象信息,即⽤户⾃⼰创建的对象信息ALL_*:有关⽤户可以访问的对象的信息,即⽤户⾃⼰创建的对象的信息加上其他⽤户创建的对象但该⽤户有权访问的信息DBA_*:有关整个数据库中对象的信息(这⾥的*可以为TABLES,INDEXES,OBJECTS,USERS等。

)1、查看所有⽤户select * from dba_user;select * from all_users;select * from user_users;2、查看⽤户系统权限select * from dba_sys_privs;select * from all_sys_privs;select * from user_sys_privs;3、查看⽤户对象权限select * from dba_tab_privs;select * from all_tab_privs;select * from user_tab_privs;4、查看所有⾓⾊select * from dba_roles;5、查看⽤户所拥有的⾓⾊select * from dba_role_privs;select * from user_role_privs;6、查看当前⽤户的缺省表空间select username,default_tablespace from user_users;7、查看某个⾓⾊的具体权限如 grant connect,resource,create session,create view to TEST;8、查看RESOURCE具有那些权限SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCEoracle创建⽤户需要什么权限,Oracle 创建普通⽤户,并赋予权限采⽤sys or system / manager assysdba; 连接数据库。

oracle查看当前连接数

oracle查看当前连接数

oracle查看当前连接数1、查看当前的数据库连接数select count(*) from v$process ; --当前的数据库连接数2、数据库允许的最⼤连接数select value from v$parameter where name ='processes'; --数据库允许的最⼤连接数3、修改数据库最⼤连接数alter system set processes = 300 scope = spfile; --修改最⼤连接数:4、关闭/重启数据库shutdown immediate; --关闭数据库startup; --重启数据库5、查看当前有哪些⽤户正在使⽤数据select osuser, ername, cpu_time/executions/1000000||'s', b.sql_text, machinefrom v$session a, v$sqlarea bwhere a.sql_address =b.addressorder by cpu_time/executions desc; --查看当前有哪些⽤户正在使⽤数据6、 --当前的session连接数select count(*) from v$session --当前的session连接数7、当前并发连接数select count(*) from v$session where status='ACTIVE'; --并发连接数v$process:这个视图提供的信息,都是oracle服务进程的信息,没有客户端程序相关的信息服务进程分两类,⼀是后台的,⼀是dedicate/shared serverpid, serial# 这是oracle分配的PIDspid 这才是操作系统的pidprogram 这是服务进程对应的操作系统进程名v$session:这个视图主要提供的是⼀个数据库connect的信息,主要是client端的信息,⽐如以下字段:machine 在哪台机器上terminal 使⽤什么终端osuser 操作系统⽤户是谁program 通过什么客户端程序,⽐如TOADprocess 操作系统分配给TOAD的进程号logon_time 在什么时间username 以什么oracle的帐号登录command 执⾏了什么类型的SQL命令sql_hash_value SQL语句信息有⼀些是server端的信息:paddr 即v$process中的server进程的addrserver 服务器是dedicate/shared原⽂链接:https:///baidu_27474941/article/details/100134406。

oracle连接参数

oracle连接参数

Oracle连接参数主要用于设置连接数据库的详细信息,包括连接字符串、用户名、密码、端口号、服务名等。

以下是一些常用的Oracle连接参数:1. 连接字符串(TNS名称):用于标识Oracle数据库实例的位置和类型。

通常采用以下格式:TNS_NAME = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 主机名)(PORT = 端口号)) (CONNECT_DATA = (SERVICE_NAME = 服务名)))2. 用户名和密码:用于验证连接数据库的用户身份。

在命令行工具(如SQL*Plus)中使用,格式如下:USERID/PASSWORD=用户名/密码3. 端口号:用于指定Oracle数据库监听的端口。

默认情况下,Oracle数据库监听的端口为1521。

4. 服务名:用于区分同一台服务器上运行的多个Oracle数据库实例。

格式如下:SERVICE_NAME = 服务名5. 数据库字符集:用于指定Oracle数据库的字符集,例如UTF8、AL32UTF8等。

6. NLS参数:用于设置Oracle数据库的时区、语言等环境变量。

例如:NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'NLS_TIME_ZONE = 'PRC'7. 数据库类型:用于指定Oracle数据库的类型,如ORACLE、SEQUEL等。

8. 连接池参数:用于设置连接池的属性,如最大连接数、最小连接数等。

例如:POOL_NAME = 'mypool'MAX_POOL_SIZE = 10MIN_POOL_SIZE = 59. 隐私设置:用于设置连接数据库的隐私选项,如加密、身份验证等。

SECURITY_MEASURES = ('NONE', 'KERBEROS', 'SSL', 'EXTERNAL_AUTH)10. 其他参数:根据具体需求,还可以设置其他相关参数,如数据库备份、恢复等。

oracle数据库常用检测语句

oracle数据库常用检测语句

1、--查询每台电脑的连接数select username, t.MACHINE,t.PROGRAM, t.STATUS, count(username)from v$session twhere username is not nullgroup by username, t.MACHINE,t.PROGRAM, t.STATUSorder by username, t.MACHINE,t.PROGRAM, t.STATUS;2--查询可用连接数和已经用了的连接数select RESOURCE_NAME as A,--资源名,CURRENT_UTILIZATION as b,--资源的当前使用量,MAX_UTILIZATION as c,--资源使用达到的最大值,INITIAL_ALLOCATION as d,--初始化值一般等于limit_value,LIMIT_VALUE as e--系统设置的资源值from v$resource_limitwhere resource_name in ('sessions', 'processes');3--查询数据库内存select * from v$sga;select * from v$sgastat;4--查询耗时最长的sql,采用这个语句在业务高峰监控那个查询语句耗时长,占用数据库连接不释放select *from (select SQL_TEXT,SQL_FULLTEXT,round(ELAPSED_TIME / 1000000, 2) ccc,--总时长,EXECUTIONS dd,--执行次数,round(ELAPSED_TIME / 1000000 / EXECUTIONS, 3) ee,--每次时长,trunc((elapsed_Time - cpu_time) * 100 / elapsed_Time, 2) aa,--等待时间占比,round((elapsed_Time - cpu_time) / 1000000, 2) ff,--等待时长,round(USER_IO_WAIT_TIME / 1000000, 2) gg,--IO等待时间,buffer_gets bb,--读取缓冲区次数,disk_reads hh,--读盘次数,hash_value, --SQL的hash_value,以备获取完整SQLsql_id,SORTS --排序次数from (select *from v$sqlareawhere executions > 10and PARSING_SCHEMA_NAME = '***' --注意修改schema名称order by ELAPSED_TIME desc)where rownum < 500)order by ee desc;5--数据库分区表最大分区检查---查询结果当前最大分区要比当前日期提前半年以上。

查看数据库连接数且找到优化办法

查看数据库连接数且找到优化办法

今天整理的资料,并做过测试,供参考。

『可以通过下列SQL语句查看数据库连接数select * from (SELECT hostprocess,count(hostprocess) as c FROM[Master].[dbo].[SYSPROCESSES] WHERE [DBID]IN(SELECT [DBID] FROM[Master].[dbo].[SYSDATABASES]WHERENAME='数据库名称') group by hostprocess) as T order by T.C desc此时得到的是系统进程PID占用的连接数,如果想看具体是那个应用程序池占用的可以打开运行,敲入命令:iisapp –a 得到当前应用程序是与PID的对照表,这样可以看到是那个池占用了连接通过在215上的测试,网站的池都占用了大量的连接,超过50的有四个池,都是demo6的站,而且是一直有这么多的连接,真的是可能我们的底层有问题。

』下面是更加详细的内容:经常发生“数据库连接过多的错误” 这样的错误,但是却又不清楚当前的连接数为多少,大致的总结了几种方法。

1.通过系统的“性能”来查看:开始->管理工具->性能(或者是运行里面输入mmc)然后通过52716添加计数器添加SQL 的常用统计然后在下面列出的项目里面选择用户连接就可以时时查询到数据库的连接数了。

不过此方法的话需要有访问那台计算机的权限,就是要通过windows账户登陆进去才可以添加此计数器。

2.通过系统表来查询:SELECT * FROM[Master].[dbo].[SYSPROCESSES] WHERE [DBID]IN(SELECT[DBID]FROM[Master].[dbo].[SYSDATABASES]WHERENAME='databaseName')databaseName 是需要查看的数据库,然后查询出来的行数,就是当前的连接数。

查看oracle数据库的连接数以及用户

查看oracle数据库的连接数以及用户
5查看用户或角色系统权限直接赋值给用户或角色的系统权限
查看 oracle数据库的连接数以及用户
1、查询oracle的连接数 select count(*racle的并发连接数 select count(*) from v$session where status='ACTIVE'; 3、查看不同用户的连接数 select username,count(username) from v$session where username is not null group by username; 4、查看所有用户: select * from all_users; 5、查看用户或角色系统权限(直接赋值给用户或角色的系统权限): select * from dba_sys_privs; select * from user_sys_privs; 6、查看角色(只能查看登陆用户拥有的角色)所包含的权限 select * from role_sys_privs; 7、查看用户对象权限: select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs; 8、查看所有角色: select * from dba_roles; 9、查看用户或角色所拥有的角色: select * from dba_role_privs; select * from user_role_privs; 10、查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限) select * from V$PWFILE_USERS;

获取oracle数据库用户登陆和登出信息

获取oracle数据库用户登陆和登出信息

--查询当前数据库数据文件存放位置select * from dba_data_files;--为记录会话登陆和登出信息的表单独创建一个表空间,避免此表的数据增长给其它业务系统的表空间带来影响。

--drop tablespace logon_info including contents and datafiles;create tablespace logon_info datafile '+OAUTFVG/noarcha/logon_inf01.dbf' size 16g autoextend off;--创建一个间隔分区表,每隔一天创建一个新的分区,便于清理存放于此表的会话登陆和登出信息。

create table erlogon_info(username varchar2(30),session_id number(10),host_name varchar2(30),last_module varchar2(30),logon_day date,logon_time varchar2(15),logoff_day date,logoff_time varchar2(10),elapsed_minutes number(10),program varchar2(50),osuser varchar2(50))partition by range(logon_day) interval(numtodsinterval(1,'day'))store in (logon_info)(partition p0 values less than (to_date('2018-09-13','YYYY-MM-DD')) tablespace logon_info);alter table erlogon_info add ip_address varchar2(30) default null;--创建会话登陆触发器,用户登陆立即在此表中新增一条相关记录。

oracle数据库中查看用户名的方法

oracle数据库中查看用户名的方法

Oracle数据库中查看用户名的方法1.引言在Or ac le数据库中,用户名是用于标识数据库用户身份的重要信息。

通过正确的方法查看用户名,可以帮助管理员或开发人员更有效地管理和维护数据库。

本文将介绍几种常用的方法来查看O ra cl e数据库中的用户名。

2.使用系统视图查看用户名O r ac le数据库提供了一些系统视图,可以方便地查看用户信息。

以下是几个常用的系统视图及其用途:2.1.D B A_U S E R S视图D B A_US ER S视图包含了数据库中所有用户的详细信息。

使用该视图可以查看用户名、用户类型、是否临时用户等信息。

S E LE CT us er na me,us e r_id,a cc ou nt_st a tu sF R OM db a_us er s;2.2.A L L_U S E R S视图A L L_US ER S视图包含了当前用户有访问权限的所有用户信息。

使用该视图可以查看用户名、用户类型等信息。

S E LE CT us er na me,us e r_idF R OM al l_us er s;2.3.U S E R_U S E R S视图U S ER_U SE RS视图包含了当前用户的详细信息。

使用该视图可以查看当前用户的用户名、用户类型等信息。

S E LE CT us er na me,us e r_idF R OM us er_u se rs;3.使用SQ L语句查看用户名除了使用系统视图外,还可以通过SQ L语句直接查询数据库来查看用户名。

以下是几个基本的SQ L语句示例:3.1.查询所有用户名S E LE CT DI ST IN CT use r na meF R OM al l_us er s;3.2.查询当前用户的用户名S E LE CT us erF R OM du al;3.3.查询指定用户的用户名S E LE CT us er na meF R OM db a_us er sW H ER Eu se rn am e='指定用户名';4.使用PL/SQL块查看用户名除了使用SQ L语句外,还可以使用P L/S Q L块来查看用户名。

oracle数据库监控指标

oracle数据库监控指标

oracle数据库监控指标Oracle数据库监控指标是用来评估和监测数据库性能和健康状况的重要参数。

下面我将从多个角度介绍一些常见的Oracle数据库监控指标。

1. CPU利用率,CPU利用率是衡量数据库服务器处理能力的重要指标。

它反映了数据库服务器上CPU资源的使用情况,可以帮助我们判断数据库服务器是否存在CPU瓶颈。

2. 内存利用率,内存利用率是评估数据库服务器内存使用情况的指标。

它包括物理内存和SGA(System Global Area)的利用率。

高内存利用率可能导致性能下降,因此需要监控和优化内存配置。

3. I/O等待时间,I/O等待时间是衡量数据库存储系统性能的重要指标。

它表示数据库等待I/O操作完成的时间,包括读取和写入操作。

长时间的I/O等待可能是存储系统性能不足的表现。

4. 数据库连接数,数据库连接数是指同时连接到数据库的用户数。

监控数据库连接数可以帮助我们了解数据库的负载情况,及时发现连接数过高的问题。

5. 锁等待,锁等待是指在并发访问数据库时,某个会话等待其他会话释放锁资源的时间。

监控锁等待可以帮助我们发现潜在的死锁和性能瓶颈问题。

6. 数据库响应时间,数据库响应时间是衡量数据库性能的关键指标。

它表示用户请求的响应时间,包括查询、更新、事务等操作的执行时间。

监控数据库响应时间可以帮助我们及时发现性能下降的问题。

7. 日志文件使用率,日志文件使用率是评估数据库日志系统性能的指标。

它表示当前日志文件的使用情况,包括活动日志文件和归档日志文件。

高日志文件使用率可能导致日志切换频繁,影响数据库性能。

8. 数据库备份和恢复时间,数据库备份和恢复时间是评估数据库可用性和灾难恢复能力的重要指标。

监控备份和恢复时间可以帮助我们确保数据库的安全性和可靠性。

除了以上列举的指标,还有许多其他的Oracle数据库监控指标,如网络延迟、PGA(Program Global Area)利用率、表空间使用率等等。

查看oracle数据库连接情况

查看oracle数据库连接情况

查看oracle数据库连接情况DBA要定时对数据库的连接情况进行检查,看与数据库建立的会话数目是不是正常,如果建立了过多的连接,会消耗数据库的资源。

同时,对一些“挂死”的连接,可能会需要DBA手工进行清理。

查看数据库情况通过执行sql语句来实现,oracle安装时候提供了sqlplus工具,sql可以在sqlplus下执行。

1、进行查询之前,首先进入数据库用户,进入sqlplus工具,命令如下:su - oraclesqlplus / as sysdba(用户名)2、查询数据库当前进程的连接数:select count(*) from v$process;3、查询数据库的并发连接数:select count(*)from v$session;4、查看数据库允许的最大连接数:select value from v$session where name = 'processes';或者命令:shouw parameter processes;5、修改数据库允许的最大连接数:alter system set processes = 300 scope = spfile;(需要重启数据库才能实现连接数的修改) 重启数据库:shutdown immediate;startyp;6、查看当前数据库建立的会话情况:select sid,serial#,username,program,status from v$session;unix1个用户session对应一个操作系统process(进程),而windows体现在线程上输出结果为:SID SERIAL# USERNMAE PROGRAM MACHINE STATUS---- ------- ------- ------ --------- ------1 1 ORACLE.EXE WORK3 ACTIVE2 1 ORACLE.EXE WORK3 ACTIVE3 1 ORACLE.EXE WORK3 ACTIVE4 1 ORACLE.EXE WORK3 ACTIVE5 3 ORACLE.EXE WORK3 ACTIVE6 1 ORACLE.EXE WORK3 ACTIVE7 1 ORACLE.EXE WORK3 ACTIVE8 27 SYS SQLPLUS.EXE WORKGROUP\\WORK3 ACTIVE11 5 DBSNMP DBSNMP.EXE WORKGROUP\\WORK3 INACTIVE【说明】sid 会话(session)的ID号;serial# 会话的序列号,和sid一起用来唯一标示一个会话;username 建立该会话的用户名;programe 这个会话是用说明工具连接到数据库的;status 当前这个会话的状态,ACTIVE标示会话正在执行某些任务,INACTIVE标示当前会话没有执行任何操作;注意:1、如果DBA要手工断开某个INACTIVE的会话,则执行:alter system kill session \'SID,SERIAL#\;2、上例中SID为1到7,username列为空的会话,oracle的后台进程,不要对浙西而绘画进行任何操作。

查询ORACLE数据库当前连接数

查询ORACLE数据库当前连接数

选择的SchemaName OSUSER,的计数(*)的SchemaName,OSUSER; #最多可以当前不为空的连接处
SELECT * FROM v $ session中的用户名不为空
#查看不同用户的连接数
选择用户名,数量从V $ SESSION(用户名),其中username是用户名空组 #连接数
查询当前数据库连接数,进程数,启动数据库
查询数据库当前进程的连接处5.3:
从V $ PROCESS选择计数(*);
最多可以数据库当前会话的连接处5.3:
从V $ SESSION选出COUNT(*);
最多可以数据库的并发连接处数:
从V $ SESSION状态=“主动”选择COUNT(*);
最多可以当前数据库建立的会话情况:
选择SID,序列号码,用户名,程序,机,从v $ session中的地位;
查询数据库允许的最大连接处5.3:
选择从V $ PARAMETER其中name ='过程'的价值;
或者:显示参数的过程;
查询所有数据库的连接数
选择的ON 组通过的SchemaName; 查询终端用户使用数据库的连接情况。
选择从v $ session中的count(*)
#并发连接处5.3
从V $ SESSION状态=“主动”选择COUNT(*)
#最大连接
显示参数的过程
#修改连接
改变系统设置程序= SCOPE = SPFILE
修改数据库允许的最大连接处5.3:

oracle数据库查询用户语句

oracle数据库查询用户语句

oracle数据库查询用户语句如何查询Oracle数据库中的用户。

想要查询Oracle数据库中的用户,我们可以使用一系列的SQL语句和命令来完成这项任务。

本文将详细介绍如何使用不同的方法查询Oracle数据库中的用户。

首先,我们需要登录到Oracle数据库。

可以使用命令行工具,如SQLPlus 或者SQL Developer登录。

一、使用SQL语句查询所有用户我们可以使用以下SQL语句来查询数据库中的所有用户:SELECT username FROM all_users;这条语句将返回数据库中所有用户的用户名。

二、使用系统视图查询用户Oracle数据库提供了许多系统视图,我们可以使用它们来查询用户信息。

以下是一些常用的系统视图及其用途:1. DBA_USERS:此视图包含了所有用户的信息,包括用户名、创建日期、过期日期等。

SELECT username, created, expiry_date FROM dba_users;这条语句将返回所有用户的用户名、创建日期和过期日期。

2. ALL_USERS:该视图包含了数据库中所有可访问的用户的信息。

SELECT username, created, expiry_date FROM all_users;这条语句将返回所有可访问的用户的用户名、创建日期和过期日期。

3. USER_USERS:这个视图包含了当前用户的信息。

SELECT username, created, expiry_date FROM user_users;这条语句将返回当前用户的用户名、创建日期和过期日期。

三、查询特定用户信息如果我们想查询特定用户的信息,可以使用以下SQL语句:SELECT username, created, expiry_date FROM dba_users WHEREusername = 'username';这条语句将返回指定用户名的用户的用户名、创建日期和过期日期。

Oracle查看、修改连接数

Oracle查看、修改连接数

或者命令:show parameter processes;
6.修改数据库允许的最大连接数:
alter system set processes = 1800 scope = spfile;
alter system set sessions = 1800 scope = spfile;
alter system set sga_target=10G scope=spfile sid='jscn2';
shutdown immediate
startup
4、确定所有的服务都已经启动
[root@testrac1 ~]# crs_stat -t
查看数据文件的路径。
Oracle查看、修改连接数
1.查询数据库当前进程的连接数:
select count(*) from v$process;
2.查看数据库当前会话的连接数:
select count(*) from v$session;
3.查看数据库的并发连接数:
select count(*) from v$session where status='ACTIVE';
启动oracle
su - oracle
SQL>sqlplus system/pwd as sysdba //进入sql
SQL>startup //启动数据库
SQL>lsnrctl start //启动监听
(需要重启数据库才能实现连接数的修改)
重启数据库:
SQL>shutdown immediate;
SQL>startup;
查看当前有哪些用户正在使用数据:

查询ORACLE表空间和数据文件信息

查询ORACLE表空间和数据文件信息

查询ORACLE表空间和数据⽂件信息表空间是oracle数据库中最⼤的逻辑单位与存储空间单位,数据库系统通过表空间为数据库对象分配空间。

表空间在物理上体现为磁盘数据⽂件,每⼀个表空间由⼀个或多个数据⽂件组成,⼀个数据⽂件只可与⼀个表空间相联系,这是逻辑与物理的统⼀。

了解表空间和数据⽂件的的属性及使⽤率,是数据库管理员的⼀项重要职责。

下⾯以oracle9i为例,详细介绍查询Oracle数据库表空间信息和数据⽂件信息的⽅法。

⼀、查看Oracle数据库中表空间信息的⽅法1、查看Oracle数据库中表空间信息的⼯具⽅法:使⽤oracle enterprise manager console⼯具,这是oracle的客户端⼯具,当安装oracle服务器或客户端时会⾃动安装此⼯具,在windows操作系统上完成oracle安装后,通过下⾯的⽅法登录该⼯具:开始菜单——程序——Oracle-OraHome92——Enterprise Manager Console(单击)——oracle enterprise manager console登录——选择‘独⽴启动’单选框——‘确定’ —— ‘oracle enterprise manager console,独⽴’ ——选择要登录的‘实例名’ ——弹出‘数据库连接信息’ ——输⼊’⽤户名/⼝令’ (⼀般使⽤sys⽤户),’连接⾝份’选择选择SYSDBA——‘确定’,这时已经成功登录该⼯具,选择‘存储’ ——表空间,会看到如下的界⾯,该界⾯显⽰了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间⼤⼩,已使⽤的表空间⼤⼩及表空间利⽤率。

图1 表空间⼤⼩及使⽤率2、查看Oracle数据库中表空间信息的命令⽅法:通过查询数据库系统中的数据字典表(data dictionary tables)获取表空间的相关信息,⾸先使⽤客户端⼯具连接到数据库,这些⼯具可以是SQLPLUS字符⼯具、TOAD、PL/SQL等,连接到数据库后执⾏如下的查询语句:selecta.a1 表空间名称,c.c2 类型,c.c3 区管理,b.b2/1024/1024 表空间⼤⼩M,(b.b2-a.a2)/1024/1024 已使⽤M,substr((b.b2-a.a2)/b.b2*100,1,5) 利⽤率from(select tablespace_name a1, sum(nvl(bytes,0)) a2 from dba_free_space group bytablespace_name) a,(select tablespace_name b1,sum(bytes) b2 from dba_data_files group bytablespace_name) b,(select tablespace_name c1,contents c2,extent_management c3 fromdba_tablespaces) cwhere a.a1=b.b1 and c.c1=b.b1;该语句通过查询dba_free_space,dba_data_files,dba_tablespaces这三个数据字典表,得到了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间⼤⼩,已使⽤的表空间⼤⼩及表空间利⽤率。

怎样查看oracle当前的连接数

怎样查看oracle当前的连接数

select count(*) from v$session #连接数
Select count(*) from v$session where status='ACTIVE' #并发连接数
show parameter processes #最大连接
alter system set processes = value scope = spfile;重启数据库 #修改连接
1。查看当前会话数、processes和sessions值,发现session数和2个参数的值已经非常逼近
SQL> conn / as sysdba已连接。
SQL> select> show parameter processes;
怎样查看oracle当前的连接数呢?只需要用下面的SQL语句查询一下就可以了。
select * from v$session where username is not null
select username,count(username) from v$session where username is not null group by username #查看不同用户的连接数
系统已更改。
3。查看processes和sessions参数,但更改并未生效
4。重启数据库,使更改生效
SQL> shutdown immediate
SQL> startup
SQL> show parameter processes
SQL> show parameter sessions
SQL> show parameter sessions;

Oracle查看用户、用户权限、用户表空间、用户默认表空间

Oracle查看用户、用户权限、用户表空间、用户默认表空间

Oracle查看⽤户、⽤户权限、⽤户表空间、⽤户默认表空间查看⽤户和默认表空间的关系。

select username,default_tablespace from dba_users;1.查看表结构:desc表名2.查看当前⽤户的表:select table_name from user_tables;3.查看所有⽤户的表名:select table_name from all_tables;4.查看所有表名(其中包括系统表)select table_name from all_tables;5.查看所有的表:select * from tab/dba_tables/dba_objects/cat;下⾯介绍Oracle查询⽤户表空间◆Oracle查询⽤户表空间:select * from user_all_tables◆Oracle查询所有函数和储存过程:select * from user_source◆Oracle查询所有⽤户:select * from all_users select * from dba_users◆Oracle查看当前⽤户连接:select * from v$Session◆Oracle查看当前⽤户权限:select * from session_privs◆Oracle查看⽤户表空间使⽤情况:select a.file_id "FileNo",a.tablespace_name"Tablespace_name",a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",sum(nvl(b.bytes,0)) "Free",sum(nvl(b.bytes,0))/a.bytes*100 "%free"from dba_data_files a, dba_free_space bwhere a.file_id= b .file_id(+)group by a.tablespace_name ,a.file_id,a.bytes order by a.tablespace_name;1、查看所有⽤户:select * from dba_user;select * from all_users;select * from user_users;2、查看⽤户系统权限:select * from dba_sys_privs;select * from all_sys_privs;select * from user_sys_privs;3、查看⽤户对象权限:select * from dba_tab_privs;select * from all_tab_privs;select * from user_tab_privs;4、查看所有⾓⾊:select * from dba_roles;5、查看⽤户所拥有的⾓⾊:select * from dba_role_privs;select * from user_role_privs;6、查看⾓⾊所拥有的权限:select * from role_sys_privs;select * from role_tab_privs;7、查看所有系统权限select * from system_privilege_map;8、查看所有对象权限select * from table_privilege_map;以上是在Oracle中查看⽤户权限,在DB2中为:select * from syscat.dbauth或者get authorizations查看sidselect * from v$instance。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

查看oracle数据库的连接数以及用户
11、查询oracle的连接数
2select count(*) from v$session;
32、查询oracle的并发连接数
4select count(*) from v$session where status='ACTIVE';
53、查看不同用户的连接数
6select username,count(username) from v$session where username is not null group by username;
74、查看所有用户:
8select*from all_users;
95、查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
10select*from dba_sys_privs;
11select*from user_sys_privs;
126、查看角色(只能查看登陆用户拥有的角色)所包含的权限
13select*from role_sys_privs;
147、查看用户对象权限:
15select*from dba_tab_privs;
16select*from all_tab_privs;
17select*from user_tab_privs;
188、查看所有角色:
19select*from dba_roles;
209、查看用户或角色所拥有的角色:
21select*from dba_role_privs;
22select*from user_role_privs;
2310、查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
24select*from V$PWFILE_USERS;
select count(*) from v$process --当前的连接数
select value from v$parameter where name = 'processes' --数据库允许的最大连接数
修改最大连接数:
alter system set processes = 300 scope = spfile;
重启数据库: sqlplus / as sysdba
shutdown immediate;
startup;
启动监听
#su – oracle
$lsnrctl start
--查看当前有哪些用户正在使用数据
SELECT osuser, ername,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;
select count(*) from v$session #连接数
select count(*) from v$session where status='ACTIVE'#并发连接数
show parameter processes #最大连接
alter system set processes = value scope = spfile;重启数据库#修改连接
SQL> Select count(*) from v$session where status='ACTIVE' ;
COUNT(*)
----------
20
SQL> Select count(*) from v$session;
COUNT(*)
----------
187
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ----------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 450
SQL>
并发指active,I SEE
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体现在线程
DBA要定时对数据库的连接情况进行检查,看与数据库建立的会话数目是不是正常,如果建立了过多的连接,会消耗数据库的资源。

同时,对一些“挂死”的连接,可能会需要DBA手工进行清理。

以下的SQL语句列出当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status
from v$session;
输出结果为:
SID SERIAL# USERNAME PROGRAM MACHINE STATUS
---- ------- ---------- ----------- --------------- --------
1 1 ORACLE.EXE WORK3 ACTIVE
2 1 ORACLE.EXE WORK
3 ACTIVE
3 1 ORACLE.EXE WORK3 ACTIVE
4 1 ORACLE.EXE WORK3 ACTIVE
5 3 ORACLE.EXE WORK3 ACTIVE
6 1 ORACLE.EXE WORK3 ACTIVE
7 1 ORACLE.EXE WORK3 ACTIVE
8 27 SYS SQLPLUS.EXE WORKGROUP\\WORK3 ACTIVE
11 5 DBSNMP dbsnmp.exe WORKGROUP\\WORK3 INACTIVE
其中,
SID 会话(session)的ID号;
SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;
USERNAME 建立该会话的用户名;
PROGRAM 这个会话是用什么工具连接到数据库的;
STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作;
如果DBA要手工断开某个会话,则执行:
alter system kill session \'SID,SERIAL#\'
sql语句
SQL语句如下:
SELECT username, machine, program, status, COUNT (machine) AS
连接数量
FROM v$session
GROUP BY username, machine, program, status
ORDER BY machine;
显示结果(每个人的机器上会不同)
SCHNEIDER|WORKGROUD\WANGZHENG|TOAD.exe|ACTIVE|1
SCHNEIDER|WORKGROUP\597728AA514F49D|sqlplusw.exe|INACTIVE|1
|WWW-Q6ZMR2OIU9V|ORACLE.EXE|ACTIVE|8
PUBLIC|||INACTIVE|0
按主机名查询
SELECT COUNT(*) FROM V$SESSION WHERE MACHINE = 'DXMH'; 'DXMH'为主机名
数据恢复语句
create table informationlaw_bak
as
select * from informationlaw as of TIMESTAMP to_timestamp('20121126
103435','yyyymmdd hh24miss');
//按机器名分组查
select username,machine,count(username) from v$session where username is not null group by username,machine;。

相关文档
最新文档