Time of Update: 2014-06-15
解壓:將壓縮包解壓,將 解壓出來的檔案夾中的 bin 檔案夾 move到 /usr/local/mongodb 下在 home/tiantao/ 下建立目錄 mongodb/data/db 和 mongo/logs在logs下建立檔案 mongodb.log用root使用者 配置/etc/rc.local檔案在檔案中加入 /usr/local/mongodb/bin/mongod --dbpath /home/tiantao/mongodb/data/db --logpath
Time of Update: 2014-06-15
最近有幾台線上資料庫,硬碟比較吃緊,但是又不方便擴容和轉移到其它機器。但是資料又比較重要,需要經常備份出來。最早的做法是,在本地備份出完整的庫,把備份庫和binlog一併推到遠端某台備份主機上。但是因為最近空間吃緊,而備份庫需要佔用不小的空間。有沒有其它的解決辦法呢?查看了mysqldump具備遠程備份的功能,可以直接將遠端資料備份到本地來,這樣就可以大大的節省了遠端資料庫的磁碟空間。所以我嘗試寫了一個備份指令碼,再配合crontab定時執行,目前看來效果還不錯。線上環境稍加修改可直接使用,如有
Time of Update: 2014-06-15
Analytic functions compute an aggregate value based on a group of rows. They differ from aggregate functions in that they return multiple rows for each group. The group of rows is called a window and is defined by the analytic_clause. For each row,
Time of Update: 2014-06-15
MySQL實現主從複製 1.方便隨著資料的增長而超出我們的預期,是mysql實現自動擴充,將mysql做在LVM中1.1 LVM的建立建立兩個新分區,大小各為5G,我的分別為/dev/sda5、/dev/sda6#pvcreate /dev/sda{5,6}#vgcreate mysql /dev/sda{5,6}#lvcreate -L 5G -n my1 mysql#mke2fs -j /dev/mysql/my1#mkdir /data/mysql#mount
Time of Update: 2014-06-15
恢複報如下錯誤,原因是備份使用的定義和恢複使用的不同,修改備份定義OB2BARLIST為正確的帶庫標識解決。錯誤的:allocate channel 'dev_4' type 'sbt_tape' parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=syprd,OB2BARLIST=backup_full)';正確的為:allocate channel 'dev_0' type 'sbt_tape' parms
Time of Update: 2014-06-15
一般來說,在Oracle資料庫中,我們對tb表的name欄位進行模糊查詢會採用下面兩種方式:1.select * from tb where name like '%XX%';2.select * from tb where instr(name,'XX')>0;若是在name欄位上沒有加索引,兩者效率差不多,基本沒有區別。為提高效率,我們在name欄位上可以加上非唯一性索引:create index idx_tb_name on tb(name);這樣,再使用 select *
Time of Update: 2014-06-15
1 定義RBA就是redo entries在重做記錄檔中所對應的地址2 組成RBA由三部分組成:序號(4個位元組)塊號(4個位元組)起始位元組(2個位元組)以上都是16進位儲存3 類型3.1 LRBA定義:塊第一次變髒時所對應的redo entries在redo log file裡的位置注釋:CKPT-Q按LRBA的順序維護髒塊,執行檢查點事件時,DBWn從CKPT-Q按LRBA的順序寫出。LRBA也就是checkpoint position。從檢查點位置(LRBA)處,應用重做記錄到On
Time of Update: 2014-06-15
MongoDB (from “humongous”)是一款開源的面向文檔的NoSQL 資料庫,使用C++開發,儲存格式為BSON,模式自由,高效能、易部署、易使用,儲存資料非常方便。目前已經有大量開發人員在生產環境中使用。MongoDB官網:http://www.mongodb.org/如何在 Ubuntu 12.04 (Precise) Server 上安裝 MongoDBsudo apt-key adv –keyserver keyserver.ubuntu.com –recv
Time of Update: 2014-06-15
一 .減少控制檔案,有一個控制檔案損壞,我們要將損壞的控制檔案剔除。步驟:1.修改參數檔案,並驗證2.停止資料庫3.啟動資料庫4.驗證,查看v$controlfile下面是實際操作過程。 1 . 用sysdba使用者登入資料庫。 [Oracle@oracle ~]$ sqlplus oracle/oracle as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on Tue Jul 3 01:24:57
Time of Update: 2014-06-15
關於MySQL服務無法啟動(1067)問題網上的文章和說法多如牛毛,是在難以分辨真假,或者是否與自己的出錯情況相同。有了前車之鑒,就有必要提前聲明,這篇是我在電腦--管理--服務中啟動mysql服務時出現的錯誤,如下:最後的解決辦法是:進入安裝目錄-->data檔案夾,這個檔案夾裡的每一個子檔案夾都是一個資料庫,其他四個檔案是啟動服務時產生的,刪除四個檔案即可。如下:不難發現,如果修改安裝目錄下my.ini檔案夾中的這句話“datadir="D:/Program
Time of Update: 2014-06-15
一個重做日誌組可以包括一個或多個日誌成員,這多個成員應該放再不同的磁碟上,作為磁碟日誌鏡像,同一組的成員的內容是一樣的,如果沒有多個磁碟,沒有必要為重做日誌組建立多個日誌成員。當一組都寫滿時開始歸檔,使用下一日誌組,當日誌組都寫滿又輪迴到第一日誌組時,如果第一日誌組歸檔完畢就覆蓋它,若沒有就只能使用日誌緩衝區等待歸檔完畢之後才能使用它。一、重做日誌的運行流程:重做日誌按照有序迴圈的方式被使用,即當一組記錄檔被填滿後,迴圈覆蓋下一組記錄檔,不斷迴圈。此時稱為日誌切換。檢查點操作也在此時發生,檢查點
Time of Update: 2014-06-15
如果在查詢中沒有隔離索引的列,mysql通常不會使用索引。“隔離“列意味著它不是運算式的一部分,也沒有位於函數中。例如:mysql>select id from test where id +1 =5;我們能輕易地看出where子句中的id等4,但是mysql卻不會幫你求解方程,這取決於自己。我們應該養成簡化where子句的習慣,這樣就會把被索引的列單獨放在比較子的一邊。再例如:mysql>select ... where TO_DAYS(CURRENT_DATE) -
Time of Update: 2014-06-15
把表t_rows中的資料轉換為列顯示 CREATE TABLE `t_rows` ( `dt_str` varchar(20) NOT NULL, `name` varchar(20) NOT NULL, `age` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 表t_rows行顯示的結果為 mysql> SELECT `dt_str`, `name`, `age` FROM
Time of Update: 2014-06-15
1.環境準備:安裝好三台MYSQL伺服器。A 192.168.1.8B 192.168.1.88C 192.168.1.188環形結構: 192.168.1.8主 192.168.1.88從
Time of Update: 2014-06-15
一台服務上已經安裝了mysql執行個體,可通過mysqld_multi命令新增執行個體1.假設該伺服器上有一原有mysql執行個體,其basedir為/usr/local/mysql, 其資料目錄為/usr/local/mysql/data,設定檔為/etc/my.cnf# mkdir /opt/mysql3308# cp –rfp /usr/local/data/mysql /opt/mysql3308/#
Time of Update: 2014-06-15
今天一開啟資料庫,我還什麼事情都沒做,就發現硬碟燈狂轉。這是為啥?初步判定是Oracle的計劃任務在運行,但是哪個在運行,還不知道。所以,第一步先判斷後台在跑什麼東西:select * from v$session_longops where sofar <> totalwork
Time of Update: 2014-06-15
資料庫表體積大了,負載高了,難免一個sql出去耗時延長。半個月前,一個淩晨定時任務跑了8小時,突然手足無措。最後找DBA協助,直接幹掉了這個sql進程。其實,這並不複雜。首先,找出佔用CPU時間過長的SQLshow processlist; 假定最後一條sql處於Query狀態,且Time時間過長,就鎖定它的ID,直接幹掉即可。然後,殺死進程:kill QUERY 4487855; 這就大功告成了!參考KILL [CONNECTION | QUERY]
Time of Update: 2014-06-15
1. 環境說明:原機:192.168.102.156 Oracle 10.2.0.1目標:192.168.102.157 ORACLE 10.2.0.12.對資料庫做建立一張表。SQL> create table rmantest(id number(9));Table created.SQL> insert into rmantest(id) values(88);1 row
Time of Update: 2014-06-15
[Oracle@node1 pfile]$ export ORACLE_SID=MRAC1[oracle@node1 pfile]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Thu Sep 27 10:27:35 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved.Oracle Database 10g
Time of Update: 2014-06-15
1、在刪除使用者時不能順利進行,出現ora-14452錯誤SQL> drop user ggtransfer2 cascade;drop user ggtransfer2 cascade*ERROR at line 1:ORA-00604: error occurred at recursive SQL level 1ORA-14452: attempt to create, alter or drop an index on temporary table alreadyin