某個資料檔案損壞,如何開啟資料庫——ORA-01033: ORACLE initialization or shutdown in progress錯誤系統內容: 1、作業系統:Windows 2000 Server,機器記憶體128M 2、資料庫: Oracle 8i R2 (8.1.6) for NT 企業版 3、安裝路徑:C:\ORACLE錯誤現象: 因誤操作,資料庫中某一資料檔案被誤刪,控制台的Oracle相關服務顯示已啟動,但用SQL*Plus無法串連,顯示以下錯誤:ORA-01033
select a.tablespace_name,a.bytes bytes_used,b.largest,round(((a.bytes - b.bytes)/a.bytes)*100,2) percent_used from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,(select tablespace_name,sum(bytes)
43. 用WHERE替代ORDER BYORDER BY 子句只在兩種嚴格的條件下使用索引. ORDER BY中所有的列必須包含在相同的索引中並保持在索引中的排列順序.ORDER BY中所有的列必須定義為非空. WHERE子句使用的索引和ORDER BY子句中所使用的索引不能並列. 例如: 表DEPT包含以下列: DEPT_CODE PK NOT NULL DEPT_DESC NOT NULL
46. 串連多個掃描如果你對一個列和一組有限的值進行比較, 最佳化器可能執行多次掃描並對結果進行合并串連.舉例: SELECT * FROM LODGING WHERE MANAGER IN (‘BILL GATES’,’KEN MULLER’); 最佳化器可能將它轉換成以下形式 SELECT * FROM LODGING WHERE MANAGER = ‘BILL GATES’ OR MANAGER = ’KEN MULLER’
sqlplus /nologconn /as sysdbashutdown immediate;startup mount;ALTER SESSION SET SQL_TRACE=TRUE;ALTER SYSTEM ENABLE RESTRICTED SESSION;ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;ALTER SYSTEM SET AQ_TM_PROCESSES=0;ALTER DATABASE OPEN;set linesize
8. 使用DECODE函數來減少處理時間 使用DECODE函數可以避免重複掃描相同記錄或重複串連相同的表. 例如: SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE ‘SMITH%’; SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0030 AND ENAME