Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的SQL语法用于数据管理和分析。以下是一些Oracle常用SQL语句,涵盖了查询表空间、日志文件、数据字典、控制文件、数据库对象、性能优化以及运行状态等多个方面。 1. **查看表空间的名称及大小**: ```sql 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; ``` 这个查询可以帮助你了解每个表空间占用的总磁盘空间(以MB为单位)。 2. **查看表空间物理文件的名称及大小**: ```sql select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; ``` 此查询列出所有数据文件及其在各个表空间中的大小。 3. **查看回滚段名称及大小**: ```sql 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; ``` 回滚段用于存储事务回滚信息,这个查询可以显示它们的状态和大小。 4. **查看控制文件**: ```sql select name from v$controlfile; ``` 控制文件记录了数据库的重要元数据,这个查询列出所有控制文件的位置。 5. **查看日志文件**: ```sql select member from v$logfile; ``` 日志文件用于记录事务,确保数据一致性,此查询显示redo log文件的位置。 6. **查看表空间的使用情况**: ```sql -- 第一种方法 select sum(bytes)/(1024*1024) as free_space, tablespace_name from dba_free_space group by tablespace_name; -- 第二种方法 SELECT A.TABLESPACE_NAME, A.BYTES TOTAL, B.BYTES USED, C.BYTES FREE, (B.BYTES*100)/A.BYTES "% USED", (C.BYTES*100)/A.BYTES "% FREE" FROM SYS.SM$TS_AVAIL A, SYS.SM$TS_USED B, SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME; ``` 这些查询提供表空间的使用情况,包括已用空间、剩余空间和使用百分比。 7. **查看数据库库对象**: ```sql select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status; ``` 这个查询列出数据库中所有对象的类型、状态和数量,按所有者分组。 8. **查看数据库的版本**: ```sql Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle'; ``` 通过这个查询,你可以获取Oracle数据库的具体版本信息。 9. **查看数据库的创建日期和归档方式**: ```sql Select Created, Log_Mode, Log_Mode From V$Database; ``` 这个查询显示数据库的创建日期以及是否启用归档模式。 10. **捕捉运行很久的SQL**: ```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 /11; ``` 这个查询帮助找出执行时间过长的SQL语句,有助于性能调优。 除此之外,Oracle还支持其他高级查询,如查询索引信息、数据导入导出、性能监控、权限管理等。熟悉并掌握这些SQL语句,对于日常数据库管理和问题排查至关重要。
剩余24页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- jdk8安装包包含linux和windows
- 亚控SCADA&MES产品在新能源造车新势力的生产过程管控案例分享
- 【4G DTU方案】STM32F103单片机驱动EC200S-4G模块通过MQTT协议上传GPS定位、DI开关量、温度数据到ONENET中移云平台(多协议方式接入)代码
- IMG_20241121_185929.jpg
- 微信小程序项目,课程设计-律师帮帮法律咨询.zip
- ACM竞赛中算法与团队策略的实践经验总结
- 153334910631064base.apk
- 视频游戏检测43-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- 694546715158136split_config.arm64_v8a.apk
- 956428135421969split_config.xxxhdpi.apk