1.三種保護模式 – Maximum protection在Maximum protection下, 可以保證從庫和主庫資料完全一樣,做到zero data loss.事務同時在主從兩邊提交完成,才算事務完成。如果從庫宕機或者網路出現問題,主從庫不能通訊,主庫也立即宕機。在這種方式下,具有最高的保護等級。但是這種模式對主庫效能影響很大,要求高速的網路連接。 – Maximum availability在Maximum
行轉列一張表查詢結果為--行轉列select years,(select amount from Tb_Amount as A where month=1 and A.years=Tb_Amount.years)as m1,(select amount from Tb_Amount as A where month=2 and A.years=Tb_Amount.years)as m2,(select amount from Tb_Amount as A where month=3 and A.
當某個資料庫使用者在資料庫中插入、更新、刪除一個表的資料,或者增加一個表的主鍵時或者表的索引時,常常會出現ora-00054:resource busy and acquire with nowait specified這樣的錯誤。主要是因為有事務正在執行(或者事務已經被鎖),所有導致執行不成功。1、用dba許可權的使用者查看資料庫都有哪些鎖select t2.username,t2.sid,t2.serial#,t2.logon_timefrom v$locked_object
本文執行個體講述了Linux下Oracle刪除使用者和資料表空間的方法。分享給大家供大家參考,具體如下:1.刪除某個使用者SQL> conn /as sysdbaConnected.SQL> drop user userName cascade;使用者已刪除如果使用者無法刪除,並報錯:ERROR at line 1:ORA-01940: cannot drop a user that is currently
ORDER BY非穩定的排序提一個問題: oracle在order by 排序時,是穩定排序演算法嗎? 發現用一個type進行排序後,做分頁查詢,第一頁的資料和第二頁的資料有重複 懷疑是order by 時,兩次排列的順序不一致看到業務描述的問題可以得到的結論order by排序不穩定,還有第一個印象就是,type肯定是不唯一的,並且沒有索引吧。這裡先科普下排序的穩定性,舉個最簡單的例子,1,2,3,1,4,5 排序
下面給大家介紹在什麼情況下用隱式遊標,什麼情況下用顯示遊標:1.查詢返回單行記錄時→隱式遊標;2.查詢返回多行記錄並逐行進行處理時→顯式遊標--顯示遊標屬性declareCURSOR cur_emp IS SELECT * FROM emp;row_emp cur_emp%ROWTYPE;BEGINOPEN cur_emp;FETCH cur_emp INTO row_emp;WHILE cur_emp%FOUNDLOOPdbms_output.put_line(row_emp.empno||'
Oracle提供了索引監控特性來判斷索引是否被使用。在Oracle 10g中,收集統計資訊會使得索引被監控,在Oracle 11g中該現象不複存在。儘管如此,該方式僅提供的是索引是否被使用。索引被使用的頻率未能得以體現。下面的指令碼將得到索引的使用率,可以很好的度量索引的使用方式以及根據這個值來判斷當前的這些索引是否可以被移除或改進。1、索引使用頻率報告--運行環境SQL> select * from v$version where rownum<2;BANNER----------
Oracle資料庫各類控制語句的使用是本文我們主要要介紹的內容,包括一些邏輯控制語句、Case when的使用、While的使用以及For的使用等等,接下來我們就開始一一介紹這部分內容,希望能夠對您有所協助。Oracle 中邏輯控制語句 If elsif else end if set serverout on; declare per_dep_count number; begin select count(*) into per_dep_count from emp;
本文執行個體講述了oracle實現多行合并的方法。分享給大家供大家參考。具體分析如下:在寫sql時,經常會有將某列的欄位合并起來,比如將某人名下每個月的工資列示,但是每個人只能佔一行。像這種情境,可能用行列轉換也能實現,但如果這個月份的資訊不固定,就無法使用行列轉換了。oracle10g以後,提供了一個函數WMSYS.WM_CONCAT,能很輕鬆實現該功能。複製代碼 代碼如下:select t.rank, WMSYS.WM_CONCAT(t.Name) TIME From