Time of Update: 2014-06-15
近我正在Linux平台寫一個軟體,需要用到一個簡單的資料庫。mysql做資料庫固然很好,但其資料是存放在伺服器的。我想要的準系統也就是使用C程式建立一個資料庫本地檔案,然後可以對這個資料庫檔案執行基本的sql操作. 就像在Windows平台基於VC6.0的DAO資料庫編程一樣(建立一個本地檔案.mdb). 從網上找到了一個開源免費的資料庫開發工具--sqlite, 網上的關於sqlite的介紹有很多,詳細見官方網站:http://www.sqlite.com.cn/ .
Time of Update: 2014-06-15
Redis 是一個高效能的key-value資料庫。 redis的出現,很大程度補償了memcached這類keyvalue儲存的不足,在部
Time of Update: 2014-06-15
程式碼分析基於最新的5.5.21Mysql伺服器的main()在/sql/main.cc,實際的進入點在/sql/mysqld.cc。我們直接從mysqld_main()開始閱讀。先理解一些比較重要的宏定義:(1)宏HAVE_NPTL:這個宏如果開啟了會去讀一個系統變數LD_ASSUME_KERNEL,並把他賦給一個全域變數ld_assume_kernel_is_set,這個系統變數設定了系統線程的實現模型。linux核心在2.6版本後,預設的執行緒模式是NPTL。 &nb
Time of Update: 2014-06-15
出現625錯誤說明index memory不夠,需要增加index記憶體即可。 但,這次問題有點特殊,這次是在做資料恢複的時候出現的問題。具體表述如下:Processing data in table: efdb/def/EF_GB_CITYLINK(99) fragment 1Permanent: 625: Out of memory in Ndb Kernel, hash index part (increase IndexMemory)Restore: Failed to restore
Time of Update: 2014-06-15
開發登入資料庫時報如下錯誤:ERROR:ORA-28002: the password will expire within 7 days 原來Oracle 11g 之前預設的profile是沒有密碼到期的限制的,在Oracle 11g 中預設的profile啟用了密碼到期時間是180天,去除這個限制便可。查詢預設的profile的密碼到期參數的設定sys@ www.bkjia.com>select * from
Time of Update: 2014-06-15
什麼是PL/SQL•PL/SQL是由Oracle開發,專用於Oracle的一種程式設計語言•PL代表 ProceduralLanguage•SQL代表StructuredQuery Language•PL/SQL是Oracle資料庫對SQL語句的擴充,增加了程式設計語言的特點•PL/SQL 包含過程化語句和SQL語句•資料操作和查詢語句被包含在PL/SQL代碼的程式單元中(PL/SQL塊),經過邏輯判斷、迴圈等操作完成複雜的功能或者計算.PL/SQL
Time of Update: 2014-06-15
莫非定理在驗證著一切存在的東西,於是自己在RedHat上裝的Oracle 11g就被命中。本來安裝時就小心翼翼,不敢重啟機器(由於是我第一次安裝,所以特別擔心,),生怕出現問題,所以在安裝成功後就沒有關閉過機器。就在幾天前,由於機房整改,導致斷電。全部機器重啟,這一重啟,我安裝的oracle就掛了。當時,心裏面就涼了。那裡面可有260多G的資料那。我暈。對於我這樣的oracle菜鳥,可是如遭天崩。於是,快速開啟度娘,搜尋怎麼恢複。在看了一圈之後,選定了從oradata恢複。為了保險,我就把260
Time of Update: 2014-06-15
mysql 最新的版本都需要cmake編譯安裝,估計以後的版本也會採用這種方式,所以特地記錄一下安裝步驟及過程,以供參考。注意:此安裝是預設CentOS下已經安裝了最新工具包,比如GNU make, GCC, Perl, libncurses5-dev,如果在編譯安裝過程中發現有缺失的工具包,先yum install 單獨下載安裝再繼續即可。以下安裝中涉及的幾點需要提前說明的問題:1. 所有下載的檔案將儲存在 /usr/local/src/ 目錄下2. mysql
Time of Update: 2014-06-15
1. 查看所有資料表空間大小SQL> select tablespace_name,sum(bytes)/1024/1024 M from dba_data_files group by tablespace_name;2. 已經使用的資料表空間大小SQL> select tablespace_name,sum(bytes)/1024/1024 M from dba_free_space group by tablespace_name;3. 所以使用空間可以這樣計算select
Time of Update: 2014-06-15
Oracle 使用時間長了, 新增了許多user 和tablespace. 需要清理一下對於單個user和tablespace 來說, 可以使用如下命令來完成。步驟一: 刪除userdrop user ×× cascade說明: 刪除了user,只是刪除了該user下的schema objects,是不會刪除相應的tablespace的。步驟二: 刪除tablespaceDROP TABLESPACE tablespace_name INCLUDING CONTENTS AND
Time of Update: 2014-06-15
在頂目中無意中碰到PreparedStatement
Time of Update: 2014-06-15
1、解壓縮安裝包#gunzip v9.7_linuxia32_server.tar.gz#tar -xvf v9.7_linuxia32_server.tar2、進入解壓後的檔案目錄,執行安裝:(我們選擇手動安裝)注意:DB2_install為手動安裝 db2_setup為圖形安裝#./Db2_install-------no-----aese3、建立DB2運行所需的組和使用者:#groupadd -g 901 db2grp#groupadd -g 902 db2fgrp#
Time of Update: 2014-06-15
在php中支援很多的資料庫,但是結合最好的資料庫時mysql,他和linux、apache、php共同構成了LAMP系統。php對mysql的操作步驟為:串連mysql資料庫-->選擇資料庫-->執行SQL語句-->關閉結果集-->關閉mysql資料庫。1、串連資料庫:mysql_connect('hostname','username','password');lostname:主機名稱,預設是連接埠號碼是3306username:資料庫伺服器的使用者名稱稱passwo
Time of Update: 2014-06-15
Table 名字和 Schema名字相同:有schema和表名都為Arwen.Schema Arwen裡面有一個包PKG,包裡有函數Plus,返回兩數相加的結果SELECT Arwen.PKG.Plus(1,2) FROM dual; --執行這條sql沒出啥錯,返回結果3.但在一個pl/sql 塊中就出錯了declareresult int;beginselect Arwen.PKG.Plus(1,2) into result from
Time of Update: 2014-06-15
除了上述視圖之外,Oracle 還有一組用於記錄當前資料庫活動的虛擬表。顧名思義,動態效能表不是真實的表。因此,並不是所有使用者都能訪問這些表。但是,允許資料庫管理員查詢並建立這些表的視圖,管理員還可授予其他使用者訪問這些視圖的許可權。SYS 使用者擁有動態效能表和所有以 V_$ 開頭的表名。視圖為這些表而建立,而同義字是為視圖建立的。同義字名稱以“V$”開頭。顯示 V$SESSION 視圖的狀態、登入時間和使用者名稱:SQL> SELECT status ,
Time of Update: 2014-06-15
對與DML操作Oracle在內部按如下順序執行:1,相應事務分配復原段(undo segment).2,分配復原段後,在復原段頭上建立事務表slot(transaction table slot).3.建立事務表後會生出TXID(TransactionID),再將TXID分配給當前事務。這個值指向分給事務的復原段頭上存在的事務表的準確位置。4.事務對象的資料區塊載入到高速緩衝區,在塊頭的ITL(Intersted transaction
Time of Update: 2014-06-15
前面寫過寫過:這次增加了大寫字母的處理。DELIMITER $$ USE `t_girl`$$ DROP FUNCTION IF EXISTS `func_rand_string`$$
Time of Update: 2014-06-15
Oracle 外部結合命令 :理解(+)最重要的一點是,(+)總是放在資訊匱乏的一邊,這一邊的記錄會作為空白值顯示。舉例說明:先預覽下我們將結合的兩個表:EMPLOYEE_CHECK 和 EMPLOYE_CHECK_TMP 。@_1表EMPLOYEE_CHECK :SQL> SELECT * FROM EMPLOYEE_CHECK;
Time of Update: 2014-06-15
自 Oracle 10g 版本開始,資料泵 (data dump) 作為一種新的資料移動技術提供出來。使用這個技術工具分別為 expdp 和 impdp 。我們在實際項目中經常使用到它們,如從生產庫向測試庫遷移資料。我介紹一下這兩個工具的用途、使用方法、以及它們與 9i 的 imp/exp 的區別。expdp 和 impdp 的主要用途有三點,分別是:1 、實現資料庫的邏輯備份和恢複;2 、在相同或不同的資料庫的不同使用者之間移動資料庫物件如表定義和資料、函數、預存程序;3 、可以和 rman
Time of Update: 2014-06-15
用Jdbc串連MySql伺服器還是很方便的。首先,將jdbc匯入工程,或者將jdbc放到ClassPath裡,這裡我利用Eclipse直接匯入jdbc