Time of Update: 2014-06-15
1、資料庫資料量暴增,對比其他業務類似的資料庫發現某個表的資料量異常,最後確定了一個重複遷移資料的bug...120301 17:30:43 [ERROR] Column count of mysql.db is wrong. Expected 22, found 15. The table is probably corrupted120301 17:30:43 [ERROR] mysql.user has no `Event_priv` column at position 29120301
Time of Update: 2014-06-15
將普通表改為分區表有如下幾種方式:1 建立一個和原表一樣的分區表A_NEW ; 將insert A_NEW SELECT * FROM A; 將表A 命名為A_OLD 將A_NEW 該名為A;2 利用在先重定義的方式!也是接下來要介紹的方法!第一種方式需要停止應用對A的寫訪問;使用線上重定義的方式可以對應用透明!測試例子如下:1 建立測試表建立普通表:@bigtab.sql --tom
Time of Update: 2014-06-15
預存程序和儲存函數 指儲存在資料庫中供所有使用者程式調用的子程式叫預存程序、儲存函數。 建立預存程序: 用CREATE PROCEDURE命令建立預存程序和儲存函數。 文法: create [or replace] PROCEDURE 過程名(參數列表) AS PLSQL
Time of Update: 2014-06-15
在一開始接觸PHP接觸MYSQL的時候就聽不少人說:“MySQL就跑跑一天幾十萬IP的小站還可以,要是幾百萬IP就不行了”,原話不記得了, 大體 就是這個意思。一直也沒有好的機會去驗證這個說法,一是從沒有接手過這麼大流量的網站,二是平時工作也比較忙,懶得去管這些,反正現在用不著,抱著這個想
Time of Update: 2014-06-15
為了統計哪些使用者在登入使用資料庫,以及其他用途,需要記錄登入資料庫的資訊,以及嘗試登入資料庫失敗的資訊,以下幾個trigger可以搞定。建立記錄使用者資訊的tableCREATE TABLE oram.LOGIN_LOG(AUDSID NUMBER,SID
Time of Update: 2014-06-15
環境:MySQL Server 5.1 + Navicat for Mysql 8.2問題:修改外鍵刪除時操作出現121錯誤解決:把外鍵名改為其他名字。錯誤資訊參考:error 121這是外關鍵字名字重複的錯誤,即使是在不同的表中,外關鍵字的名字也不能重複。error 150這類錯誤包括3種情況:1. 外鍵和被引用外鍵類型不一樣,比如integer和double;2. 找不到要被引用的列;3. 表的字元編碼不一樣。
Time of Update: 2014-06-15
因為工作需要要寫一個保留小數點的方法或SQL語句,number類型的小數,如果是0.5或-0.5,列印的時候就會顯示成.5或-.5,顯然不是我想要的,自己就簡單的寫了一個,功能可以實現了,效率不高,高手們多多指教。 DECLARE NUM1 NUMBER := 1/4; -- 要進行舍入的數字 NUM2 &
Time of Update: 2014-06-15
Ubuntu 11.10 環境中。【大部分命令需要root許可權,用root操作,或者命令加上sudo】更多Oracle相關資訊見Oracle 專題頁面
Time of Update: 2014-06-15
一./etc/oratab說明直接使用cat 查看這個檔案:gg1:/home/Oracle> cat /etc/oratab # # This file is used by ORACLEutilities. It is created by root.sh
Time of Update: 2014-06-15
DECLARE iCount number(2) := 0;BEGIN SELECT COUNT (*) INTO iCount FROM user_sequences u WHERE u.sequence_name = 'SEQ_TCAPITALNOTIFY'; IF iCount = 0
Time of Update: 2014-06-15
我在寫JDBC的是時候,遇見了因為在SQL語句中含有中文無法啟動並執行情況,於是我把這句話放到mysql用戶端中測試,結果通過,我就估計不是字元編碼問題,是PreparedStatement這個介面做了一些我不知道的處理導致這個問題的發生。而且一般直接使用?問號代替動態查詢要求,而在用戶端中必須加上雙引號,於是我測試了一下直接把這個SQL語句寫上去運行,結果沒問題,只是加上了兩個逸出字元\"。下面我把代碼發上來、package oop.hu.ytu.dao; &n
Time of Update: 2014-06-15
現在一般對Oracle 分頁查詢實現如下 select * from ( select a.*,rownum r from ( 自己的sql ) a where rownum <=? ) where r > ? 如果這個sql 按一個含有重複值的欄位排序 就會產生在不同頁查出重複記錄,並且某些記錄查不到的現象(不是一定產生)
Time of Update: 2014-06-15
原本用 Ubuntu 10.04 LTS的Server,幾天前HDD有點故障,系統懷了,跟IT要了個淘汰的80G HDD,怎麼公司就這麼窮,還是用7,8年前的淘汰電腦做server,IT弟弟又很阿達嗎嘛 恐古力,唉~~。Ubuntu 12.04正好release 了。怎麼把之前HDD的mysql database移植到新的HDD呢? 沒辦法用phpmyadmin,就算mount 到舊HDD,執行mysql
Time of Update: 2014-06-15
替換變數(僅用於SQL *Plus或者用於原理和SQL *Plus相同的開發工具):臨時儲存值利用它可以達到建立泛型指令碼的目的利用它可以達到和使用者互動,故在SQL *Plus中又稱互動式命令替換變數的格式式在變數名稱前加一個&,以便在運行SQL命令時提示使用者輸入替換資料,然後按輸入資料運行SQL命令文法:(1)& :“&變數名”eg:&name;生命週期:單次引用中,不需要聲明,如果替換字元或日期類型,最好用單引號擴起使用範圍:where、order by、
Time of Update: 2014-06-15
如果你還沒有安裝或者使用過 sqlite,可以藉助 SQLite3 安裝、基本操作 入門。1. 建立資料庫 test.dbcd ~/sqlite3 test.db這樣在 ~/ 目錄下面就產生一個資料庫檔案 test.db.2. 建立表 songcreate table if not exists song (path TEXT, title varchar(20));建立一個名稱為 song 的資料庫表,包含 path、title 兩個欄位,類型分別是 Text、varchar.3.
Time of Update: 2014-06-15
MySQL刷庫指令碼中帶中文,用MySQL命令登入後刷入資料庫後,讀取出來出現亂碼。出現的情況有可能是下面的原因:安裝完MySQL沒有修改用戶端串連編碼,預設是latin1,用MySQL命令登入進去直接source,導致刷進去的資料是latin1編碼的。解決方案:1.MySQL命令登入時加參數mysql --default-character-set=utf8 -u XXX -pXXX 2.修改my.cnf(目錄在/etc/my.cn
Time of Update: 2014-06-15
MHA分管理節點和資料庫節點,資料庫節點由mysql主從或者主主從構成,當主庫掛掉後,管理節點會自動將從節點提升為主節點;管理節點的角色類似於Oracle資料庫中的fast start
Time of Update: 2014-06-15
由於Oracle 10g出來的時候還沒有紅旗Linux的Asianux 3.0版本出來,所以按照Asianux 2.0的要求來安裝rpm包就好了。we must have the following RPMs installed:Red Hat Enterprise Linux 4.0 and Asianux
Time of Update: 2014-06-15
1 . 介紹MySQL 支援單向、非同步複製,複製過程中一個伺服器充當主伺服器,而一個或多個其它伺服器充當從伺服器。主伺服器將更新寫入二進位記錄檔,並維護檔案的一個索引以追蹤記錄檔迴圈。這些日誌可以記錄發送到從伺服器的更新。當一個從伺服器串連主伺服器時,它通知主伺服器從伺服器在日誌中讀取的最後一次成功更新的位置。
Time of Update: 2014-06-15
引言:處理流水帳類似記錄的時候,可能常遇到“在某個表值上,取首尾記錄進行運算”的情況。比如:打卡記錄,期末對期初增幅等。因此,筆者向大夥推薦一個Oracle的keep文法。特別地感謝一下oracle群的驢兄和溫州·名次兄的指點。本文:直接上範例: select max(t_.dummy) keep(dense_rank first order by t_.code desc) - max(t_.dummy)