f 迪貝之家

Microsoft SQL Server Log Shipping

SQL 7就有的技術,簡單的說就是資料庫複本資料同步的技術,而這份複本可以開放讀取的功能以分散營業資料庫的負載,也可純粹當成備援資料庫,不管是在本地還是異地。怎麼達成? 透過SQL Agent自動化排程進行備份、傳檔及復原等作業。

Oracle GolGateden

機房搬遷跨Site能即時同步資料庫利器

Nagios 資料庫維運自動化

一開始設計這架構時,就排除使用remote agent的想法因為在專業分工的組織下,要求安裝新軟體於既有系統是一件不太可行的方案,既然身為DBA就只能把資料庫instance當作是一個最大的agent 想辦法在資料庫內做到我想做的事情

This is default featured post 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

神奇的Mongodb $elemMatch Operator

 

這是個神奇的東西
既可做查詢條件
也可做為Projection的設定
一開始我其實搞不太清楚它與field.field.field....格式間的差異
看了資料結構後
我才恍然大悟
field.field.field.... 是給只有單一document
elemMatch 是用來找array的內容是document
舉個例子來看,就清楚了
這是relationships欄位的資料結構
它是document array























db.companies.find({ "relationships":
                      { "$elemMatch": { "is_past": true,
                                        "person.first_name": "Mark" } } },
                  { "name": 1 }).pretty()

我們接著來看elemMatch怎麼當作Projection
先瞧瞧scores的資料結構
教材裡的設定
是只顯示超過85分的document
而不是給你所有的scores的資料
db.grades.find({ "class_id": 431 }, { "scores": { "$elemMatch": { "score": { "$gt": 85 } } } }).pretty()

其實Mongodb都把他們的教學影片公開在youtube
我只要註明出處
就不會違反著作權了
更何況我又沒拿來營利....
出處:
https://youtu.be/Vo3SntUloY8
https://youtu.be/8FDWzlkB-oo

碰到Oracle Lock Wait

 

用了10g以上的版本後
最常用的工具就是awr 及addm
以前常用的script都丟掉了
只是最近又幹起了Programmer的工作
你就不太可能像以前幹dba一樣
知道詳細的資料庫連接資料
碰到都是人家已經在工具UI已經弄妥的設定
你只能直接查internal view來解決問題
昨天要refresh整個schema,然後重匯資料
結果有lock,無法清空
臨時間又懶得去翻找以前的東西
感謝Internet
資料隨手可得阿
以前的老dba都雪藏秘珍這種東西啦~~
所以....這些人現在都活不下去了
昨天對我有幫助的是下列這段語法
select
c.owner,
c.object_name,
c.object_type,
b.sid,
b.serial#,
b.status,
b.osuser,
b.machine
from
v$locked_object a ,
v$session b,
dba_objects c
where
b.sid = a.session_id
and
a.object_id = c.object_id;
砍掉該session,就能繼續做事了
出處 :
http://www.dba-oracle.com/t_find_oracle_locked_objects.htm

Mongodb Logic Operator : 到底是我英文爛,還是它描述的糟糕阿...

 

我先寫一下出處
省得被告侵犯著作權
不過
我想它應該也懶得花大錢
就為了這點小事來台灣告我
美國找律師粉貴阿
告我又拿不到什麼錢
這是mongodb的lab問題

出處:
https://university.mongodb.com/mercury/M001/2021_March_16/chapter/Chapter_4_Advanced_CRUD_Operations/lesson/5f36f52104e9ffa9293e896es/problem
沒辦法,上禮拜聽過板橋智財法院的法官的演講
我寫的Query :
db.companies.find({"$and" : [{"founded_year":2005},
{"$or" :[ {category_code:"web"},
                {"founded_month":10}, 
                {category_code:"web"}
             ]
},
{"$or" :[ {category_code:"web"},
                {category_code:"web"}
              ]
}                                               ]
                               }.count()
這是mongodb 給出來的答案
db.companies.find({ "$and": [{ "$or": [
                                                                    { "founded_year": 2004 },
                                                                    { "founded_month": 10 }
                                                                    ]
                                                    },
                                                   { "$or": [
                                                                   { "category_code": "web" },
                                                                   { "category_code": "social" }
                                                                  ]
                                                   }
                                                 ]
                                   }).count()
看了答案後,我傻眼了