Oracle常用维护语句总结

本文提供了一系列Oracle数据库管理的实用SQL查询语句,包括检查表空间使用情况、查看锁的情况、监控资源消耗大的进程等,帮助数据库管理员更好地维护和优化Oracle数据库。

--不断更新中

1. 查看表空间使用情况:

SELECT a.tablespace_name "表空间名",total 表空间大小,free 表空间剩余大小,
(total-free) 表空间使用大小,
ROUND((total-free)/total,4)*100 "使用率 %"
FROM (SELECT tablespace_name,SUM(bytes) free FROM DBA_FREE_SPACE
GROUP BY tablespace_name ) a,
(SELECT tablespace_name,SUM(bytes) total FROM DBA_DATA_FILES
GROUP BY tablespace_name) b
WHERE a.tablespace_name=b.tablespace_name
/

--根据自己需要,可以对使用率进行order by下

[@more@]

2. 查看锁的情况

select /*+ RULE */ ls.osuser os_user_name,  ls.username user_name, 
decode(ls.type, 'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock', 'TX', 
'Transaction enqueue lock', 'UL', 'User supplied lock') lock_type, 
o.object_name object,  decode(ls.lmode, 1, null, 2, 'Row Share', 3, 
'Row Exclusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive', null) 
lock_mode,  o.owner,  ls.sid,  ls.serial# serial_num,  ls.id1,  ls.id2  
from sys.dba_objects o, (  select s.osuser,  s.username,  l.type,  
l.lmode,  s.sid,  s.serial#,  l.id1,  l.id2  from v$session s,  
v$lock l  where s.sid = l.sid ) ls where o.object_id = ls.id1 and  o.owner 
<> 'SYS'  order by o.owner, o.object_name
/

3. 耗资源的进程(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
/

4. 捕捉运行很久的SQL

column username format a12 
column opname format a16 
column progress format a8 
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;


5. 查看数据库版本

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

6. 查看日志文件

select member from v$logfile;

7. 查看回滚段名称和大小

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 ;

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

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

9. 查找产生锁的SQL语句

set pagesize 60
set linesize 132
select s.username username,
a.sid sid,
a.owner||'.'||a.object object,
s.lockwait,
t.sql_text SQL
from v$sqltext t,
v$session s,
v$access a
where t.address = s.sql_address
and t.hash_value = s.sql_hash_value
and s.sid = a.sid
and a.owner != 'SYS'
and upper(substr(a.object,1,2)) != 'V$'
/

10. 检查用户是否将SYSTEM表空间作为缺省表空间

select username,default_tablespace from dba_users where default_tablespace = 'SYSTEM';

11. 检查用户是否将SYSTEM表空间作为临时表空间

select username,temporary_tablespace from dba_users where temporary_tablespace = 'SYSTEM';

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9896745/viewspace-926839/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9896745/viewspace-926839/

内容概要:本文详细介绍了“秒杀商城”微服务架构的设计与实战全过程,涵盖系统从需求分析、服务拆分、技术选型到核心功能开发、分布式事务处理、容器化部署及监控链路追踪的完整流程。重点解决了高并发场景下的超卖问题,采用Redis预减库存、消息队列削峰、数据库乐观锁等手段保障数据一致性,并通过Nacos实现服务注册发现与配置管理,利用Seata处理跨服务分布式事务,结合RabbitMQ实现异步下单,提升系统吞吐能力。同时,项目支持Docker Compose快速部署和Kubernetes生产级编排,集成Sleuth+Zipkin链路追踪与Prometheus+Grafana监控体系,构建可观测性强的微服务系统。; 适合人群:具备Java基础和Spring Boot开发经验,熟悉微服务基本概念的中高级研发人员,尤其是希望深入理解高并发系统设计、分布式事务、服务治理等核心技术的开发者;适合工作2-5年、有志于转型微服务或提升架构能力的工程师; 使用场景及目标:①学习如何基于Spring Cloud Alibaba构建完整的微服务项目;②掌握秒杀场景下高并发、超卖控制、异步化、削峰填谷等关键技术方案;③实践分布式事务(Seata)、服务熔断降级、链路追踪、统一配置中心等企业级中间件的应用;④完成从本地开发到容器化部署的全流程落地; 阅读建议:建议按照文档提供的七个阶段循序渐进地动手实践,重点关注秒杀流程设计、服务间通信机制、分布式事务实现和系统性能优化部分,结合代码调试与监控工具深入理解各组件协作原理,真正掌握高并发微服务系统的构建能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值