Aug 26
--查看表空间的名称及大小

  select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
  from dba_tablespaces t, dba_data_files d
  where t.tablespace_name = d.tablespace_name
  group by t.tablespace_name;

--查看表空间物理文件的名称及大小

  select tablespace_name, file_id, file_name,
  round(bytes/(1024*1024),0) total_space
  from dba_data_files
  order by tablespace_name;

--查看回滚段名称及大小

  select segment_name, tablespace_name, r.status,
  (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
  max_extents, v.curext CurExtent
  From dba_rollback_segs r, v$rollstat v
  Where r.segment_id = v.usn(+)
  order by segment_name ;

--查看控制文件

  select name from v$controlfile;

--查看日志文件

  select member from v$logfile;

--查看表空间的使用情况

  select sum(bytes)/(1024*1024) as free_space,tablespace_name
  from dba_free_space
  group by tablespace_name;

 

--查看数据库库对象

  select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;

--查看数据库的版本 

  Select version FROM Product_component_version
  Where SUBSTR(PRODUCT,1,6)='Oracle';

--查看数据库的创建日期和归档方式

  Select Created, Log_Mode, Log_Mode From V$Database;


--捕捉运行很久的SQL

  select username,sid,opname,

  round(sofar*100 / totalwork,0)||'%' as progress,

  time_remaining,sql_text

  from v$session_longops , v$sql

  where time_remaining <> 0

  and sql_address = address

  and sql_hash_value = hash_value;

  

--查看数据表的参数信息

  SELECT partition_name, high_value, high_value_length, tablespace_name,

  pct_free, pct_used, ini_trans, max_trans, initial_extent,

  next_extent, min_extent, max_extent, pct_increase, FREELISTS,

  freelist_groups, LOGGING, BUFFER_POOL, num_rows, blocks,

  empty_blocks, avg_space, chain_cnt, avg_row_len, sample_size,

  last_analyzed

  FROM dba_tab_partitions

  --WHERE table_name = :tname AND table_owner = :towner

  ORDER BY partition_position;

  

--查看还没提交的事务

    select * from v$locked_object;
    select * from v$transaction;

  
--查找object为哪些进程所用

  select

  p.spid,

  s.sid,

  s.serial# serial_num,

  s.username user_name,

  a.type object_type,

  s.osuser os_user_name,

  a.owner,

  a.object object_name,

  decode(sign(48 - command),

  1,

  to_char(command), 'Action Code #' ,to_char(command) ) action,

  p.program oracle_process,

  s.terminal terminal,

  s.program program,

  s.status session_status

  from v$session s, v$access a, v$process p

  where s.paddr = p.addr and

  s.type = 'USER' and

  a.sid = s.sid and

  a.object='SUBSCRIBER_ATTR'

  order by s.username, s.osuser;
  

--回滚段查看

  select rownum, sys.dba_rollback_segs.segment_name Name, v$rollstat.extents

  Extents, v$rollstat.rssize Size_in_Bytes, v$rollstat.xacts XActs,

  v$rollstat.gets Gets, v$rollstat.waits Waits, v$rollstat.writes Writes,

  sys.dba_rollback_segs.status status from v$rollstat, sys.dba_rollback_segs,

  v$rollname where v$rollname.name(+) = sys.dba_rollback_segs.segment_name and

  v$rollstat.usn (+) = v$rollname.usn order by rownum;

  

--耗资源的进程(top session)

  select s.schemaname schema_name, decode(sign(48 - command), 1,

  to_char(command), 'Action Code #',to_char(command) ) action, status

  session_status, s.osuser os_user_name, s.sid, p.spid , s.serial# serial_num,

  nvl(s.username, '[Oracle process]') user_name, s.terminal terminal,

  s.program program, st.value criteria_value from v$sesstat st, v$session s , v$process p

  where st.sid = s.sid and st.statistic# = to_number('38') and ('ALL' = 'ALL'

  or s.status = 'ALL') and p.addr = s.paddr order by st.value desc, p.spid asc, s.username asc, s.osuser asc ;
Aug 26
--查看当前连接客户端使用连接数
select   machine, count(machine)  from   sys.v_$session group by machine

--查看当前总游标数
select   count(*)  from   sys.v_$open_cursor

--总会话连接数
select count(*) from v$session

--查看连接的状态
select   username,machine,status   from   v$session


SELECT   *   FROM   V$PARAMETER   WHERE   NAME='processes'


select * from v$lock ,dba_objects,v$session  where  object_id=v$lock.id1  and  v$lock.sid=v$session.sid

select   *  from   v$lock

--关闭某一连接
alter   system   kill   session    '153,21604';  

--统计连接用户及客户端使用情况
select username,machine,count(*) from v$session group by username,machine

--根据游标排列
select  sql_text, count(*) aa  from   sys.v_$open_cursor group by sql_text order by aa desc
Aug 24
清除(清理)MSSQL事务日志文件的几种方法

三种方法:  

1、删除LOG  
   1):分离数据库企业管理器->服务器->数据库->右键->分离数据库  
   2):删除LOG文件  
   3):附加数据库企业管理器->服务器->数据库->右键->附加数据库  
   此法生成新的LOG,大小只有500多K    
   再将此数据库设置自动收缩  

  2、清空日志  
   1):在查询分析器中输入:DUMP TRANSACTION 库名 WITH NO_LOG  ,执行
   2):企业管理器 -- 右键你要压缩的数据库 -- 所有任务 -- 收缩数据库 -- 收缩文件 -- 选择日志文件 -- 在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小Mæ•°,直接输入这个数,确定就可以了  

  3、如果想以后不让它增长  
   企业管理器->服务器->数据库->属性->事务日志->将文件增长限制为2M
Aug 19
select class_id from class_info_t START WITH class_id = " + classId + " CONNECT BY PRIOR class_id  = parent_classid
Jul 6
很有用的存储过程分页,在邹健通用页基础上修改。

[codes=sql]
/*--
exec page_show 'Mssql通用存储过程分页

--*/

CREATE Proc page_show  
@QueryStr nvarchar(4000), --表名、视图名、查询语句  
@PageSize int=10,   --每页的大小(行数)  
@PageCurrent int=1,   --要显示的页  
@FdShow nvarchar (4000)='', --要显示的字段列表,如果查询结果有标识字段,需要指定此值,且不包含标识字段  
@FdOrder nvarchar (1000)='' ,--排序字段列表  
@FdWhere nvarchar (1000)='' --排序字段列表  
as  
declare @FdName nvarchar(250) --表中的主键或表、临时表中的标识列名  
,@Id1 varchar(20),@Id2 varchar(20) --开始和结束的记录号  
,@Obj_ID int    --对象ID  
--表中有复合主键的处理  
declare @strfd nvarchar(2000) --复合主键列表  
,@strjoin nvarchar(4000) --连接字段  
,@strwhere nvarchar(2000) --查询条件  
Pages: 8/8 First page Previous page 3 4 5 6 7 8 Final page [ View by Articles | List ]