摘要: http://www.levelofindirection.com/journal/2009/10/10/using-a-networked-drive-for-time-machine-backups-on-a-mac.html
You'll find similar information to this around the web, but I find it fiddly enough to piece together reliably, and I need it often enough, that I thought I'd blog about it. That way it at least gives me a single place to look. Maybe it will help others too. Much of the specifcs, especially the hdiutil command line and the ifconfig trick, I sourced from this thread in the Ready
閱讀全文
posted @
2010-12-20 12:56 哈哈的日子 閱讀(236) |
評論 (0) |
編輯 收藏
下面的網址可以瀏覽,但不是實際下載的地址
http://s3browse.springsource.com/browse/maven.springframework.org/
實際下載的地址是
http://maven.springframework.org/xxxx
就是去掉前面的
http://s3browse.springsource.com/browse/
瀏覽進去下載一下,看看網址就知道了。
posted @
2010-12-08 15:50 哈哈的日子 閱讀(299) |
評論 (0) |
編輯 收藏
1424-4118-1138-0912-4001-7222
需要在 hosts 文件中加入
127.0.0.1 activate.adobe.com
posted @
2010-12-06 14:18 哈哈的日子 閱讀(602) |
評論 (0) |
編輯 收藏
一、簡介
SQL*LOADER是ORACLE的數據加載工具,通常用來將操作系統文件遷移到ORACLE數據庫中。SQL*LOADER是大型數據倉庫選擇使用的加載方法,因為它提供了最快速的途徑(DIRECT,PARALLEL)。使用前提是必須存在目標表。
二、SQL*LOADER使用方法
在Window系統下,SQL Loader的命令為sqlldr,在UNIX下一般為sqlldr/sqlload。
有效的關鍵字:
userid -- ORACLE 用戶名/口令
control -- 控制文件名
log -- 日志文件名
bad -- 錯誤文件名,如果有的數據沒有被處理,將會出現在這里
data -- 數據文件名
discard -- 廢棄文件名
discardmax -- 允許丟棄數據的數目 (全部默認)
skip -- 要跳過的邏輯記錄的數目 (默認0)
load -- 要加載的邏輯記錄的數目 (全部默認)
errors -- 允許的錯誤記錄數目 (默認50)
rows -- 常規路徑綁定數組中或直接路徑保存數據間的行數 (默認: 常規路徑 64, 所有直接路徑)
bindsize -- 常規路徑綁定數組的大小,以字節計算(默認65536)
silent -- 運行過程中隱藏的信息 (header,feedback,errors,discards,partitions)
direct -- 使用直接路徑 (默認FALSE)
parfile -- 參數文件:包含參數說明的文件的名稱
parallel -- 執行并行加載 (默認FALSE)
file -- 要從以下對象中分配區的文件
skip_unusable_indexes -- 不允許/允許使用無用的索引或索引分區 (默認 FALSE)
skip_index_maintenance -- 沒有維護索引, 將受到影響的索引標記為無用 (默認 FALSE)
commit_discontinued -- 提交加載中斷時已加載的行 (默認 FALSE)
readsize -- 讀取緩沖區的大小 (默認 1048576)
external_table -- 使用外部表進行加載; NOT_USED, GENERATE_ONLY, EXECUTE (默認 NOT_USED)
columnarrayrows -- 直接路徑列數組的行數 (默認 5000)
streamsize -- 直接路徑流緩沖區的大小 (以字節計) (默認 256000)
multithreading -- 在直接路徑中使用多線程
resumable -- 啟用或禁用當前的可恢復會話 (默認 FALSE)
resumable_name -- 有助于標識可恢復語句的文本字符串
resumable_timeout -- RESUMABLE 的等待時間 (以秒計) (默認 7200)
date_cache -- 日期轉換高速緩存的大小 (以條目計) (默認 1000)
PLEASE NOTE: 命令行參數可以由位置或關鍵字指定。前者的例子是 'sqlload scott/tiger foo';
后一種情況的一個示例是 'sqlldr control=foo
userid=scott/tiger'.位置指定參數的時間必須早于但不可遲于由關鍵字指定的參數。例如,允許 'sqlldr
scott/tiger control=foo logfile=log', 但是不允許 'sqlldr scott/tiger
control=foo log', 即使參數 'log' 的位置正確。
三、SQL*LOADER實例
控制文件腳本實例:
load data --控制文件表示
infile 'e:\aa.csv' --有導入的數據文件名
append into table TBL_SYNC_CORE_INSURANCE --向表TBL_SYNC_CORE_INSURANCE中追加記錄
fields terminated by ',' --指定用逗號分隔
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS --表的字段沒有對應值時允許為空
*************下面是表的字段
(
COVERAGE_CODE,
PRODUCT_NO,
NAME,
MAIN_COVERAGE_CODE,
KIND,
CREATOR,
CREATED_DATE,
MODIFIER,
MODIFIED_DATE
)
備注:數據導入的方式上例中用的append,有一下幾種:insert,為缺省方式,在數據裝載開始時要求表為空;append,在表中追加新記錄;replace,刪除舊記錄,替換成新裝載的記錄 ;truncate,同replace,會用truncate語句刪除現存數據。
在命令行提示符下使用SQL*Loader命令實現數據的輸入:
sqlldr userid=用戶名/口令@服務名 control='e:\control.ctl' log=e:\log.txt bad=e:\bad.txt
如果本地安裝了oracle服務端,可以不寫服務名;log和bad不寫,默認生成在當前目錄下。
四、其他導入方法
利用PLSQL Developer:
在單個文件不大的情況下(少于100000行),并且目的表結構已經存在的情況下-----對于excel而言肯定不會超過了,因為excel文件的最大行為65536-----可以全選數據COPY ,然后用PLSQL Developer工具。
1 在PLSQL Developer的sql window里輸入select * from test for update;
2 按F8執行;
3 打開鎖, 再按一下加號. 鼠標點到第一列的列頭,使全列成選中狀態,然后粘貼,最后COMMIT提交即可。
五、補充在Linux下使用 sqlldr 的注意事項
在執行 sqlldr 前,需要進行以下步驟
- 設置 ORACLE_HOME 環境變量,如 export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
- 設置ORACLE編碼格式,將本地字符集和ORACLE字符集設置為一致,如export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
- 將csv文件轉碼成相應的編碼
然后再使用 sqlldr 進行數據導入
posted @
2010-11-07 15:42 哈哈的日子 閱讀(4159) |
評論 (0) |
編輯 收藏
原因:
因為公司搬遷,兩天左右,svn服務器不能使用,需要搭建臨時的 svn 服務器。
一、備份 svn 服務器:
首先,使正在使用的 svn 無法提交。方法是:
在正在使用的 svn 服務器上,增加一個 pre-commit hook,在不使用 perl, python 等腳本的情況下,windows 就是 pre-commit.bat,linux 就是 pre-commit
使這個 hook 始終 exit 1
然后舊的 svn 服務器就沒辦法提交了。
文件 copy 一份出來就可以了,放在另外一個服務上,啟動,然后讓大家 relocate 一下,就可以使用新的 svn 服務器了。
二、恢復 svn 服務器
舊的 svn 依然不能提交,即 pre-commit hook exit 1,將新的 svn 服務器也設置為不能提交。
然后:
在新的 svn 服務器上,使用 svnadmin dump -r xxx:HEAD --incremental > dump 進行增量的版本庫 dump
xxx 是我們備份的下一個版本號
將舊的 svn 服務器設置為可以提交,即刪除 pre-commit hook 或修改為正常使用的 hook,然后在舊的 svn 服務器上使用 svnadmin load < dump 就可以將新的服務器上提交的內容恢復到舊的服務器上。
讓大家 relocate 回到舊的服務器上,就可以了。
完成!
posted @
2010-10-16 13:09 哈哈的日子 閱讀(926) |
評論 (3) |
編輯 收藏
這種方法SEO不好,需要SEO的,請不要使用。
在ckeditor中,增加分頁符,然后可以使用下面的代碼進行 js 分頁。
$(function() {
var top = "#content";
var content = $(top);
var all = content.find("*");
var pages = [];
function hideContent() {
all.hide();
}
function showArray(arr) {
$.each(arr, function(i) {
this.show().parentsUntil(top).show();
});
}
function initPages(pageBreaks) {
pageBreaks.each(function(index) {
$(this).attr("id", "pageBreak" + index);
});
var current = 0;
pages[0] = [];
all.each(function(i) {
var id = $(this).attr("id");
if(id == "pageBreak" + current) {
current++;
pages[current] = [];
} else {
pages[current].push($(this));
}
});
}
function showPage(i) {
hideContent();
showArray(pages[i]);
}
var pageBreaks = content.find("div[style]").filter(function() {
return $(this).css("page-break-after") == "always";
});
if(pageBreaks.size() > 0) {
initPages(pageBreaks);
$("#pagingBar").pagination(pages.length, {
callback: function(index) {
showPage(index);
},
prev_text: '<',
next_text: '>',
items_per_page: 1,
num_display_entries: 5,
num_edge_entries: 2
});
showPage(0);
}
$("#content").show();
});
posted @
2010-06-23 00:58 哈哈的日子 閱讀(987) |
評論 (0) |
編輯 收藏
grant all privileges on *.* to root@'%' identified by '' with grant option;
posted @
2010-06-11 15:02 哈哈的日子 閱讀(208) |
評論 (0) |
編輯 收藏
產品需要一個郵件服務器,目標定位在 Apache James,原因是 sendmail 不好配,沒弄明白。
開工!
1. 下載 James,是個 zip 包或是 tar 包,解壓,windows 下不說,linux 下 tar -xf apache-james-2.3.2.tar.gz
2. 到 james-x.x.x/bin 目錄下,linux 需要 chmod a+x *.sh,加上執行屬性,然后運行 ./phoenix.sh start,然后快點兒 ./phoenix.sh stop,start 是因為會生成一個展開目錄的 james,快一些 stop 是因為無數的垃圾郵件服務器在連接你,用你當垃圾郵件發送器
3. 修改 james-x.x.x/apps/james/SAR-INF/config.xml 文件,這步是最重要的。
a) 修改 <servername>haha.com</servername>,把這個修改為你的域名,注意:要和你的機器 hostname 一致,至于怎么改 hostname,請參考我轉的另一篇文章
b) 把下面這段注釋掉
<mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
<processor> relay-denied </processor>
<notice>550 - Requested action not taken: relaying denied</notice>
</mailet>
c) 把下面這段原來被注釋掉的去掉注釋
<authRequired>true</authRequired>
d) 把下面的被注釋掉的,也去掉注釋
<verifyIdentity>true</verifyIdentity>
e) 修改 root 密碼,就是這行 <account login="root" password="new_password"/>
4. 重新執行 ./phoenix.sh start
你已經成功了。
posted @
2010-05-31 22:32 哈哈的日子 閱讀(570) |
評論 (0) |
編輯 收藏
http://www.onlyit.cn/bbs_html/200603/article_49_1284.htm
域名記錄簡介
概述
成功注冊了域名之后,域名的日常管理就是對各種域名記錄的配置和管理。下面我對常用的三種域名記錄進行一個簡單的介紹,這三種域名記錄類型分別是 A 記錄(地址記錄)、 CNAME 記錄(別名記錄)和 MX 記錄(郵件服務器記錄)。前面兩種主要作用都是將一個域名解釋成一個 IP 地址,用于幾乎所有的 TCP/IP 通信。后一種是將一個域名解釋成一個郵件服務器的域名,只用于 SMTP (互聯網的郵件系統)通信過程。
在開始之前需要簡單說明一下 DNS 系統所作的事情不僅僅是將域名解釋成 IP 地址。 DNS 實際上作的是名字翻譯工作。雖然在 TCP/IP 環境下最后基本上都會牽扯到 IP 地址。但是 DNS 允許通過不同的類型讓同一個名稱擁有不同的含義。比如同樣的 oray.net 這個名稱在 Web/FTP 通信過程中對應的是一個地址,在 SMTP 通信中則變成一個郵件服務器。這樣就允許我們將 Web 和 SMTP 服務器放在不同的 IP 地址上。
DNS 服務器進行名字解釋的時候依賴的是一個數據文件,每個域名都有一個獨立的數據文件,這個文件包括了該域名所有的名稱,名稱對應的類型和對應的類型數據。 DNS 規定的名稱類型有近 20 個,不過常用的除了我們下面介紹的三種外,還有就是 soa 記錄和 NS 記錄。
記錄生存時間
所有的名字記錄都有一個相同的屬性就是生存時間( TTL ),這個屬性用來控制其它 DNS 服務器在什么時候刪除這個記錄的解釋結果,是一個非常重要的參數。在前面我們講過為了提高域名解釋的速度。一般的 DNS 服務器都會緩存代理解釋的結果。但是如果授權服務器的記錄發生改變,曾經代理解釋過這個記錄的 DNS 服務器不會那么快反應這個變化。因為在記錄緩存失效之前,這些服務器會使用緩存中的結果回答收到的查詢申請。所以緩存雖然提高了查詢效率,但是負面的作用就是變化的反應時間延長。技術上叫收斂過程緩慢,一個記錄的緩存時間越長,收斂就越慢。在同一個域名下不同的域名記錄的緩存時間是可以單獨控制的,對于經常需要變化的域名記錄我們一般采用較短的緩存時間。
為了改善這種慢收斂效應, DNS 規定了記錄的代理解釋的服務器在使用緩存數據回應的時候,包含在回應數據中的緩存時間是原始緩存時間減去已經緩存的時間。例如一個記錄在授權服務器上設置的緩存時間是 1 小時,那么代理解釋服務器通過授權服務器得到的結果的原始緩存時間就是 1 小時,緩存了半小時后,代理解釋服務器上再次受到解釋請求,這是服務器通過緩存解釋域名,不過回應的時候告訴客戶這股只剩下半小時的緩存時間。如果客戶是另一臺代理服務器那么這臺服務得到的原始緩存時間就只有半小時了。這樣的機制保證了一個記錄變化之后最壞情況下被緩存的時間最長就是設定的生存時間。
A 記錄(地址記錄)
這種記錄是最簡單的一種記錄類型,其功能就是將域名解釋成一個 IP 地址。配置的時候(不同的系統有不同的操作界面,不過基本的原理差不多)輸入名稱和一個 IP 地址。留意一下生存時間就可以了。
一個名字可以對多個 IP 地址,這樣就需要使用多條 A 記錄來實現。在解釋的時候 DNS 服務器基本上都會支持一種 “ 輪換 ” ( Round Robin )機制。如果同一個類型的同一個名字有多條記錄,雖然每次查詢都斛返回所有的記錄內容,不過在返回的過程中數據排列的順序每次都不相同。由于大部分的客戶端只選擇第一條記錄所以通過這種方式可以實現一定程度的負載平衡。
CNAME (別名記錄)
這種記錄的作用是將一個域名解釋成另外一個域名,兩個域名不一定需要在同一個域下。通常為了方便域名的管理。如果一個 IP 地址對應著多個域名的話,經常使用若干條 CNAME 記錄和一條 A 記錄來替代多條 A 記錄。這樣當 IP 地址發生變化的時候只需要改變一條 A 記錄就可以了。
理論上別名記錄本身也可以只想另外一個別名記錄,不過一般不這么做。應為最后我們需要的是得到一個地址。多極別名會大大降低域名的查詢速度,而且一些服務器不會正常解釋這種域名記錄。
MX (郵件服務器記錄)
這種記錄用來說明負責接受指定域名的郵件的郵件服務器是哪一個。僅用于 SMTP 服務轉發郵件的時候。當 SMTP 服務器需要向外轉發 name@Domain.com 的郵件的時候。首先會像 DNS 查詢類行為 MX ,名稱為 Domain.Com 的記錄。如果沒有 MX 記錄則會使用 A 類型再查詢一次。所以 MX 記錄在一定程度上是可以使用 A 記錄替代的。
MX 記錄的結果比上面兩個稍微復雜一些,它包含一個郵件服務器的域名和一個郵件服務器的優先級,如果你的域名使用多個 SMTP 服務器接受郵件的話,你可以使用多條 MX 記錄指出所有的郵件的服務器,通過優先級參數配置那一臺服務作為首選服務器。一般情況下郵件會發給優先級最高的服務器(數值最小的),如果該服務器不能連通,則轉到下一個優先級的服務器。想通優先級的服務器的順序可以由 “ 輪換 ” 機制決定。
一般情況下,即使你的其他服務器和郵件服務區使用相同的 IP 地址也建議使用 MX 記錄來表示郵件服務器。相對于簡單的 A 記錄來說, MX 記錄的優先級可以控制,另外你保持了郵件服務和其他服務的獨立性。
posted @
2010-05-30 00:26 哈哈的日子 閱讀(280) |
評論 (0) |
編輯 收藏
test
test
test
e538-c851-cf5a-930c-1943
posted @
2010-05-27 09:44 哈哈的日子 閱讀(346) |
評論 (0) |
編輯 收藏