Time of Update: 2017-02-28
Oracle,SQL Server,MySQL的自增變數設定:1、MySQL的自增變數是比較好記的,使用AUTO_INCREMENT關鍵字,如果知道英文的就容易記憶了,如 下建立一個帶有自增變理的表。create table test(id int AUTO_INCREMENTprimary key not null,name varchar (50));注釋:此處的id一定要申明為主鍵,否則會報錯。2、SQl
Time of Update: 2017-02-28
摘要動態SQL的第4種方法通過SQLDA(The SQL Descriptor Area)和oracle內部交換資料,可以執行直到程式運行時還不知道選擇表項或虛擬輸入宿主變數的個數和類型的SQL語句。模組 oracle 的資料 jmp_buf jmp_continue 儲存程式斷點 FILE* ORAin
Time of Update: 2017-02-27
一、建立恢複目錄1、建資料表空間create tablespace rc_data datafile '/u01/app/oracle/oradata/ocp/rc_data.dbf' size 50m;2、建使用者create user rc_ocp identified by rc_ocp default tablespace rc_data quota unlimited on rc_data;3、授權grant
Time of Update: 2017-02-27
這是曾經Oracle原廠的一位兄弟問我的一個問題,後來也有些人問起這個問題:用ORACLE內部原理描述以下過程:1、sqlplus gyj/gyj@orcl2、updatet_gyj set name='gyj1' where
Time of Update: 2017-02-27
一、串連的整個流程1、A.用戶端:(1)A-->B 發起串連 (9)與Server Process互動,完成串連2、B.監聽進程:(2)B-->C fork子進程並等待 (7)B-->D 傳送用戶端資訊3、C.監聽子進程1:(3) C-->D fork子進程 (4)C-->B 子進程結束4、D.子進程2(Server Process) (5)D-->D exec Oracle (6)D-->B 監聽傳送資料 (8)D-->A
Time of Update: 2017-02-27
1、使用多個復原段使用多個復原段來分擔復原段的爭用,以提高系統效能。系統採用迴圈的方式來分配復原段。當oracle建立資料庫時候,系統自動在system中分配一個system rollback segment,用來完成系統的事務,不為大家共用。所以系統最後能有至少一個復原段存放使用者復原資訊。系統能夠載入的使用者復原段數量和以下幾個初始化參數有關:transactions_per_rollback_segment 指定每一個復原段支援的並發數;max_rollback_segments
Time of Update: 2017-02-27
通常在當前控制檔案丟失,或者當前的控制檔案與需要恢複的控制檔案不一致的情況下,我們需要重新建立一個控制檔案或者使用 unsingbackup controlfile方式來恢複控制檔案。說簡單點,只要是備份的控制檔案與當前的控制檔案不一致進行恢複資料庫,就需要使用到 unsingbackup
Time of Update: 2017-02-27
1、顯示目前使用者索引資訊(DBA_INDEXES,ALL_INDEXES,USER_INDEXES)03:41:37 SQL> select index_name,index_type,uniqueness03:41:49 2 from user_indexes;INDEX_NAME INDEX_TYPE UNIQUENES--------------- ---------------
Time of Update: 2017-02-27
學習Oracle時,你可能會遇到Oracle索引掃描問題,這裡將介紹Oracle索引掃描問題的解決方案,在這裡拿出來和大家分享一 下。根據索引的類型與where限制條件的不同,有4種類型的Oracle索引掃描:◆索引唯一掃描(index unique scan)◆索引範圍掃描(index range scan)◆索引全掃描(index full scan)◆索引快速掃描(index fast full scan)(1) 索引唯一掃描(index unique
Time of Update: 2017-02-27
WIDTH-BUCKET會根據參數設定,返回目前記錄所屬的bucket number。文法格式如下: WIDTH_BUCKET(expression, minval expression, maxval expression, num buckets) 第一個參數,為某數字或者日期運算式;第二個參數為某範圍的下限;第三個參數為某範圍的上限;第四個參數為對某範圍進行等值劃分bucket的數量。如WIDTH_
Time of Update: 2017-02-27
案例(1)就假設我修改了一條資料:update people set name='Fusnow' where name='old fusnow';那我需要做的事情包括:在redo log buffer產生redo資訊(包括對錶的redo,undo的redo,索引什麼的就不考慮了)在buffer cache裡修改name='Fusnow',修改undo segment------------------情況1如果一切正常,我現在commit,commit會觸發lgwr把redo log
Time of Update: 2017-02-27
一.Memory Dumps1).Global AreaALTER SESSION SET EVENTS ‘immediate trace name global_area level n’;1 包含PGA2 包含SGA4 包含UGA8 包含indrect memory2).Library CacheALTER SESSION SET EVENTS ‘immediate trace name library_cache level n’;1
Time of Update: 2017-02-27
現在解釋下什麼是“高水位”:oracle的邏輯儲存結構:資料表空間——>段——>區——> 塊塊:是粒度最小的儲存單位,現在標準的塊大小是8K,ORACLE每一次I/O操作也是按塊來操作的,也就 是說當ORACLE從資料檔案讀資料時,是讀取多少個塊,而不是多少行.區:由一系列相鄰的塊而組成,這也是ORACLE空間分配的基本單位,舉個例子來說,當我們建立一個表A
Time of Update: 2017-02-27
資料庫的這三種狀態有相似之處,這裡簡單總結一下。這一篇介紹QUIESCE狀態。RESTRICT 、QUIESCE和SUSPEND(一):當資料庫處於QUIESCE狀態時,只有DBA會話可以進行操作,而普通會話會處於等待狀態,只有當數 據庫退出QUIESCE狀態,普通會話才能繼續操作。QUIESCE 似乎和RESTRICT很相似,都是修改資料庫的狀態,使得DBA使用者可以進行管理操作,避免非 DBA使用者同時訪問。但是二者還是有明顯的區別的。首先RESTRICT是禁止普通使用者登陸,而對已經登陸
Time of Update: 2017-02-27
對於一個7*24的線上生產系統來說,修改表定義(DDL)時一件非常痛苦的時,因為如果直接使用 alter語句,將會在表上安放一個獨佔鎖定,也就是說在這期間所有的DML和select都無法操作,如果是一 個大表,alter的時間將很長,在這期間應用會受到很大的影響。幸好,從9i開始,Oracle提供了線上表重定義功能,在修改表定義的同時幾乎不影響DML和select語 句,因為獨佔鎖定只會在表上出現很短時間。但是線上表重定義需要額外的空間(大致等於原資料表空間大小
Time of Update: 2017-02-27
Oracle Scheduler是用來管理和計劃資料庫的Job,通過它可以讓很多常規的資料庫任務自動執行, 減少人為幹預,解放勞動力,本質上來說,它和Linux的crontab,商業任務管理軟體如Autosys, UC4一 樣,只是它們的領域不一樣,Oracle Scheduler專註於Oracle資料庫Job的自動化管理、維護和監控。本篇是理論篇,介紹Oracle Scheduler的基本概念,Oracle Scheduler的名詞很多,下面一一介紹 :Program
Time of Update: 2017-02-27
Lob的定義像Oracle這種關係型資料庫,比較擅長處理結構化的資料,那麼對於非結構化的資料,Oracle是怎麼處理和儲存的呢?Lob (Large Object)是Oracle專門用來處理半結構化和非結構化資料,它是一個大對象資料類型,可以儲存超過4000位元組的字串、位元據。Lob的類型有兩種Lob,非常是Internal Lob和External Lob。所謂Internal Lob是指Lob資料存放區在Oracle資料檔案裡,External
Time of Update: 2017-02-27
/**調用資料庫裡的一個函數一個函數本質上一個返回一個結果的預存程序,這個例子示範了怎麼調用有in、out和in/out參數的函數***********************************/ CallableStatement cs; try { // 調用一個沒有參數的函數; 函數返回 a VARCHAR // 預先處理callable語句cs = connection.prepareCall("{? = call myfunc}");
Time of Update: 2017-02-27
在大型資料庫系統中,有兩個很重要作用的功能,那就是預存程序和觸發器。在資料庫系統中無論是預存程序還是觸發器,都是通過SQL 陳述式和控制流程程語句的集合來完成的。相對來說,資料庫系統中的觸發器也是一種預存程序。預存程序在資料庫中運算時自動產生各種執行方式,因此,大大提高了對其運行時的執行速度。在大型資料庫系統如Oracle、SQL Server中都不僅提供了使用者自訂預存程序的功能,同時也提供了許多可作為工具進行調用的系統內建預存程序。所謂預存程序(Stored
Time of Update: 2017-02-28
.net 遠端連線Oracle資料庫看起來挺簡單的,但實際做起來還是遇到不少問題。把我今天折騰這個 東西的經驗給大家共用吧。訪問 oracle 資料庫的方式很多,我用的是 OleDbConnection,這個沒什麼好說的,代碼如下:1. 串連代碼_OleDbConnection = new OleDbConnection(connectionString);_OleDbConnection.Open();2.連接字串遠端連線的連接字串可以這樣寫provider=MSDAORA;host=192.