【正文】
o r a 0 0 3 5 0 : l o g 4 o f t h r e a d 1 n e e d e d t o b e a r c h i v e do r a 0 0 3 1 2 : o n l i n e l o g 4 t h r e a d 1 39。Jan152023 87 ORACLE數(shù)據(jù)庫培訓教材 ORA01555錯誤: 01555, 00000, snapshot too old: rollback segment number %s with name \%s\ too small // *Cause: rollback records needed by a reader for consistent read are // overwritten by other writers // *Action: Use larger rollback segments 解決方法: ?加大 rollback segment大小 。 call count cpu elapsed disk query current rows Parse 0 0 0 0 0 Execute 1 0 0 0 1 Fetch 1 32230 22 2 43993 total 2 39930 22 2 43993 … … Rows Execution Plan 0 SELECT STATEMENT GOAL: CHOOSE 1 NESTED LOOPS 43993 TABLE ACCESS GOAL: ANALYZED (FULL) OF 39。, ’ … ...39。 部分通配符: _可匹配單個字符 偽列類型 : CURRVAL和 NEXTVAL: 提取 SEQUENCE中的當前值和下一值 。 語法: update table(view,snapshot)dblink t_alias set (column_arraay)=subquery2 or column=value or =subquery3 where condition Jan152023 19 ORACLE數(shù)據(jù)庫培訓教材 SQL 語句 INSERT: 作用: 該語句用于插入單條或一組記錄到相應的表和基于單表的 VIEW, 如果要執(zhí)行該語句必須擁有 INSERT PRIVILEGE。/dev/rdrd/drd639。 對 INSERT, UPDATE和 DELETE語 句通常用當前方式檢索緩沖區(qū) Query和 current的和是存取的緩沖區(qū)的 總數(shù) rows 由 SQL語句處理的總行數(shù) 。3 、 建和原先回滾段名稱、大小相同的回滾段。O r a 0 0 2 8 6 : n o m e m b e r a v a i l a b l e , o r n o m e m b e r c o n t a i n v a l i d d a t aO r a 0 0 3 3 4 : a r c h i v e l o g : 39。s v r m g r l a l t e r d a t a b a s e d r o p l o g f i l e l o g 4 。 ?增加更多的 rollback segment。WORK_AREA39。 服務器檢測到應用的連接請求 ,開始為此用戶進程創(chuàng)建一個專用的服務器進程 ? 客戶端的用戶執(zhí)行一個 SQL語句并提交此進程 ? 服務器進程收到此 SQL語句 , 并開始檢驗在 ORACLE的共享池中是否存在同樣的SQL語句 。 Jan152023 43 ORACLE數(shù)據(jù)庫培訓教材 創(chuàng)建數(shù)據(jù)庫 創(chuàng)建數(shù)據(jù)字典 ? – 創(chuàng)建數(shù)據(jù)庫基表 ? – 數(shù)據(jù)字典視圖 ? – PL/SQL ? dbms*.sql prvt*.plb – 數(shù)據(jù)庫包體 /包頭 ? Jan152023 44 ORACLE數(shù)據(jù)庫培訓教材 創(chuàng)建數(shù)據(jù)庫 故障處理 ? 監(jiān)控日志文件 – – – ? 常見安裝問題解決 Jan152023 45 ORACLE數(shù)據(jù)庫培訓教材 控制文件管理 ? 控制文件作用 ? 控制文件信息 – 數(shù)據(jù)庫名稱 – 數(shù)據(jù)文件定位 – 重做日志文件定位 – 表空間名稱 – 當前 sequence號 – checkpoint信息 – 備份信息 – ... ? 控制文件管理 – 備份 – 重建 – 保持控制文件的多個復本 Jan152023 46 ORACLE數(shù)據(jù)庫培訓教材 ? V$CONTROLFILE – NAME ? V$PARAMETER – NAME(control_file) ? V$CONTROLFILE_RECORD_SECTION – TYPE – RECORDS_SIZE – RECORDS_TOTAL – RECORDS_USED 控制文件 Jan152023 47 ORACLE數(shù)據(jù)庫培訓教材 數(shù)據(jù)庫邏輯結(jié)構(gòu) Database Tablespace Segment Extent Oracle Block O/S Block Data file Logical Physical Jan152023 48 ORACLE數(shù)據(jù)庫培訓教材 數(shù)據(jù)庫表空間管理 ? 表空間管理 – Create tablespace – alter tablespace – drop tablespace ? 回滾段管理 – create rollback segment – alter rollback segment – drop rollback segment Jan152023 49 ORACLE數(shù)據(jù)庫培訓教材 表空間管理 ? DBA_TABLESPACE ? DBA_DATA_FILES ? DBA_SEGMENTS ? DBA_EXTENTS ? DBA_FREE_SPACE ? DBA_FREE_SPACE_COALESCED Jan152023 50 ORACLE數(shù)據(jù)庫培訓教材 重做日志 (redo log )文件 ?重做日志文件作用 ?歸檔模式 ?重做日志文件管理 ALTER SYSTEM SWITCH LOGFILE。 CONN連接某一用戶: CONN username/passwordalias Jan152023 15 ORACLE數(shù)據(jù)庫培訓教材 SQL*PLUS常用命令介紹 DISC從某一連接中退出: DISC COLUMN格式化某一列的顯示格式: COLUMN COLUMN_NAME FORMAT AXXX DESC查看某一對象的描述: DESC OBJECT_NAME EDIT編輯當前緩沖區(qū)中的內(nèi)容或某一特定的文件: EDIT 或 ED LIST顯示當前緩沖區(qū)中的內(nèi)容: LIST或 L SPOOL把運行結(jié)果重定向: SPOOL 某一文件,結(jié)束 SPOOL OFF,默認的擴展名為 LST Jan152023 16 ORACLE數(shù)據(jù)庫培訓教材 SQL*PLUS常用命令 EXIT:退出當前的連接 和 :運行單獨的腳本和在腳本中運行腳本 APPEND:在當前的語句的末尾增加內(nèi)容 append 或 a CHANGE:改變當前最后一行的內(nèi)容,用特定的內(nèi)容替換指定的內(nèi)容。 SIZE 10M, GROUP 2 39。 ? EXPR是一個表達式 , 它用運算符或函數(shù)操作在該列上 – 例如: EXPR*COLUMN=ANYTHING ? NOT EXISTS SUBQUERY ? 不包含未被索引的列的任何條件 ? 在 LIKE表達式中如果模糊的列為數(shù)字或日期的話 ? 在 ORACLE內(nèi)部的本身的數(shù)據(jù)轉(zhuǎn)換 Jan152023 73 ORACLE數(shù)據(jù)庫培訓教材 數(shù)據(jù)庫常見性能分析 ? 表空間的剩余空間的問題 ? 表的鎖的問題 ? 表的鏈接問題 ? 索引的查找速度降慢問題 ? 表操作速度降慢的問題 Jan152023 74 ORACLE數(shù)據(jù)庫培訓教材 性能檢測工具 EXPLAIN的使用介紹 EXPLAIN PLAN的加強版 TKPROF的使用介紹 UTLBSTAT/UBLESTAT使用介紹 第三方產(chǎn)品 Jan152023 75 ORACLE數(shù)據(jù)庫培訓教材 EXPLAIN EXPLIAN PLAN作用 執(zhí)行 EXPLAIN PLAN前期準備工作 EXPLAIN 語法 explain plan ( set statement id=39。 is offline, cannot allocate space in it // *Cause: Tried to allocate space in an offline tablespace // *Action: Bring the tablespace online or create the object in // other tablespace Jan152023 84 ORACLE數(shù)據(jù)庫培訓教材 Example 3: $ oerr ora 4031 04031, 00000, unable to allocate %s bytes of shared memory (\%s\,\%s\,\%s\ ) // *Cause: More shared memory is needed than was allocated in the // shared pool. // *Action: Either use the dbms_shared_pool package to pin large // packages, reduce your use of shared memory, or increase the // amount of available shared memory by increasing the value of the // parameter shared_pool_size. Jan152023 85 ORACLE數(shù)據(jù)庫培訓教材 II. 無法自行解決錯誤 對于以下錯誤,一般是由于 ORACLE的 bug引起,需要通過 ORACLE技術(shù)支持解決: ORA00600錯誤 00600, 00000, internal error code, arguments: [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s]” // *Cause: This is the generic internal error number for Oracle program // exceptions. This indicates that a process has encountered an // exceptional condition. // *Action: Report as a bug the first argument is the internal error number ORA07445錯誤 Jan152023 86 ORACLE數(shù)據(jù)庫培訓教材 III. ORACLE常見錯誤及其解決 O R A 0 0 6 0 0 [ 4 0 9 7 ]故障現(xiàn)象: 在進行存儲過程編譯時 (