现在的位置: 首页 > 综合 > 正文

Oracle 学习9

2018年02月07日 ⁄ 综合 ⁄ 共 2054字 ⁄ 字号 评论关闭
 

162. 如何知道表在表空间中的存储情况?

select segment_name,sum(bytes),count(*) ext_quan from dba_extents where

tablespace_name='&tablespace_name' and segment_type='TABLE' group by tablespace_name,segment_name;

 

163. 如何知道索引在表空间中的存储情况?

select segment_name,count(*) from dba_extents where segment_type='INDEX' and owner='&owner'

group by segment_name;

 

164、如何知道使用CPU多的用户session?

11cpu used by this session

 

select a.sid,spid,status,substr(a.program,1,40) prog,a.terminal,osuser,value/60/100 value

from v$session a,v$process b,v$sesstat c

where c.statistic#=11 and c.sid=a.sid and a.paddr=b.addr order by value desc;

 

165. 如何知道监听器日志文件?

8I为例

$ORACLE_HOME/NETWORK/LOG/LISTENER.LOG

 

166. 如何知道监听器参数文件?

8I为例

$ORACLE_HOME/NETWORK/ADMIN/LISTENER.ORA

 

167. 如何知道TNS 连接文件?

8I为例

$ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA

 

168. 如何知道Sql*Net 环境文件?

8I为例

$ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA

 

169. 如何知道警告日志文件?

8I为例

$ORACLE_HOME/ADMIN/SID/BDUMP/SIDALRT.LOG

 

170. 如何知道基本结构?

8I为例

$ORACLE_HOME/RDBMS/ADMIN/STANDARD.SQL

 

171. 如何知道建立数据字典视图?

8I为例

$ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL

 

172. 如何知道建立审计用数据字典视图?

8I为例

$ORACLE_HOME/RDBMS/ADMIN/CATAUDIT.SQL

 

173. 如何知道建立快照用数据字典视图?

8I为例

$ORACLE_HOME/RDBMS/ADMIN/CATSNAP.SQL

 

本讲主要讲的是SQL语句的优化方法! 主要基于ORACLE9I.

174. /*+ALL_ROWS*/

表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.

例如:

SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP';

 

175. /*+FIRST_ROWS*/

表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.

例如:

SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP';

 

176. /*+CHOOSE*/

表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量;

表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法;

例如:

SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP';

 

177. /*+RULE*/

表明对语句块选择基于规则的优化方法.

例如:

SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP';

 

178. /*+FULL(TABLE)*/

表明对表选择全局扫描的方法.

例如:

SELECT /*+FULL(A)*/ EMP_NO,EMP_NAM FROM BSEMPMS A WHERE EMP_NO='CCBZZP';

 

179. /*+ROWID(TABLE)*/

提示明确表明对指定表根据ROWID进行访问.

例如:

SELECT /*+ROWID(BSEMPMS)*/ * FROM BSEMPMS WHERE ROWID>='AAAAAAAAAAAAAA'

AND EMP_NO='CCBZZP';

 

180. /*+CLUSTER(TABLE)*/

提示明确表明对指定表选择簇扫描的访问方法,它只对簇对象有效.

例如:

SELECT /*+CLUSTER */ BSEMPMS.EMP_NO,DPT_NO FROM BSEMPMS,BSDPTMS

WHERE DPT_NO='TEC304' AND BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

【上篇】
【下篇】

抱歉!评论已关闭.