在实际的工作中,数据库管理员(DBA)需要经常要定时对数据库的连接情况进行检查,查看与数据库建立的会话数目是不是正常,假如建立了过多的连接,会消耗许多数据库的资源。与此同时,针对一些“挂死”的连接,可能会需要DBA自行手工进行清理。
下面的SQL语句列出当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status
from v$session;
输出的结果:
SID SERIAL# USERNAME PROGRAM MACHINE STATUS
---- ------- ---------- ----------- --------------- --------
1 1 ORACLEEXE WORK3 ACTIVE
2 1 ORACLEEXE WORK3 ACTIVE
3 1 ORACLEEXE WORK3 ACTIVE
4 1 ORACLEEXE WORK3 ACTIVE
5 3 ORACLEEXE WORK3 ACTIVE
6 1 ORACLEEXE WORK3 ACTIVE
7 1 ORACLEEXE WORK3 ACTIVE
8 27 SYS SQLPLUSEXE WORKGROUP\WORK3 ACTIVE
11 5 DBSNMP dbsnmpexe WORKGROUP\WORK3 INACTIVE
其中SID 会话(session)的ID号;
SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;
USERNAME 建立该会话的用户名;
STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何 *** 作;
假如要手工断开某个会话,则执行:
alter system kill session 'SID,SERIAL#';注意:在上面的示例中,SID为1到7(USERNAME列为空)的会话,它是Oracle数据库的后台进程,请大家不要对这些会话进行任何 *** 作。
如何看Oracle数据库的用户登录的记录档案
查看Oracle数据库的用户登录的记录档案是从log文件中挖出用户登录信息。
1、创建数据字典文件(data-dictionary)
(1)首先在initora初始化参数文件中,指定数据字典文件的位置,也就是添加一个参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录。
如:UTL_FILE_DIR = ($ORACLE_HOME\logs) ,重新启动数据库,使新加的参数生效。
(2)创建数据字典文件:
SQL> connect /as sysdba
SQL> execute dbms_logmnr_dbuild(dictionary_filename =>
'dictora',dictionary_location => 'G:\oracle\logs');
PL/SQL procedure successfully completed
2、创建要分析的日志文件列表:
(1)创建分析列表,即所要分析的日志:
SQL> execute dbms_logmnradd_logfile(LogFileName =>
'G:\ORACLE\ORADATA\ORADBSP\REDO04LOG',Options => dbms_logmnrnew);
PL/SQL procedure successfully completeds
(2)添加分析日志文件(一次添加1个为宜):
SQL>
execute dbms_logmnradd_logfile(LogFileName =>
'G:\ORACLE\ORADATA\ORADBSP\REDO05LOG',
Options => dbms_logmnrADDFILE);
PL/SQL procedure successfully completed
3、使用logMiner进行日志分析:
(1)无限制条件,即用数据字典文件对要分析的日志文件所有内容做分析:
SQL> execute dbms_logmnrstart_logmnr
(DictFileName => 'G:\oracle\logs\dictora');
PL/SQL procedure successfully completed
1。执行:select name from v$datafile查询表空间中数据文件具体位置
结果集就一列:
NAME
F:\ORACLE\ORADATA\ORCL\SYSTEM01DBF
2。执行:Select FROM DBA_DATA_FILES;查询表空间中数据文件具体位置和文件名,表空间名等。比上一个全
结果集:
FILE_NAME (数据文件名) TABLESPACE_NAME (表空间名) 其他表头
F:\ORACLE\ORADATA\ORCL\SYSTEM01DBF SYSTEM 其他
新建数据库实例的时候可以指定数据文件的位置。默认位置在哪?不同的版本不一样。可以通过新建oracle实例时,去查看一下数据文件的默认位置在哪。
查看方法:
1、查看所有表空间及表空间大小:
select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name;
2、查看所有表空间对应的数据文件:
select tablespace_name,file_name from dba_data_files;
3、修改数据文件大小:
alter database datafile 'H:\ORACLE\PRODUCT\1010\ORADATA\ORACLE\USERS01DBF' RESIZE 10240M;
扩展资料
每张表都是作为“段”来存储的,可以通过user_segments视图查看其相应信息。
段(segments)的定义:如果创建一个堆组织表,则该表就是一个段。
sql:SELECT segment_name AS TABLENAME,BYTES FROM user_segments WHERE segment_name='表名'。
解释:
segment_name 就是要查询的表名(大写),BYTES 为表存储所占用的字节数。本sql的意思就是查询出表名和表所占的存储空间大小。
参考资料
csdn:怎么查看oracle数据库大小
以上就是关于怎么查看oracle当前数据库全部的内容,包括:怎么查看oracle当前数据库、如何看Oracle数据库的用户登录的记录档案、如何查看oracle表空间数据文件位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)