Time of Update: 2014-10-30
Oracle中的邏輯資料庫和物理資料庫Oracle通過抽象出邏輯儲存結構來適應不同的底層物理結構。這麼做有兩個好處:(1)使得Oracle使用者只需要瞭解資料邏輯,根本感覺不到物理層的存在,也不必瞭解任何實體儲存體結構細節。(2)對於其他OS使用者(包括系統管理員)來說,看到的只是OS物理檔案,並不瞭解資料內部邏輯。當然,邏輯資料庫和物理資料庫之間必須存在某種對應,這正是DBA需要做的事情。1
Time of Update: 2014-10-30
匯出MySQL使用者權限在對MySQL資料庫進行遷移的時候,有時候也需要遷移來源資料庫內的使用者與許可權。對於這個遷移我們可以從mysql.user表來擷取使用者的相關許可權來產生相應的SQL語句,然後在目標伺服器上來執行產生的SQL語句即可。本文提供了產生提取使用者權限的指令碼並給出示範。1、產生使用者權限的指令碼[root@HKBO ~]# more exp_grant.sh#!/bin/bash#Function export user
Time of Update: 2014-10-30
MySQL5.6配置同步複製的新方法以及常見問題的解決方案MySQL5.6新增一種不用設定log_bin檔案和log位置的方法,之前我們都需要查看master機器資訊(show master
Time of Update: 2014-10-30
公司專屬應用程式NoSQL的關鍵有關NoSQL能否勝任企業級資料庫的功能的討論現在是甚囂塵上,其中人們關注的焦點就是NoSQL資料庫的環境是不確定、變化的。一些NoSQL企業號稱已經準備好企業級的服務了,但是事實上卻是他們對企業需要的功能屬性仍然是沒有做到紮實的,甚至有的為了保證資料庫的表現把相關的屬性都移除了。這種情況對於測試原型或者非生產環境下當然可以接受,但是很難想象實際應用中,企業會把他們最關鍵的資料用這樣危險的方式處理。NoSQL資料庫的特徵是靈活、敏捷、快速和可擴充,同時還擁有災難恢
Time of Update: 2014-10-30
Oracle資料庫ORA-00257解決今天Oracle資料庫突然連不上了,報ORA-00257錯誤(空間不足錯誤),通過尋找資料,絕大部分說這是由於Archivelog歸檔日誌太多,佔用了全部的硬碟剩餘空間導致的,通過簡單刪除日誌或加大儲存空間就能夠解決。首先進入oracle使用者,使用rman工具執行命令rman target/:oracle@test-idm-db01$ rman target/ Recovery Manager: Release 11.2.0.1.0 -
Time of Update: 2014-10-30
Shell 指令碼中執行MySQL語句對於自動化營運,諸如備份恢複之類的,DBA經常需要將SQL語句封裝到shell指令碼。本文描述了在Linux環境下MySQL資料庫中,shell指令碼下調用sql語句的幾種方法,供大家參考。對於指令碼輸出的結果美化,需要進一步完善和調整。以下為具體的樣本及其方法。1、將SQL語句直接嵌入到shell指令檔中--示範環境[root@SZDB ~]# more /etc/issueCentOS release 5.9 (Final)Kernel \r on
Time of Update: 2014-10-30
Oracle資料庫的資源回收筒對於Oracle資料庫,為了保證資料的安全性,我們需要設定好資料庫的資源回收筒功能,預設這個功能是開啟的。我們可以通過以下步驟進行查看和修改。1 查看資料庫是否設定了資料庫的資源回收筒(recyclebin 功能)show parameter recyclebin;SQL> show parameter recyclebin;NAME &
Time of Update: 2014-10-30
Oracle 閃回表實驗Oracle作業:閃回表實驗1.構造測試表flb_test,資料不小於10000行;TEST_USER1@PROD>create table flb_test(id number,dd date);Table created.TEST_USER1@PROD>begin 2 for i in 1..10000 3 loop 4 insert into flb_test values (i,
Time of Update: 2014-10-30
Oracle資料庫歸檔日誌滿後造成系統宕機解決一例第一次宕機時,初始以為是系統記憶體溢出,於是重啟應用伺服器,發現應用伺服器在啟動時報錯,錯誤為無法串連到Oracle資料庫。於是串連資料庫伺服器,開啟EM後發現系統報錯提示歸檔日誌寫入失敗,檢查伺服器發現磁碟空間滿了,於是清理磁碟空間後,重啟資料庫問題解決。隨後把伺服器磁碟空間擴容,直接給了oracle資料所在盤1TB的磁碟空間。第二次又出現此問題,經過仔細檢查,並與同事確認後,發現是由於ORACLE資料庫的歸檔日誌被啟用了,而我們系統預設是沒有
Time of Update: 2014-10-30
使用rowid和rownum擷取記錄時要注意的問題我們知道,rowid和rownum在Oracle中都是可以被當做偽劣使用的,主要用來定位表中特定的記錄,但它們是有區別的,rowid是和行記錄的物理地址對應的,而rownum則不是,是通過返回的記錄集來判斷首條記錄,即rownum=1的記錄,然後再去fetch之後的記錄,rownum=2、rownum=3……,以此類推。下面來看實驗: SQL> conn zlm/zlmConnected.SQL>
Time of Update: 2014-10-30
使用shell定製awr指令碼大家在做效能問題診斷的時候,awr是不可或缺的工具,使用?/rdbms/admin/awrrpt.sql可能大家使用的多了,可能有時候感覺輸入參數還是有些太繁瑣了。一邊複製,一邊得到一個快照列表查看,其實還是不太方便。 比如我想查看某一天的8點到9點的快照,產生一個awr報告,那麼可能得算一下大概需要多少天的快照,然後從一個冗長的快照列表中去一個一個複製,還是有些繁瑣的。自己在產生awr的過程中總是感覺有些不太方便,今天下決心自己定製了一把。 首
Time of Update: 2014-10-30
MySQL 5.5.40實現一主多從 One-Master muil-slave我們知道 MySQL讀和寫在效能方面的開銷區別是較大的,一般來說 伺服器頂著20%寫的壓力,另外80%的壓力來自讀,當然這也得看實際業務情況。這篇文章準備配置一主三從,其實多少從沒什麼關係,一主多從其實是一主一從的延伸,因為從庫之間是沒有任何通訊的,具體使用哪種方式看頻寬負載和具體流量。MySQL的主從replication原理其實就是Master不斷地寫二進位日誌,Slave去讀取日誌,按照裡面的SQL記錄去執行!
Time of Update: 2014-10-30
Linux配置HugePage對於記憶體較大的Oracle資料庫伺服器,配置HugePage是很有必要的,下面是配置Huge的步驟:我的環境:OS:CentOS release 6.4 (Final)Oracle:11.2.0.4 RACOracle 大記憶體需要配置HugePage 在Oracle 11.2.0.3.0上開啟大頁(HugePages)的詳細解析 Linux HugePages及MySQL 大頁配置 Linux HugePage 特性 1.
Time of Update: 2014-10-30
Oracle 收集統計資訊在11g和12C下的區別Oracle 基於事務的暫存資料表在11g和12C下,可以看到收集暫存資料表的統計資訊後,前者記錄被清空,後者沒有,這是個很重要的區別。在公司環境上用的是12C,在現場用的是11g,使用暫存資料表會造成時快時慢,之前我有文章,用了hint之後,也不是特別好,於是直接採集,結果暫存資料表被清空。解決的方法是:建基於session的暫存資料表,且每次用完之後要truncate,要不然,會有問題。SQL> select * from
Time of Update: 2014-10-30
使用Oracle基於session的暫存資料表要注意的問題在Oracle中有兩種暫存資料表,一種是基於session,就是當出現commit之後,資料就會被清空;一種是基於session,當session斷開後,資料會被清空。--基於事務的暫存資料表create global temporary table test( ID number)on commit delete rows;--基於session的暫存資料表create global temporary
Time of Update: 2014-10-30
Oracle會話及串連數最佳化一、修改Oracle會話及最大串連數1、查看最大串連數SQL> show parameter processes;NAME TYPE VALUE---------------------
Time of Update: 2014-10-30
MySQL子查詢慢現象的解決當你在用explain工具查看sql語句的執行計畫時,若select_type 欄位中出現“DEPENDENT SUBQUERY”時,你要注意了,你已經掉入了mysql子查詢慢的“坑"。相關書籍:高效能MySQL(第3版) 中文PDF帶目錄清晰版 下面我們來看一個具體的例子有這樣一條查詢語句:SELECT gid,COUNT(id) as count FROM shop_goods g1 WHERE status =0 and
Time of Update: 2014-10-30
CentOS 6.4下讓Oracle開機啟動目標:在CentOS 6.4下讓Oracle開機啟動方案:首先添加 啟動,關閉,重啟Oracle的服務和執行個體的服務;然後把這個服務添加到系統服務的運行層級。設定CentOS下開機自動啟動Oracle 步驟:1,新增service執行命令:# vi /etc/rc.d/init.d/oracleOracle檔案的內容為:#! /bin/bash# chkconfig: 234 61 61# description: Oracle
Time of Update: 2014-10-30
MySQL資料庫啟動失敗解決重啟伺服器後-->重啟應用服務(Confluence)-->報錯,資料庫連接失敗(MySQL設定了開機自啟動)-->查看MySQL資料庫狀態:[root@ www.bkjia.com ~]# ps -ef | grep mysqlroot 25555 21974 0 11:28 pts/0 00:00:00 grep mysql啟動mysql伺服器[root@
Time of Update: 2014-10-30
Oracle ORA-16014 錯誤解決ORA-16014: log 3 sequence# 9147 not archived, no available destinationsORA-00312: online log 3 thread 1: '/U01/app/Oracle/oradata/omsdb/redo03.log'Mon Apr 22 19:10:28 2013**********************************************************