Oracle入門必會(9)

2021-04-19 10:29:27 字數 2752 閱讀 6956

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?

11是cpu 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語句的優化方法

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;

Oracle入門必會(5)

81.內連線inner join?select a.from bsempms a,bsdptms b where a.dpt no b.dpt no 82.如何外連線?select a.from bsempms a,bsdptms b where a.dpt no b.dpt no select a...

Oracle入門必會(7)

121.取時間點的日的寫法 select to char sysdate,dd from dual 122.取時間點的時的寫法 select to char sysdate,hh24 from dual 123.取時間點的分的寫法 select to char sysdate,mi from dua...

Oracle入門必會(12)

221.translate char1,char2,char3 將char1中的char2的部分用char3代替。select translate abcdefgh de mn from dual 222.upper char 將字串char全部為大寫。223.add months d,n 將n個月...