Dec 24, 2008

VMWare auto-startup on windows

1. "C:\Program Files\VMware\VMware Server\vmware.exe" -x "d:\vmware\Windows 2000 Advanced Server.vmx"
2. add in *.vmx

  hints.hideAll = "true"

Dec 18, 2008

放鬆氣功鍜練法

★ 放鬆氣功鍜練法; 又稱為自然的默唸呼吸 (一)放鬆:行立坐臥都可以練習、初學者以仰臥或靠坐式較易放鬆、熟習後可在練各式坐功、站功、行功中放鬆。以自然呼吸開始、逐漸進入到腹式深呼吸、其過程必定要自然而然、循序漸進。熟練後可以配合升降開合等其它各種方式呼吸。一般在吸氣時默唸(靜)字、呼氣時默唸(鬆)字、因此稱為自然的默唸呼吸。 (二)[意守]適合初練氣功者注意力集中。    第一式:由頭兩側至頸兩側至兩肩至兩上臂至兩肘至前臂至兩腕至兩手掌至十指、兩手中指尖互壓意守一至二分鐘。    第二式:由面部至頸部至胸至腹至兩大腿前面至兩膝至兩小腿前面至足背至十趾、意守于大腳指頭一至二分鐘。    第三式:後頭部至後頸部至背至腰至兩大腿後面至兩膝窩至兩小腿後面至兩踝至兩腳底至腳底心意守一至二分鐘。    第四式:把意念移到肚臍下三寸意守三至五分鐘、(就此入眠也可以)、或兩手互相搓熱再輕擦臉部如洗面狀。

簡易氣功

「 氣功六字訣:噓,泗,呵,吹,呼,嘻。」
「練法」
一: 閉口吸氣(吸氣為補),以細,緩,長,耳不聞(無聲)為主。
二: 以耳不聞聲的讀法逐字唸出,以細,緩,長為主。
三: 每吸一次 氣後再唸字。肝用噓,肺用泗,心用呵,腎用吹,脾用呼,三焦用嘻。

「養 生 守 則」
已飢方食,未飽先止,散步消遙,務另腹空,髮宜多梳,面宜多擦,
目宜常運,耳宜常彈,齒宜數叩,津宜數嚥,腹宜常摩,肢節常搖,
足心常擦,多食傷胃,醉飽入房,傷精竭力。氣宜下沉,肛宜常提。

「 吐 納」
(一)兩腳隨意分開與肩同寬、屏除雜念、全身放鬆。
(二)兩手輕輕放置上腹部。 上腹部與下腹同時輕輕慢慢的往內縮、 呼吸保持自然、上半身略向前傾、(保持直立也可以、以感覺舒適自然為度)、 內縮到自已感覺到已是極限時再把上、下腹部回復原狀、 若微感氣喘略為休息、等到氣息感到自然時再重做、次數不拘。
(三)當腹部內縮時若能把氣配合自然慢慢的吸進肺部、 腹部回復原狀時把氣慢慢的、自然的以耳不聞聲的方式吐出。 (鼻吸口出或鼻吸鼻出都可以、 下腹部若能略為外凸更好、沒有外凸也可以。)默想氣己往下沉至下丹田。 (肚臍與恥骨的直線中心點、往下二至三寸間。)

注 意 : 孕婦不可以練。 飽腹時,蹩著大小便時不可練。

Dec 10, 2008

linux usb and mount aix nfs

1. use usb
$ fdisk /dev/sdd
$ mkfs -t vfat /dev/sdd1
$ mkdir /usb
$ mount /dev/sdd1 /usb
2. mount AIX NFS
At AIX:
# use smitty to export file system
# add linux ip to /etc/hosts

At linux:
# add AIX ip to /etc/hosts
# mount AIX_HOST_NAME:/export_file_system /LINUX_mount_dir

Dec 3, 2008

function , procedure return cursor operation

Permitted Cursor Variable Parameter Modes
Operation IN IN OUT OUT
OPEN No Yes No
FETCH Yes Yes No
CLOSE Yes Yes No

--- function return cursor--
CREATE OR REPLACE FUNCTION emp_by_job (p_job VARCHAR2)
RETURN SYS_REFCURSOR
IS
emp_refcur SYS_REFCURSOR;
BEGIN
OPEN emp_refcur FOR SELECT empno, ename FROM emp WHERE job = p_job;
RETURN emp_refcur;
END;


DECLARE
v_empno emp.empno%TYPE;
v_ename emp.ename%TYPE;
v_job emp.job%TYPE := 'SALESMAN';
v_emp_refcur SYS_REFCURSOR;
BEGIN
DBMS_OUTPUT.PUT_LINE('EMPLOYEES WITH JOB ' || v_job);
DBMS_OUTPUT.PUT_LINE('EMPNO ENAME');
DBMS_OUTPUT.PUT_LINE('----- -------');
v_emp_refcur := emp_by_job(v_job);
LOOP
FETCH v_emp_refcur INTO v_empno, v_ename;
EXIT WHEN v_emp_refcur%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(v_empno || ' ' || v_ename);
END LOOP;
CLOSE v_emp_refcur;
END;


----------procedure return cursor ---------------------------------------

CREATE OR REPLACE PROCEDURE open_all_emp (
p_emp_refcur IN OUT SYS_REFCURSOR
)
IS
BEGIN
OPEN p_emp_refcur FOR SELECT empno, ename FROM emp;
END;

CREATE OR REPLACE PROCEDURE open_emp_by_dept (
p_emp_refcur IN OUT SYS_REFCURSOR,
p_deptno emp.deptno%TYPE
)
IS
BEGIN
OPEN p_emp_refcur FOR SELECT empno, ename FROM emp
WHERE deptno = p_deptno;
END;

CREATE OR REPLACE FUNCTION open_dept (
p_dept_refcur IN OUT SYS_REFCURSOR
) RETURN SYS_REFCURSOR
IS
v_dept_refcur SYS_REFCURSOR;
BEGIN
v_dept_refcur := p_dept_refcur;
OPEN v_dept_refcur FOR SELECT deptno, dname FROM dept;
RETURN v_dept_refcur;
END;

CREATE OR REPLACE PROCEDURE fetch_emp (
p_emp_refcur IN OUT SYS_REFCURSOR
)
IS
v_empno emp.empno%TYPE;
v_ename emp.ename%TYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE('EMPNO ENAME');
DBMS_OUTPUT.PUT_LINE('----- -------');
LOOP
FETCH p_emp_refcur INTO v_empno, v_ename;
EXIT WHEN p_emp_refcur%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(v_empno || ' ' || v_ename);
END LOOP;
END;


CREATE OR REPLACE PROCEDURE fetch_dept (
p_dept_refcur IN SYS_REFCURSOR
)
IS
v_deptno dept.deptno%TYPE;
v_dname dept.dname%TYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE('DEPT DNAME');
DBMS_OUTPUT.PUT_LINE('---- ---------');
LOOP
FETCH p_dept_refcur INTO v_deptno, v_dname;
EXIT WHEN p_dept_refcur%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(v_deptno || ' ' || v_dname);
END LOOP;
END;



CREATE OR REPLACE PROCEDURE close_refcur (
p_refcur IN OUT SYS_REFCURSOR
)
IS
BEGIN
CLOSE p_refcur;
END;



DECLARE
gen_refcur SYS_REFCURSOR;
BEGIN
DBMS_OUTPUT.PUT_LINE('ALL EMPLOYEES');
open_all_emp(gen_refcur);
fetch_emp(gen_refcur);
DBMS_OUTPUT.PUT_LINE('****************');

DBMS_OUTPUT.PUT_LINE('EMPLOYEES IN DEPT #10');
open_emp_by_dept(gen_refcur, 10);
fetch_emp(gen_refcur);
DBMS_OUTPUT.PUT_LINE('****************');

DBMS_OUTPUT.PUT_LINE('DEPARTMENTS');
fetch_dept(open_dept(gen_refcur));
DBMS_OUTPUT.PUT_LINE('*****************');

close_refcur(gen_refcur);
END;

-----------------------------

Dec 2, 2008

JSP and MySQL

所需的JDBC Driver下載處
MySQL: 請按此
將jdbc Driver放至適當目錄位置(一般為{站台/WEB-INF/lib}或{tomcat}/common/lib)

----------------- index.jsp ----------------------
<%@ page contentType="text/html; charset=Big5"
import="java.sql.*"%>
<HTML>
<HEAD>
<TITLE>ResultSet變數的建立與記錄的取得</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>ResultSet變數的建立與記錄的取得</FONT>
</CENTER>
<HR>
<CENTER>
<%
/*以下的程式請將要使用的驅動程式及建立連線語法的註解符號去除
* 建立資料庫連線,其中
* localhost代表本機(或以IP表示,如192.168.1.1)
* 3306代表MySQL所使用的網路port,不同的資料庫用不同的port,請依事實設定
* pubs3代表所連結的資料庫名稱
* useUnicode=true&characterEncoding=big5是設定傳值時所用的編碼系統為"big5"
* root為資料庫的使用者,其他資料庫使用者為sa
* 123456為密碼
*/
//載入JDBC驅動程式類別

//第一個 利用JDBC for MySQL 連結MySQL資料庫(複製mysql-connector-java-3.x.x-bin.jar,其中x代表版本)
//Class.forName("com.mysql.jdbc.Driver");
//Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/pubs3?useUnicode=true&characterEncoding=big5","root", "123456");

//第二個 利用Sybase jconnect 6.0 連結Sybase資料庫,(複製jconnect6/jconn3.jar)
//Class.forName("com.sybase.jdbcx.SybDriver");
//Connection conn = DriverManager.getConnection("jdbc:sybase:Tds:192.168.1.1:5000/pubs3?CHARSET=big5", "sa", "123456");

//第二個 利用Sybase jconnect 5.5 連結Sybase資料庫,(複製jconnect5_5/jconn2.jar)
//Class.forName("com.sybase.jdbc2.jdbc.SybDriver");
//Connection conn = DriverManager.getConnection("jdbc:sybase:Tds:192.168.1.1:5000/pubs3?CHARSET=big5", "sa", "123456");

//第三個 利用sourceforge提供的jtds.jdbc連結Sybase資料庫
// 亦可用此jdbc driver連結 MS-SQL資料庫,因為兩者核心是相同的(複製jtds-x.x.jar,其中x是代表版本)
//Class.forName("net.sourceforge.jtds.jdbc.Driver");
//以下這行是連到MS-SQL
//Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://192.168.1.1:1433/pubs","sa","123456");
//以下這行是連到SYBASE
//Connection conn = DriverManager.getConnection("jdbc:jtds:sybase://192.168.1.1:5000/pubs3;CHARSET=big5","sa","123456");

//以下的程式碼都相同
//建立Statement物件
Statement stmt = conn.createStatement();

//建立ResultSet(結果集)物件
ResultSet rs;

//執行SQL敘述
rs = stmt.executeQuery("SELECT * FROM titles");

%>
<!-- 將搜尋出來的資料以表格的方式呈現 (本行是HTML的註解)-->
<TABLE bgcolor=DodgerBlue>
<TR bgcolor=SkyBlue>
<TD><B>title_id</B></TD>
<TD><B>title</B></TD>
<TD><B>type</B></TD>
</TR>
<%
//利用while迴圈將資料表中的記錄列出
while (rs.next())
{
%>
<TR bgcolor=LightGoldenrodYellow>
<TD><B><%= rs.getString("title_id") %></B></TD>
<TD><B><%= rs.getString("title") %></B></TD>
<TD><B><%= rs.getString("type") %></B></TD>
</TR>
<%
}
rs.close(); //關閉ResultSet物件
stmt.close(); //關閉Statement物件
conn.close(); //關閉Connection物件
%>
</TABLE>
</CENTER>
</BODY>
</HTML>
------------- End index.htm ---------------------

遭遇 MySQL 回傳 error 時
java.sql.SQLException: null, message from server: "Host '192.168.x.x' is not allowed to connect to this MySQL server"


--- Solution
1)By default mysql does not support remote access...

2) you will have to specify this in the server first, (of course you will not be able to do this from a remote machine!!! unless you have remote desktop access)

3)To enable access from a client machine called nile, do the following after starting mysqld (or mysqld_safe) on the server, named delaware:

% mysql -u root -p
mysql> use mysql;
mysql> grant all privileges on *.* to usrname1@'%' identified by 'test' with grant option;
mysql> exit

The user name, usrname1, and the password, test, should be replaced by the real value.
One can then run mysql on nile as follows:

% mysql --host=delaware --user=usrname1 -ptest

To restrict access to a user from a specific host, change '%' in the grant command to a valid hostname or ip address.

《中醫篇》生男生女-護腎穴位

自古以來,除了唐朝楊貴妃時期,因為「家以女貴」的關係,曾經讓生女兒變成第一志願,生兒子向來是中國 媳婦的第一職志。台灣中醫臨床醫學會理事長陳潮宗表示,在古代醫書裡面確實有許多教人家生男生女的偏方,像在行房時,如果想生男孩,男性只要在腰間配戴雄 黃,就可以如願;若想要生女孩,只要在腰間戴上雌黃即可。

除了流傳的各種民間偏方外,在古代也流傳各種生男生女中藥方。陳潮宗表示,在中藥典籍裡最著名的生男偏方,當屬「江西唐氏早生貴子方」;包括黃耆、黨參、枳殼、枳實、沈香、玉竹、沒藥、粉草(甘草)、胡桃、川芎等10味藥各兩錢,煎成藥湯後只要吃一次就有效。

其實,這些中藥偏方是否真能讓人一舉得男,陳潮宗坦言,很難掛保證,但他認為果抓住時機補得對,還是可以如願以償。他認為,現代人最大的問題是 「做人困難」,主要問題在於腎氣不足;而古代中醫典籍記載,腎氣足,不但可以解決難「做人」的困境,還有利於生男。他提供以下各種生男生女祕訣,供民眾參 考。


生男攻略五式

.多食補腎食物

每天燉補腎藥太麻煩,不妨多選擇補腎食物,具有補腎作用的食物如山藥、蓮子、蓮心、豬腎、豬肚、豬骨髓、海參、雞肉、淡菜、魚鰾、栗子、黑紫米、羊腎、羊骨、核桃仁。或者也可以多攝取桑葚、藍莓、荔枝、龍眼等益腎水果。

.護腎穴位保養

腎之經脈起於足部,腳心的湧泉穴為主穴,多按揉腳心及熱水泡腳。
脊椎外側兩側1吋半的腎俞穴,常按可促進腎臟血液循環,減少腰背痠痛,保腎氣。 膝蓋下3吋的脛骨外側1吋處為足三里穴,常按可保腎健骨。
腳踝內側外1吋的凹陷處的太谿穴,為腎經路線,按壓可保固腎氣,強精補血。
肚臍下1吋半的氣海穴、肚臍下3吋的關元穴,以及肚臍下4吋的中極穴三穴,被稱為「求嗣三要穴」,除了常按壓外,最好多溫灸。

生女攻略四式

.多吃補血食物

金針、菠菜、紅蘿蔔、牛肉、豬瘦肉、豬肝等紅肉、鮭魚、小黃瓜、乳酪等。或是多吃蘋果、葡萄、西瓜、香蕉、草莓、橘子、桃子、杏桃等補血水果;值得注意的是,千萬不能熬夜,最好在晚上11點前入睡,膽經舒通使體內廢物排除,半夜1至3時行至肝經,才能生血養血。

.益氣血穴位保養

內踝的上方約四指寬處,按下去有點痠痛的部位為三陰交穴,可促進女性荷爾蒙分泌及增強血循。
人體最多血多氣的脈經為陽明經,手陽明經合穴的曲池穴在手肘橫紋外側,足陽明經合穴足三里則是在膝蓋下3吋脛骨外側1吋,常按兩穴有益氣血、延壽之效。
血海穴具有補血活血作用,血海穴的位置在腳伸直後膝蓋骨內側上方3指寬的凹陷處,1天至少按摩49下能補血活血。
腎俞穴主治下元諸虛,精冷無子等證,在後腰第二腰椎旁開1吋半的位置,每天用手放在後腰部來回搓揉按摩至少49下。

調整飲食、體位、酸鹼值 生男生女隨你意 時報周刊 No.1495

雖說生男生女一樣好,但大多數人仍希望生個兒子好傳宗接代。在傳播界工作的小娟,雖已是高齡產婦,但為了替夫家生個兒子,已經有兩個女兒的她,仍甘願再懷第三胎。她到醫院做精蟲分離術,期能一舉得男;但天不從人願,老三還是個女娃。

「我想再試一次。」小娟放下手中的咖啡,語氣堅定地表示,因為老公是獨子,所以想再努力,幫夫家生個男孩,好延續香火。為了懷老四時能一舉得男,她這次決定試看看各種民間流傳偏方;她說,老三用科學方法失敗,老四只好試試老祖宗流傳下來的方法囉。

「像小娟這種渴望生男寶寶的孕婦非常多。」嘉義長庚醫院婦產科主任曾志仁無奈地說。他強調,有「一舉得男」壓力的人,會選擇科學方法選擇胎兒的性別;事實上,生男生女隨心所欲並沒有這麼難,只要用對方法就可以如願以償。

如果想要生男,改變酸鹹質是第一招,因為科學研究早就證實,男人每次射精後的X或Y精蟲的比例都差不多,但是有人就是特別會生男孩,有些人則怎麼生都是女孩,原因就在於酸鹼值。曾志仁說,當女性陰道環境屬於鹼性時,特別適合Y精蟲的活動,因此改變體質是首要任務。

他強調,精子從陰道到輸卵管,要跑的距離是它身長的一萬倍,因此需要足夠的能量才能能跑完全程,而能量來源都是在動物性的核酸內,因此男性必須多 吃肉類才能提供給精蟲所需要的能量。而因為Y精蟲的速度快,但是能量低,鹹性的環境比較利於Y精蟲生存,Y精蟲也能跑得更快,因此女性要多吃蔬菜水果等讓 體質變鹹化的食物,而這個方法有沒有效?因為胃酸的作用太強,食物的酸鹹度能改變人體的體質有限,因此想要有效,得吃夠久才有作用。

女性先高潮 Y精蟲跑的快
陰道要鹼性的才能讓Y精蟲活動力加強,那麼在生男秘招裡「灌小蘇打水」這招應該很有效囉?曾志仁建議最好不要嘗試,因為小蘇打對精蟲也有破壞力, 況且精蟲的決戰場並不在陰道,而是在子宮穹窿,對胎兒性別有決定性的精蟲在陰道停留的時間不超過兩秒鐘,因此灌小蘇打水,可能未蒙其利而先受其害。

女性陰道呈鹼性有助Y精蟲的重點,是因為女性受到足夠的性刺激,生殖系統產生足夠的分泌物,讓「精蟲的跑道」比較順暢;而這些分泌物是呈微鹼性, 因為當女性陰部分泌不足,陰部分泌物會呈黏稠狀,阻礙精蟲的行動,而Y精蟲雖然跑得快,但動力不足,如果不讓它在最快的時間進入,可能還沒有到戰場,就死 在路上了。

因此,生不出男孩不能光怪女性體質,男方如果不夠賣力,太太無法分泌足夠的分泌物助Y精蟲一把,效果也會大打折扣,所以先生得多盡力才行。

生男生女與身體的酸鹼值有關外,體位也會影響胎兒的性別。曾志仁表示,男人在性愛過程中只管自己爽不爽,但這招用在求子路上,可是行不通。因為要 女性先達到高潮,生殖器內部的分泌物也夠多,Y精蟲才能先馳得點,因此想生男孩,先生不可以只顧著自己滿足,要太太先滿足才行;太太先達高潮,生兒子才有 希望。

因為Y精蟲跑得快但沒耐力,X精蟲雖然起步慢,但就是有體力做長跑,因此做愛時,就要幫Y精蟲減少一些跑的距離,讓Y精蟲先馳得點。

曾志仁解釋,大部分女性的子宮都是前傾,因此如果採取的性愛姿勢是男上女下,男趴女躺的「傳教士式」,精蟲進入陰道後會往上跑,要跑的路線變長, 因此想生男孩時,子宮前傾的女性最好是踩趴姿,這樣精蟲穿過陰道以後,就是往下流的方式游行,可以加速Y精蟲前進。反之,子宮後傾的女性想生男孩,就要用 傳統的做愛方式。

由於每個女性子宮前傾或後傾很難從外表看出來,但是經由檢查可以了解女性子宮的方向,因此就醫請教醫師,才能擬定成功的作戰計畫。不過,不管是子宮前傾或是後傾,先生要把握的一點,就是射精時進入要夠深,因此夫妻倆得要多做練習,彼此「深入」了解才行。


壓力、適當禁慾、排卵日 影響生男生女

壓力大也會影響胎兒的性別。根據統計,工作勞累的男性,生女兒的機率比生男機率高,因此通常婦產科醫師都會建議想生兒子的夫婦,在排卵日前兩三天最好禁慾,讓精蟲的製造更豐富一些,等到排卵日再來「愛的一發」,才能提高生男的機會。

除了禁慾以外,先生在太太排卵日前兩三天也不宜太累,生活作息要維持正常,養精蓄銳,讓Y精蟲更有體力跑得更快。

做足了以上的準備,如果沒有配合排卵日的計算,要成功也很難。彰化市博元不孕症試管嬰兒中心副院長陳昭雯表示,據日本知名婦產科醫師杉三樹士的研 究觀察發現,在排卵日當天嘿咻,生男的機率比較高;如果想生女兒,在排卵日前兩天行房的機率比較高。曾志仁說,排卵日算得好,就成功一半以上。

排卵日的計算得要好幾個月的時間測量基礎體溫,了解自己體溫的變化。陳昭雯說,發現體溫降到平常量的最低溫時就要及時做,只要體溫一升高,卵排掉就來不及了。

不過現在的人那麼忙,結婚又晚,實在沒時間去慢慢量體溫的人,陳昭雯則建議不妨參考一下科學的方式,請婦產科醫師利用陰道超音波追蹤卵濾泡的成 長,等到觀察到濾泡成熟時,打完「破卵針」趕快行房,就有希望了,否則人體排卵又沒有分時間,有些人半夜睡到一半卵就排掉了,到早上再想亡羊補牢也來不及 了。


超方便的飲食控制法


很多電視連戲劇裡演到求子的夫婦,為了要生出兒子,先生得拚命吃食不知味的蔬菜來改變體質,還常被形容成為了生兒子而變得面有菜色;嘉義長庚醫院婦產科主任曾志仁表示,想透過飲食生男嬰應該是太太吃青菜,而不是先生。

曾志仁解釋,女性的陰道一般呈酸性,若在高潮時分泌鹼性物質,則較適合Y精子生存,想生男寶寶應讓身體維持鹼性;反之,若想生女寶寶孩子則應維持 體內的酸性環境。也就是說,想要生男寶寶男生要多吃酸性食物,女生則吃鹼性食物,可以幫助生男孩;而男生多吃鹼性食物,女生多吃酸性食物,則對生女孩較有 利。

那麼飲食控制法該怎麼吃,才能讓爸媽如願以償呢?營養師提供以下簡單分類供民眾參考,讓民眾知道吃下肚是的酸性食物,還是鹼性食物。

酸性食物:牛肉、雞肉、魚、蛋白、酸味水果等。
鹼性食物:茶、海帶、海藻、麵粉製品、不酸的青菜、牛奶。
中性食物:蘿蔔、白菜、芋、蔥、薑、蝦、蛤、蚵、魷魚、蛋黃、雞湯、米、牛油、奶油、可可等。
含鈣食物:黑芝麻、黑豆、黃豆、羊奶、牛奶、文蛤、紫菜、魩仔魚、莧菜、金針。


科學4大新觀點

觀點1:帥哥美女易生女

日前根據倫敦政經學院發去一項有趣統計數字,指出俊男美女夫妻檔,第一胎容易生女兒;研究者強調,因為「美麗」在遺傳因子中屬於女性的顯性因子, 因此漂亮的夫婦第一胎就容易生女兒。此篇研究發表時,剛好當選去年票選出最美麗女人和最帥男人的安潔莉娜裘麗和布萊德彼特,頭胎也生了女兒。

觀點2:權利欲強易生男

美國心理學家范任瑞·根特博士曾發表一篇研究指出,權力欲強的女性一旦懷孕,懷男嬰的機會比普通女性高出80%。根特博士認為,支配欲望強烈女性 的卵子,由於男性荷爾蒙偏高,更容易接納精子中的Y染色體,因此常常發號施令、大權在握的女性容易生男嬰,而性格文靜溫順的女性則易生女嬰。

觀點3:精神壓力大易生女

根據甘迺迪學院與丹麥流行病科學中心一組研究人員所做的研究報告,懷孕期間遭受重大精神壓力或創傷的女性,生下女嬰的機會比較高。以韓森博士 (Dorthe Hansen)博士為首的研究小組,收集了1980﹣1992年間所有丹麥產婦的資料,結果發現女性在受到壓力後易產下女嬰。

該研究分析了3,072個嬰兒的性別比率,這些嬰兒都是在重大不幸事件發生期間受孕,結果發現男嬰只占49%;懷孕過程平坦順利的婦女,產下男嬰 的機會則高達51.2%。研究人員分析說,這可能和不幸事件發生後,性行為的改變,或荷爾蒙水準改變及精液素質降低,有極大的關係。

觀點4:開朗女性易生男

據英國衛報報導,英國一項研究顯示,愈是樂觀無憂的女性,生下男丁的機會便會大大提高。研究中,專家訪問了609名新任媽媽,其中一個問題是她們 相信自己將活到幾歲。一些來自低下層及勞工家庭背境的婦女,竟相信自己不會活過40歲;但一些樂觀的被訪者則相信自己可以活到百歲。研究發現,被訪者認為 自己愈長命,產下男嬰的機會也愈大。


隨心所欲4技巧


民間關於生男、生女的秘方多不可數,成效因人而異,不過因為方法簡單,所以嘗試的人比較多。以下提供各種民間各種生男生女技巧供民眾參考。

技巧1:姿勢要對

性交時,採用陰莖深插入體位,可使女性高潮,使陰道呈鹼性,增加生男孩的機會。此外,由於大多數女性的子宮都是前傾,因此如果做愛時採男上女下的 「傳教士式」,精蟲進入陰道以後會往上跑,精蟲要跑的路線變長,因此想生男孩時,子宮前傾的女性最好是踩趴姿,這樣精蟲穿過陰道以後就是往下流的方式游 行,可以加速Y精蟲前進;相反的,子宮後傾的女性想生男孩,就要用傳統的做愛方式。

技巧2:控制陰道酸鹼度

由於Y精子在酸性環境不易存活,所以民間認為控制陰道酸鹼度,有助於掌控孩子的性別。例如使用碳酸氫鈉沖洗陰道,改變陰道的酸鹼值,較容易懷上男 孩。而想生女孩的媽媽,則要改用醋酸沖洗陰道,讓陰道變成酸性環境,自然容易成功生女孩了。醫師並提供以下小撇步,可改變陰道的酸鹼度。

.自製蘇打水─生男
.配方:兩小匙小蘇打加1,000cc溫水,女性可以在行房前先使用鹼性小蘇打水來沖洗陰道,甚至是在行房前2﹣3天就開始使用,幫助陰道的酸鹼度維持在偏鹼性的狀態,有利於Y精子,較利於生男。

.自製醋酸玫瑰澡─生女
.配方:兩湯匙白醋加1,000CC溫水加玫瑰花瓣,女性可以在行房前先用醋酸溶液沖洗陰道,如此有利於X精子,對於生女兒較有幫助。或者也可以在浴缸中加入白醋50cc,接著再添加玫瑰花瓣,洗一個舒服的玫瑰澡。

技巧3:做愛得看日子

德國曾針對1946﹣1995年間的出生記錄進行追蹤,並且對照當地的溫度變化。結果發現,當地的4月到6月是男寶寶出生最多的月分,10月則是男寶寶出生最少的月分。

進一步的分析顯示,受精卵結合前1個月的環境溫度,也就是男生與女生在性行為發生前的1個月所處環境的溫度,是影響寶寶性別的重要因素。高溫環境容易創造男寶寶,低溫環境容易創造女寶寶。

研究人員強調,溫度之所以會影響寶寶性別,推判可能是天氣熱的時候,會影響精子的X染色體,讓女寶寶不容易出生;低溫會影響精子的Y染色體,讓男寶寶不容易出生。

技巧4:排卵日推算法

排卵日推算法的原理在於,男性Y精蟲活動力強,但壽命比較短,因此在性交的過程中,即使Y精蟲能夠早一步到達,可是因為X精蟲存活時間長,所以還是可能懷上女生。

排卵日推算法,即根據排卵日來選擇性交的時間,想生男生應於排卵日行房,想生女孩則須在排卵前2﹣3天行房。不過基礎體溫有日夜的差異,而且睡眠充足與否及心情起伏,都會使影響他的準確性,故媽媽能不能配合量體溫是很重要的。


Nov 25, 2008

-賺錢關鍵 掌握時機遠比選股重要
  黃國華認為,台灣95%的上市櫃企業都沒有長期投資價值,巴菲特的投資哲學很難直接套用在淺碟型的台股。「台股投資人要滾出財富雪球,空手等待好的投資時機,遠比選股來得重要,等時機對了(大環境轉好,股價便宜),進場買最好的股票(濕雪)就對了。他重視企業財報分析,認為成長與獲利是決定股價高低的關鍵,好股票才能享有高價,高價股只要有成長性就不貴,還會繼續上漲。
-多頭市場要找高價股,這點更是讓許多人無法認同,因為大家都對價格的絕對值有所迷失,空頭市場要放空低價股(至少不能做多低價股),這又讓人認為我不厚道,但是,一家公司股價長期低迷必有可恨可議之處,對於低價股,「危邦莫入」是最佳策略。
-「降息是股市利空」、「護盤是主跌段的開始」、…..一堆和大家被媒體所教導的不一樣言論,讓投資人認為我是偏激份子。







from http://www.wretch.cc/blog/bonddealer/14367544

Nov 21, 2008

2008/11/21 NowNews

牛運當頭/台股破「3」見「2」機會高?現金為王是真理!

(2008/11/21 09:10)

金融危機難除?台股錢景堪慮?

記者楊伶雯/台北報導

2008年近尾聲,各大國際經濟研究機構紛紛公佈2009年全球經濟預測,衰退趨勢難免,專門研究天象與易經占卜、撰寫《股市黃曆》的專欄作家陶 文,去年就成功預測台股今年高點會落在第1季,針對即將到來的牛(98)年,陶文再度提出預言,並於最新出版的《牛轉乾坤 勝算致富》書中指出,就卦象來說,明年台股有機會破「3」見「2」,高點上看6200點,但宜防跌破3411點,建議要做好停利及停損。

陶文在最新出版的《牛轉乾坤 勝算致富》一書中指出,就歲星五行氣數與天象的角度看來,世界經濟最壞的情況與現象,將會出現在2009年,之後將會逐漸從谷底翻身,他認為,雖然牛年經 濟疲弱,但可以肯定的是,傷害不會繼續蔓延到2010年後,不過,2009將會是個「極度痛苦」的一年。

鑽研易經與命理30多年,陶文早在2007年11月,就針對2008年的金融市場提出:「宜賣出、並規避風險」的警告,他同時還分析預測2008 年台灣總統大選對執政黨選情較不利,新政掌權機會大;總統大選後指數變化大,回歸速度快;金融股不宜投資、營建股宜短線操作;中國與香港股市2008年僅 能短線操作,應提防下半年有變數,這些在當時的預測,事後都得到驗證。

在《牛轉乾坤 勝算致富》一書中,陶文再度預言2009年台股走勢,他表示,從天象透露出明年不是適合進行短線的一年,因為辛苦的結果可能是做了白工。在這一年的投資求 財,必須著重掌握變數及逢低承接, 因此,2009年的投資策略,最理想的方式就是「逢高調節,降低持股」,這種現象又以第1季最盛。

陶文指出,雖然牛年理財要保守,採取「現金為王」策略,但是對中產階級來說,其實是財富重新分配的契機,所以並不需要悲觀,只要保留現金,等待虎年反轉向上的機會。

陶文表示,根據卦象來看,預估明年台股的高點約在5400點,樂觀的話再向上看到5800-6200點,這個高點約落在第1季,但是,在農曆年前 高點出現後,表現將會是每況愈下,低點可能跌破3411點,破「3」見「2」機會高,也就是說,他預測的低點會下修到2800點,時間點約是在明年第 3-4季間。

陶文在書中指出,就卦象來說,「2」與「8」是樂觀數字,耗洩在「7」,壓力則是「3」與「4」,明白來說,就是指數相對高點容易出現在 5800-6200點附近,但這是屬於樂觀的預測;當投資人面對「3」與「4」時,也就是5400點左右,甚至3400點附近時,有必要做好避險,前者停 利、後者停損。

陶文強調,不要懷疑,就卦象來說,3411點無法守住的現象,極容易出現在牛年的台股盤勢中,甚至有機會破「3」見「2」;值得一提的是,卦象中 的壓力五行分布在農曆3、6、9、12月,因此,國曆4/4-6/5、7/7-9/7、10/8-11/7及2010年1/5日後1個月,將是容易出現壓 力的月分,台股容易陷入整理。

在類股部分,金融股持續保守,電子股是短多主流,整體來說,塑化、傳產、鋼鐵、油電、觀光及航運,是2009年相對穩健的類股。

Nov 19, 2008

穴道養生保健法

穴 道 養 生 保 健 法
養生保健穴簡介
一、足三里
1、運用非常廣泛,舉凡消化、泌尿、生殖系統諸疾,以及虛弱、虛寒體質皆可適用。
2、健脾胃、養氣血、兼具抗衰老作用。(脾胃為水穀之海,氣血生化之源。)
3、又稱為長生穴、長壽穴。(三里常不乾,可享遐齡。)

二、三陰交
為肝、脾、腎三陰經交會之處,故統治肝、脾、腎三陰經的病症。三陰交在保健方面,基本上有以下四個功用:
1、健脾益氣-如:一切脾胃虛弱、虛寒引起之症、神疲乏力、四肢困重等。
2、補肝養血-如:頭暈目眩、眼目模糊、肢體麻木、失眠多夢等。
3、益腎強身-如:腰膝酸軟、陽痿早洩、遺尿、或小便不利。
4、婦女諸症-如:調經止帶、子宮下垂、不孕症。

三、關元
1、最宜各種慢性病、虛寒症及平素體質虛弱。
2、臨床上常被選為補腎壯陽之用:能防治因腎陽不足所致之陽痿、遺精、五更瀉、小便失禁、脫肛等等。
3、主治不孕症:尤其是男子精子數目及活動力不足,女子宮寒不孕、性冷感,配合氣海、中極,三穴為「求嗣要穴」,灸之屢見奇功。
4、具有升壓作用,血壓過低造成缺氧,頭暈、昏沈乏力者,灸之即能回復。
5、因為能「回陽固脫」,故亦可治療一些急、重症。

四、命門、腎俞
1、兩穴配合統治一切腎虛的症候。故凡腎虛或腎陽不足所致之腰膝酸軟、小便頻數或不禁、陽痿、遺精或勞損不足之疲勞倦怠、四肢無力、耳鳴耳聾等症。
2、情緒低落為陽氣不足,灸之能提振精神與魄力。

五、膏肓俞
1、以治虛勞症為主:當久病不愈而見虛弱、羸瘦時,最適宜取用本穴施灸。
2、可以扶陽固衛,宣利肺氣,並調和全身氣血,為療諸多的慢性疾病之要穴。
3、對於虛寒症療效頗佳。尤其是虛寒性的哮喘,可以配合灸膏肓俞、大椎、肺俞穴等穴。其主要作用是因這些穴道具補虛弱、溫肺氣之功能。

六、太陽穴、印堂
1、兩穴都有消除疲勞、抗憂鬱,緩解精神緊張之功用。
2、在美容方面:按摩太陽穴可消除魚尾紋,按摩印堂則對額紋有效。
3、按摩太陽穴,有助於提神醒腦,減輕腦力及眼睛疲勞。
4、按摩太陽穴,對於急慢性偏頭痛有特效。
5、印堂並能增加記憶力與並能防止癡呆。
6、印堂配合迎香穴,可治過敏性鼻炎。

七、神門
1、主治心臟諸疾,如心悸亢進、心律不整、以及神經衰弱、失眠等症。
2、可提神醒腦,健腦益智,可用以防止癡呆症。
3、為一切精神病、神經衰弱必用之主穴。

八、大椎
1、有扶助陽氣,加強臟腑功能的作用,並治五勞七傷。
2、具有改善體質,增強免疫力的功效,故可以預防流感、強化抗病能力。
3、配合曲池、合谷可預防感冒。
4、在此穴放血,並可退熱,而效果卓著。

九、神闕
1、具有促進血液循環、溫暖四肢、增強免疫功能,以及預防感冒的效果。
2、可以治療一些危急重症,如陽氣欲脫者,灸此穴可以挽救垂危于頃刻。
3、對於抗衰老,亦有正面之效果。
4、薰臍法之使用穴。

參、統治全身的六總穴(四總穴+內關、支溝)養生保健六總管
(一)合谷:(面口合谷收)合谷所主為橫隔膜以上的毛病,以及五官諸疾。
(二)列缺:(頭項尋列缺)列缺主頭痛、頭暈、項強、頸酸等疾。
(三)足三里:(肚腹三里留)足三里為屬胃經,專治胃疾。並統管消化、泌尿、生殖系統諸疾,為養生保健的「養生穴王」。
(四)委中:(腰背委中求)委中主自腰以下至足之疾有特效,故為腰足部酸痛的必用之穴。按摩它並能消除腿部疲勞,恢復精力。
(五)內關:(胸腹內關謀)內關為胸痛之特效穴;心臟疾患必用之穴;配合谷亦主橫隔膜以上諸疾。
(六)支溝:(脅肋尋支溝)支溝主脅肋疼痛,亦主便秘。

肆、常用的保健組合
一、昏迷的急救法-昏迷急救急先鋒
(一)人中
(二)合谷
(三)足三里
(四)內關

二、消除疲勞、嗜睡-大鐘響徹通三里 河谷睡仙焉不醒
(一)合谷
(二)足三里
(三)通里
(四)大鍾:《百證賦》:「倦言嗜臥,往通里大鍾。」

三、不眠-不眠堂內來會神,因恐厲鬼擾不寧。
(一)百會
(二)印堂
(三)內關
(四)神門
(五)三陰交
(六)厲兌:多夢、惡夢,配隱白。《百證賦》:「夢魘不寧,厲兌相諧於隱白」。

四、保健長壽穴道按摩-河內行三里,只因健康又美麗
(一)按摩合谷穴:可預防感冒,包括牙痛、頭痛、或頸部酸痛、美容、眼睛保健等。
(二)按摩內關穴:對呼吸及血液循環系統有保健效果,可預防心臟病及氣喘的發作,此外,有肥胖、中風等症狀的病患也可按此穴。
(三)按摩足三里:有助於腸胃消化系統之正常、美容保健、強壯體質。凡人三十至四十左右,可灸足三里。三里屬胃經合穴,強胃健脾、抗老防衰、預防一切疾病;若灸老人,可預防中風,延年益壽,此乃保健養生必用之長壽穴。
(四)女性要特別加強三陰交:三陰交為肝、脾、腎交會之穴。按它對於有助於強化肝、脾、腎之功能。

五、調氣補氣強壯穴-一飲陽池補氣津 暖入中脘保全身(中脘、陽池)
(一)澤田健:「在整體治療中,中脘和陽池,絕對不能缺少。」「氣」在三焦,一定要用陽池、中脘,刺激這兩穴有調節內藏機能作用。
(二)灸陽池、中脘,可充實三焦之氣化,能治女性汗毛過長,以及子宮位置不正。
(三)灸陽池、中脘,可治冬日發冷。
(四)灸陽池,可止妊娠嘔吐。
(五)陽池為治療糖尿病的特效穴。

六、美容保健-保健之道從頭起 養眼美容堪稱奇

穴位 主要功能

穴位 主要功能

百會==>頭痛、高血壓、發熱、失眠、目眩、鼻疾、痔瘡、耳鳴、健忘、中風。
印堂==>流鼻血、目眩、頭痛、幼兒抽筋。
四白==>眼睛疲勞、臉部麻痺、三叉神經痛。
下關==>牙痛、耳痛、臉部麻痺或疼痛。
頰車==>臉部疼痛、下齒痛、牙床痛。
翳風==>重聽、暈車暈船。
大迎==>三叉神經痛、臉部抽筋、齒痛。
人迎==>高血壓、咳嗽、慢性支氣管炎、扁桃腺發炎、突眼性甲狀腺腫、呃逆。
扶突==>嘔吐、打膈、喉嚨痛、心悶、聲啞、甲狀腺病變、吞咽困難。
天柱==>後頭痛、頸項轉側不利、頸肌強痛、鼻塞咽腫、眼疾、增強記憶。
風池==>各種頭痛、頭暈、失眠、高血壓、結膜炎、近視、感冒、頸部疾患。
完骨==>眼睛充血、目眩、偏頭痛、扁桃腺發炎。
人中==>昏迷、休克、窒息、中暑、癲狂、牙關緊閉、臉部麻醉。
天突==>喉嚨痛、打膈、嘔吐、咳嗽。
氣舍==>胃痛、落枕、嘔吐、胸悶、胸痛、咳嗽。

肩井==>頸椎病、頸項部肌肉痙攣、落枕、肩背部疼痛、手臂麻木、中風後遺症。
肩骨禺==>五十肩、腕痛、手部麻痺。
中府==>心律不整、氣喘、咳嗽、感冒。
膻中==>支氣管炎、支氣管哮喘、胸膜炎、冠心病、心絞痛、婦女乳汁過少。
巨闕==>胃酸過多、氣喘、神經衰弱、心理異常。
中脘==>急、慢性胃炎、胃及十二指腸潰瘍、胃下垂、脾胃虛弱、消化不良。
神闕==>慢性腸炎、脫肛、腹脹、虛寒性胃痛、怕冷症。
天樞==>生殖器疾病、婦女病、容易疲勞、便秘、胃下垂。
大巨==>不孕症、腎炎、便秘、痢疾、坐骨神經痛、風濕病。
關元==>急性尿路感染、遺尿、盆腔炎、閉經、不孕、產後惡露不止、睪丸炎、遺精、陽痿、虛勞羸瘦。
氣海==>陽痿、遺精、早泄、子宮脫垂、婦女月事疾患、大便秘結、神經衰弱。

腰眼==>即腰部至臀部位。腎虛、遺尿、遺精、陽痿、早泄、慢性腎炎、月經不調、尿路感染、腰痛、神經衰弱、支氣管哮喘。
命門==>遺精、陽痿、痛經、月經不調、慢性腹瀉、腰痛、足部怕冷。
大腸俞==>痢疾、腸炎、腰扭傷、便秘、?骼關節炎、坐骨神經痛、腳麻痺。
小腸俞==>痢疾、腸炎、痔瘡、關節風濕、泌尿器官疾病。
腎俞==>腎炎、膀胱炎、食慾不振、坐骨神經痛、歇斯底里(此穴乃至百病之穴)。

胃俞==>各種胃病、消化不良、嘔吐。
脾俞==>營養不良、肝脾腫大、胃部疾病、全身乏力、失眠。
肝俞==>失眠、肝病、視力減退、目眩、中風。
三焦俞==>腸鳴、腹瀉、尿路感染、白帶過多、腰痛、尿滯留。
膈俞==>神經衰弱、失眠、心悸不定、氣喘。
肺俞==>呼吸系統功能失調、頸肩痛、皮膚病、幼兒疳積,肺虛自汗。

膏肓==>心跳、脅間神經痛、支氣管炎、氣喘、乏力、暈眩。
天宗==>五十肩、胸痛、脅間神經痛、肩胛部疼痛。
至室==>腰痛、坐骨神經痛、腿肚抽筋,痛捏可增強精力。
次?==>治坐骨神經痛有特效,兼治生理異常、怕冷、泌尿器官疾病、痔瘡。
長強==>治痔瘡有特效,可增強精力。
曲池==>感冒、高血壓、皮膚病、發熱、中暑、上肢痛、眼疾、牙痛。

尺澤==>支氣管炎、支氣管哮喘、肺炎、咳嗽、皮膚搔癢或乾燥、肘關節內側疼痛。
手三里==>胃脘痛、腸鳴腸炎、腰背疼、牙痛。
神門==>心神不寧、心絞痛、神經衰弱、健忘多夢、精神疾病、便秘、心臟病。
勞宮==>神經衰弱、高血壓、心率過速或過慢、噁心嘔吐。
陽池==>糖尿病、神經痛、手部痛、手部關節炎。
合谷==>高血壓、耳鳴、眼睛疲勞、發熱頭痛、盜汗自汗、感冒。

梁丘==>胃痙攣、痢疾、膝痛、坐骨神經痛。
血海==>婦女病、變形性膝關節炎症、貧血。
陰、陽陵泉==>膝關節周圍軟組織疾病、腿抽筋、坐骨神經痛、腹脹腹瀉、膽囊炎、膽道蛔蟲、肝炎、水腫、婦女病。
足三里==>能治百病,如胃酸過多、胃下垂、半身不遂、高血壓、貧血、失眠等。
解谿==>便秘以及由此引起的頭痛、膝痛、頭面浮腫、下肢麻木,足踝關節酸痛。

衝陽==>過敏性體質、神經衰弱、食慾不振、腳痛。
然谷==>腳底痛、扁桃腺發炎、怕冷、生理不順。
委中==>坐骨神經痛、腰痛、背痛、關節風濕痛、流鼻血、高血壓。
承山==>小腿肌肉痙攣、坐骨神經痛、腰痛、痔瘡、脫肛、便秘。
三陰交==>更年期綜合症、泌尿系統疾病、生殖系統疾病、下肢內側疾病。
太谿==>腎臟病、扁桃腺發炎、中耳炎、便秘、足部風濕疼痛。
湧泉==>生殖器官疾病、腎臟病、高血壓、頭痛頭暈、咽痛失音、失眠、氣喘、增強精力。
太白==>消化不良、腳部冰冷、消化系統病。
足心==>頭暈目眩、五心煩熱。

承漿穴、人中穴、太淵穴、印堂穴、神闕穴、命門穴

[承漿穴]
講到任督二脈的交會,我們特別介紹位於下唇之下的「承漿」穴。(圖略)
穴位:下唇唇溝中央凹陷中。
主治:中風、顏面神經麻痺、顏面浮腫、齒神經痛、脖子酸緊。
特性:屬於期經八脈中的任脈。是任脈與督脈之交會穴,同時與大腸經及胃經亦有交會。
任脈走腹部,督脈行於背部,其中任脈為「血之海」,也就是管生殖系統的最重要經脈之一,本穴與會陰穴分別位於任脈之兩端,刺激本穴,同時具通脾胃、開竅及提神之效。
刺激方式:用一手拇指或食指按柔36次。

[人中穴]
本穴特性:
上回介紹過位於下嘴唇下方的「承漿穴」,這是屬於任督二脈之一的任脈的上端,另今天特介紹「人中」穴,又稱「水溝」穴,它是位於督脈的末端的穴道,位於上嘴唇上方正中的「人中穴」雖然在往下行還有兩個兌端跟齦交,不過以本穴比較常被取用。
本穴是急救要穴,昏倒時最好用。遙想敝人在下當年曾經為了治療腰痛找人針灸,結果因為暈針,居然當眾表演暈倒的戲碼,記得醒來的時候,醫生就正在搓這個穴。
我從此對穴道感到無限好奇,不過,也從那一針開始不太敢被針!夠不勇敢吧!
本穴穴名由來也蠻有趣的,古人認為天氣通於鼻,地氣通於口,天地人三者,本穴居其中任督二脈的兩個末端穴道,隔著雙唇遙遙相對。因此,我們也曾經說過,不論是拜拜或禱告的動作,雙手的位置與動作所形成的氣場,無形中正好連接了這兩個穴道,任督二脈因此得以連結。如果能配合舌頂上顎的動作,那更是妙不可言了!
人中穴與鼻子週遭的迎香、素髎、山根等同稱「鼻竅」,同屬鼻腔呼吸系統。
從解剖來看,本穴附近有上唇動脈、靜脈及分布面神經頰肌、眶下神經分支等,刺激本穴也會引起大腦皮質興奮,所以搭配運用,對鼻塞也有一定的效果。
刺激方式:
以食指指腹按壓,約30秒即可;作急救時可稍加用力,視必要時可以指甲作為工具按掐本穴。

[太淵穴]
穴位:
位於手掌下,手腕之拇指側的橫紋頭,大指立起時有大筋豎起,在筋內側凹陷處,摸起來有脈搏跳動之處。(如附圖)
穴位特性:
屬於手太陰肺經的母穴,所謂虛則補其母,凡一切肺虛症候,例如咳嗽、氣喘等,取本穴刺激皆十分有效。
由於「脈會太淵」,所以如果脈搏有異狀,本穴是最有效的穴道之一。這也是為什麼中醫把脈要取本穴的原因。
因為本經與大腸經互為表裡,所以治療大腸火引起的牙疼也具間接效果。
刺激方式:
1.按摩:將大拇指置於本穴上,另四指置於相對的手腕背部,大拇指已以旋轉輕揉的方式,約三十秒。
2.吹風機:以吹風機熱風,輕抖動出風口,以微熱,稍有刺痛感為標準(感冒的時候可配合胸口的膻中穴及後腦杓附近的「風池」、「風府」等穴)。

[印堂穴]
說到「印堂」,本期我們就來介紹這個重要穴道。太簡單找了,所以穴道圖就偷懶省略啦!
印堂
位置:兩眉之正中間,對準鼻尖處。
取穴:取兩眉正中間眉骨陷中處。
特性:屬於十二正經之外的「經外奇穴」,別名「上丹田」。
對應七輪中的第六輪--「眉輪」,靈修的「天眼」或「第三眼」。
以個人對磁場的感應發現,這是一個氣場很強的穴道。人的所謂「氣色」,或所謂的「印堂發黑」的說法,我認為比較科學(或超科學)的講法應該是說氣場的顏色,而不是我們肉眼所見的顏色。雖然我看不到,但我清清楚楚的的感覺得到,因此我認為這是合理的推測。否則,全非洲的黑人不都是「印堂發黑」!而「印堂發黑」的塞內加爾足球隊怎麼踢得贏印堂白裡透紅的法國隊?
印堂直接反應一個人的人緣跟心情,所謂「鎖眉」,鎖的就是此穴。除非您愛效法林黛玉故作惹人憐愛狀,葬花結果與花同葬;或是學屈原憂國憂民,把自己當粽子投江餵魚,否則請您不要不自覺的「眉頭深鎖」,有空沒空請您多多關照這個具智慧的重要穴道。

[神闕穴]
穴位:肚臍
主治:腦溢血,腸炎下痢,腹漲
穴位特性:本穴屬於奇經八脈中的任脈,禁針,我們在母親的肚子裡時就是靠著臍帶跟母親的任脈相通,我們是隨著母親的呼吸而呼吸,離開母體之後才改用嘴巴呼吸,既長之後,精氣外耗,以致真氣不得條達.因此用溫灸的方式可以達到提昇元氣的效果.
刺激方式:
所以自古就有各種所謂"臍療"法,至於搭配藥物從炒鹽,胡椒末,大蒜,熱雞蛋到各種中藥等,不一而足.不過因本穴具入侵及危險性,在此不作任何推薦.
僅建議
1.作輕微而和緩的按摩,每回順逆時針各約20圈.
2.自己或親友右手掌的"勞宮穴"輕放在神闕穴上,約1-3分鐘,時間可自己斟酌.

[命門穴]
穴位:位於與肚臍相對應的脊髓骨第14椎下(圖略)
主治:脊髓疾病,腰酸,泌尿及生殖器毛病等
穴道特性:
所謂"命門破死不救",本穴屬於奇經八脈之一的督脈,是我們人體重要的採氣穴之一.自古以來養生家若是已被部採取太陽等氣,所說的就是這個穴道.
本穴是五臟六腑之本,十二經之根,呼吸之原,被視為是生命的門戶,對腎氣不足或精力衰退,有固本培元的效果.
刺激方式:
以一隻手掌扶著另一隻手的拳背適力壓揉,順逆時針個約50次

中府穴,雲門穴

中府穴,雲門穴
今天同時介紹雲門穴及中府穴,因為這兩穴相近,在臨床點穴理療上,這兩穴可同時處理。
這兩穴的主要作用,一是強化呼吸系統;二是防治乳癌;三是具有安神作用。

穴位:【如附圖】
中府:胸壁前之外上部位,在三、四肋骨之間。
雲門:在鎖骨下部之外端,也就是胸大肌之上緣與鎖骨的凹陷之處。

主治:
呼吸系統毛病、心臟病、安神、肋間神經痛、肩背神經痛。

主要特性:
本二穴屬於「手太陰肺經」,主人體的呼吸系統。十二經絡始於肺經,肺經起點是「中府」穴,然後上行至「雲門」穴。
人的氣血就像一個環,始於「手太陰肺經」,歸於「足厥陰肝經」,後者歸於有名的「期門穴」;前者即起於「中府穴」。
雲門穴則為肺經之「募穴」,是經絡中手與足太陰經相會之處。所以可以瀉胸中之熱,及身體之煩熱。
所以這兩穴同時具有生理及心理的效果。
此外,在解剖上,這部位往下是人體淋巴聚集之處,配合腋下的按摩等刺激,可提高免疫力。
對婦女乳癌具預防效果。
刺激方法:
按摩或以空掌適力拍打,時間約1-2分鐘。


http://crystalme.com/ecoactivist/hole01.htm

三陰交、合谷及足三里-三大「長壽穴」

[合谷穴]
這個穴道的穴位與刺激方式,歷代及各界都各有說法,如果以按壓的方式而言,雖然說有壓比沒壓好,但大都沒搔到癢處!
以下是有關於「合谷」穴的介紹。
穴位:位置在第一、二掌骨之間,偏食指靠中間的部位。(如圖一)
主治:
頭痛、齒痛、耳聾、眼睛酸痛、肩胛神經痛、皮膚搔癢、呼吸困難、失眠、神經衰弱等。
本穴特色:
「長壽穴」之一,因為本穴可增強身體的免疫力。
十二經絡中每一條經絡都有一個「原穴」,脈之所過稱為「原」,就像是水的發源地一樣,合谷穴即是屬於大腸經的「原穴」。所以說它可以增強身體自然痊癒能力的要穴。
本穴又稱「四總穴」之一。古人將身體可以粗分為「肚腹」、「腰背」、「頭頸」、「顏面」四大部位,各部位各有一個總開關,合谷是負責顏面部分,因此有所謂「顏面合谷收」的說法。
點穴功夫中,我們則把此穴當作全身的總開關。這個開關打開之後,我們才開始修理其他的穴道。
順便,對照關於「陰陽平衡」的說法,在此也可以得到一點印證。
因為,肺主皮膚,而肺經與大腸經是互為表裡關係,兩者如果陰陽失調,可能就有例如所謂的「大腸火」,就會造成滿臉痘痘或便便不順等毛病。
根據陰陽的道理,多了就要瀉,而【內經】說:「瀉必針其原」,而合谷穴則是特別具有升清降濁,宣通氣血的功能。
所以,刺激本穴除有利於便便,同時還具美容或緩和牙痛、頭痛及神經衰弱等效果,夠神了吧?
刺激方式:
本穴的穴位與按壓方式可以說是眾說紛紜,我們看到一般的刺激方式是以拇指按壓在食指與拇指間的肌肉上(如圖二),因為合谷穴不在那裡!
圖三),也就是將施力手掌的四指置於被按摩手的手背,這樣才是讓你真正「狠狠」地抓住「合谷」穴!
關於本穴的穴位,一說是食指側靠一、二掌骨交接端,一說是位於食指側掌骨的中點。不過,無所謂,只要用圖三的方式,您可以輕易的沿著第二掌骨「亂槍打鳥」,有好沒壞。
因為根據「全息療法」,此掌骨也是可以對應全身反射點的有效部位之一。
請您圖一跟圖二的方法各試一下,差一點是不是就差很多!
不管當您開會、搭車、看電視,或者是感覺昏沉、焦躁、情緒低落或腸胃稍有不適時,花個30秒左右,相信您會有意想不到的收穫。

[三陰交]
所以,好穴道相報,「三陰交」真的是個值得您敲鑼打鼓昭告天下蒼生的重要穴道。
不過,話說回來,本穴不扺是女性的各種婦女病適用,不論男女,同樣對於肝膽、腸胃泌尿及生殖系統等毛病的保健效果可以說非常直接。
記得陳立夫先生即將此穴與「合谷」及「足三里」共稱為三大「長壽穴」,善養生的朋友都不會不知的!
本穴穴名的由來,顧名思義,「三陰」指的是人體足部的「足太陰脾經」、「足少陰腎經」及「足厥陰肝經」三條經絡。
「三陰交」的意思就是這三條經絡在此交會。
人體十二條主經絡有三條在本穴交會。分別而言,脾掌消化,腎主泌尿,肝負責解毒等功能。
整體而言足部的「陰」經主「血」,並主掌男女的生殖系統及消化系統。
因為本穴對子宮收縮有明顯影響,所以孕婦禁止一切強刺激。不過在生產的時候,針刺本穴卻可縮短產程。如配合「合谷」及「關元」可用於無痛分娩麻醉支用,或者是產後惡露等等本穴都是不可或缺的俞穴。
穴位:
內踝沿脛骨後緣上行三寸,約四指寬處。(如附圖)
主治:
男女生殖系統毛病,頭痛、腰酸背痛、消化系統毛病、下肢神經痛及麻痺等。
簡易刺激方法:
1、手掌來回按摩
2、吹風機抖動方式熱風刺激約1-2分鐘
3、冬天泡熱水可酌加藥材或粗鹽等
4、以另一腳的腳掌弓部沿上下方向搓揉。
更年期綜合症、泌尿系統疾病、生殖系統疾病、下肢內側疾病

[足三里]
取穴方法:
  足三裏穴位於外膝眼下四橫指、脛骨邊緣。找穴時左腿用右手、右腿用左手以食指第二關節沿脛骨上移,至有突出的斜面骨頭阻擋為止,指尖處即為此穴。
  另外一種簡易找法:從下往上觸摸小腿的外側,左膝蓋的膝蓋骨下麵,可摸到凸塊(脛骨外側髁)。由此再往外,斜下方一點之處,還有另一凸塊(腓骨小頭)。這兩塊凸骨以線連結,以此線為底邊向下作一正三角形。而此正三角形的頂點,正是此穴。
能治百病,如胃酸過多、胃下垂、半身不遂、高血壓、貧血、失眠等。

關元穴與膻中穴

[關元穴] 丹田 :
穴位:肚臍下三寸。
取穴:臍下四指。
主治:精力減退、全身衰弱、男女性生殖系統毛病、小腸各病。
特色:別名丹田,屬於奇經八脈中的「任脈」,足三經---脾經、腎經、肝經與任脈之交會點。人身精氣藏於本穴,也是人身始受元氣所在。宗教及氣功界在靜坐或冥想時,都特將重心置於本穴,因為心神之氣下於關元,故可讓人感覺身心安定。

[膻中穴]
1.特性:對應七輪中的「心輪」。屬於奇經八脈中的「任脈」,任、督二脈是人體的兩大高速公路,所以它的交流道機能不同於一般的十字路口。所謂「氣會膻中」,腦是髓之海,膻中是氣之海,本穴屬於八會穴之一,所以效用非常廣泛。
2.位置:腹中線與兩乳頭連線之交點,女性取第四肋間隙之中間取穴。
3.作用:心情鬱悶,胸中有悶氣無法發洩,本穴具寧心神,開胸除悶,降氣平胃等作用,此外,對呼吸系統及神經衰弱具特殊效果。
4.刺激方式:用大拇指指腹以上下方向稍用力揉壓,每次約五秒,休息三秒,共約五回,可自己體會斟酌加減時間或次數。

http://crystalme.com/ecoactivist/hole01.htm

百會、勞宮與湧泉穴- 天地人

[湧泉穴 ]:
穴道位置:位於足底,在足掌的前三分之一處,屈趾時凹陷處。(如附圖)
穴道效用: 頭痛,頭昏,心悸亢進,婦科病,失眠,目眩,咽喉腫痛失音,小便不利,昏厥等。
關於本穴:
人體有三個穴道與外界環境磁場作交流---「百會」、「勞宮」與「湧泉」,三者號稱「天地人」
,「百會」在頭頂,承接來自天上的磁場能量;「勞宮」在手掌心,與週遭環境溝通;「湧泉」則位於腳底,直接與大地之氣交流。
擺會與湧泉兩穴在人體就像磁鐵的兩端,常常相互為用,具有非常好的理療與保養效果。
在武俠片或武術表演裡,我們常可以看到俠客們在最後的時候,都會將雙手在胸前劃幾個大圈,知道嗎?那可不是比好看的!
那個動作叫「收功」,因為,當人體處於「氣功態」之後,全身的電位也處於飽和狀態,如果沒有把它導掉,它便有可能在身體亂竄,因此造成身體電位失衡,也就是中醫所謂「氣血失調」,氣功誇張一點的講法就是所謂「出岔」或「走火入魔」。
以我個人的經驗,練完氣如果沒有作確實收功動作,常會出現微微的脖子酸痛或胸口悶等症狀。知道原因其實就不難處理,但如果是靠打針吃藥,可就不知道要冤枉用掉多少格健保卡了!
話說那個劃圈動作,主要就是藉著動作本身,加上意念,將身上飽和的磁場能量,透過腳底的「湧泉穴」直接導入地下。
不必把這些看得神秘兮兮的,想像避雷針或電器用品的地線的作用,它根本只是科學常識罷了。
「湧泉穴」就是我們人體無形地線的出口。
在理論上,湧泉穴屬於「足少陰腎經」,稱為「井穴」,意思就是這條經絡經氣的發源地。
中醫的「腎」是主管生長發育和生殖的重要臟器,如腎氣充足就能發育正常,耳聰目明,頭腦清醒,性功能強盛。相反的,若腎虛精少,則記憶減退,腰膝酸軟,行走艱難,性能力低下,未老先衰。
以功能來講,湧泉穴主要就是:「滋腎水、降陰火、強筋壯骨、安神定心等」作用。
肝機能不好的人,可以多刺激本穴,因為在「五行」上肝屬「木」,腎屬「水」,因為水能讓樹木長的更好。
冬天主「腎」,本穴又是「腎經」的發源地,所以刺激本穴亦具有時機上的最佳效果。
刺激方法:
1、有機會不妨多打赤腳,踩踩地氣,特別是泥土地、鵝卵石或草地。
2、用手掌搓揉,讓手掌「勞宮穴」的氣與本穴交流,搓揉至微微發熱為止。
3、兩腳湧泉穴前放顆「黑曜石」,腎主「黑」,「黑曜石」磁場頗強,非常適合,時間上約三分鐘即可。
尋穴方法:左右兩耳至頭頂正中的線,與眉間中心往上直線的交會點。
特點:屬於奇經八脈中的「督脈」,即印度七輪中的「頂輪」。道家說此穴「陽中藏陰」,因為它是手與足共六條陽脈的交會點,另外屬陰經中肝經也跑來相會,所以稱為「百會」,應用非常廣泛。
效用:可改善頭痛、高血壓、神經衰弱,暈車、痔瘡。
刺激方式--
1.用手背以旋轉方式按壓該穴,每次按壓約30秒變停頓一下,對降血壓有效
2.以食指,中指,無名指指腹按壓該穴,可舒緩頭痛,暈車等症狀

「百會穴」
位置:頭頂正中央。
尋穴方法:左右兩耳至頭頂正中的線,與眉間中心往上直線的交會點。
特點:屬於奇經八脈中的「督脈」,即印度七輪中的「頂輪」。道家說此穴「陽中藏陰」,因為它是手與足共六條陽脈的交會點,另外屬陰經中肝經也跑來相會,所以稱為「百會」,應用非常廣泛。
效用:可改善頭痛、高血壓、神經衰弱,暈車、痔瘡。
刺激方式--
1.用手背以旋轉方式按壓該穴,每次按壓約30秒變停頓一下,對降血壓有效
2.以食指,中指,無名指指腹按壓該穴,可舒緩頭痛,暈車等症狀

[勞宮穴]
位置:手掌中央。
取穴法:握拳,以中指屈向掌心,指尖所著之處取穴。另一說法是取中指及無名指兩指尖所著之中間取穴。我比較傾向後者方法。
本穴特性:本穴在經絡上是屬於「心包經」。 人體主要以三大穴道與外界相通:百會、湧泉及本勞宮穴。 百會通天、湧泉通地,勞宮則是可由人體主控的出入氣穴,因此氣功的出氣、採氣或各種自我導引都是以本穴為主。所謂的「掌風」指的就是由本穴出入的氣。
主治:清心、瀉心火熱、安神、心痛煩悶,憂鬱症、精神不濟。
刺激法:一、以另一隻手的拇指置於本穴,其餘四指置於手背面支撐,以大拇指以旋轉方式柔壓,一次約30秒。
二、兩掌相對互相摩擦搓揉,至產生微熱感。


http://crystalme.com/ecoactivist/hole01.htm

Nov 4, 2008

Oracle ERP JVM

1. What is JVM ?
JVM acronym for Java Virtual Machine which executes instructions generated by Java compiler. So user click on any Self Service Request or any program which uses Java, then Apache forwards this request to mod_jserv (mod_oc4j in 10g AS) & mod_jserv caters this request with help of JVM.

2. How to increase No. Of JVM's
So lets start with CONTEXT file under $APPL_TOP/admin (xml file) which is of pattern $SID_$HOSTNAME.xml
There are two important lines in CONTEXT file which will help you in understanding JVM

# jvm_options oa_var="s_jvm_options" osd="Solaris" -verbose:gc -Xmx512M -Xms128M -XX:MaxPermSize=128M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB /jvm_options

-Verbose:gc means JVM is configured to print output when gc(Garbage Collector) runs.
Xmx is maximum memory allocated to JVM in above example its 512 MB.
Xms is JVM will start with this much memory i.e. 128 MB.
# Now Check another line in 11i Context file like oacore_nprocs oa_var="s_oacore_nprocs"2/oacore_nprocs
Which means that there are two JVM's for OACore Group. Usually default its 1 JVM in my Instance I changed it to 2, to cater huge Self Service users in my case.
# In Context File
disco_nprocs oa_var="s_disco_nprocs" osd="Solaris" 1 /disco_nprocs Sets 1 JVM Process for Discoverer.
oacore_nprocs oa_var="s_oacore_nprocs" 1 /oacore_nprocs Sets 1 JVM for for OACoreGroup
Similarly , s_forms_servlet_nprocs & s_xmlsvcs_nprocs for Forms & XML Services resp.
These Groups are defined in configuration file for Jserv i.e. jserv.conf under $IAS_ORA/Apache/Jserv/conf ; like
ApJServGroup OACoreGroup
ApJServGroup DiscoGroup
ApJServGroup FormsGroup
ApJServGroup XmlSvcsGrp

3. Sizing Apps JVM
As by now you might be aware that there are four JVM Groups, OACoreGroup,DiscoGroup, FormsGroup & XMLsvcsGrp ( FromsGroup JVM's disabled by defualt as forms run on Socket rather servlets) so thumb rule in Apps is 1 JVM with default settings per 100 Users for OACoreGroup, so if you have 1000 users with five middle tiers you can configure 2 JVM on each middle tier i.e. 2*5*100=1000 Users.

- No more than 100 active users per JVM/OC4J instance
- There should be no more than 1 active JVM/OC4J instance per CPU (ideally, there should be 1 JVM per 2 CPUs)
- Watch out for available memory (make sure that you have enough memory to run all the configured JVMs/OC4J instances without swapping)

refer from http://www.teachmeoracle.com/jvm.html

Oct 28, 2008

VMWare install Linux-No hard drivers have been found

Use VMware with typical option to create VM , face following message and cannot install Linux.
-----
No hard drivers have been found. You probably need to manually choose device drivers for the installation to succeed. Would you like to select drivers now?
ok--->
The following devices have been found on your system.
AMD Pcnet32(pcnet32) --> 是done/add device
-----

Solution:
Create New VM by customize option , chose "Buslogic" , Virtual Disk Type is "IDE" ,
then you can install it without problem.

Oct 23, 2008

window 注音輸入法

近來用新注音輸入法時發生會關閉應用程式,
想要與常用的字被擺在最後的位置,
或是選完字後字就不見了,搞得好像是被自動過濾掉 "不文雅的字" ㄧ般 ,
換個輸入法吧~ http://chewing.csie.net/
超好用!免費的自由軟體!

Oct 22, 2008

add static route in windows

Add static route in windows:
1. route print -- show current routing table
2. route add 192.168.2.0 mask 255.255.255.0 192.168.0.1 metric 1
-- add connecting to 192.168.2.* through 192.168.0.1 gateway .
3. route -p add
--permanent add to routing table

Oct 2, 2008

How to setup Service Dependancy

1.regedt32 > HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > "service name" that you want to setup dependency on another service
2. Edit > Add Value. Use the following values
Name: 'DependOnService'
Type: 'REG_MULTI_SZ'
Value: Name of you need to set dependency service
3. Check services , you can find the dependency relationship now.

會議紀錄方式與要點

改的不是內容,而是格式和分類邏輯。修改過的會議記錄,清楚簡單,裡面依討論項目列出 bullet points結論,最後附上一整頁的「下一步(Next Steps)」表格,依照任務﹝Task﹞、負責的人﹝Owner﹞、規格﹝Specs - 列出雙方對行銷文宣規格的細節要求﹞、時間﹝Target deadline﹞、目前進度﹝Status﹞分類,還有附上下次會議的時間地點call in號碼。Who deliver What to Whom by When(誰該在何時交XX給誰),白紙黑字一目了然,沒人賴得掉。我忍不住佩服的五體投地。原來小小會議紀錄也有大學問,這才是專業的專案管理啊。

Sep 25, 2008

Connect to Oracle by ASP.NET

1. Add .net reference System.Data.OracleClient
2.
using System.Data.OracleClient;
string oradb = "Data Source=orasting;User Id=tl;Password=stl;";
OracleConnection conn = new OracleConnection(oradb);
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd.CommandText = "select dp,dtcode,insert_time from tel where upper(ename)='" + Lbllogin.Text +"'";
OracleDataReader dr = cmd.ExecuteReader(); // C#
while (dr.Read())
{
OracleString deptcode = dr.GetOracleString(0);
OracleNumber oraclenumber1 =dr.GetOracleNumber(1);
Response.Write("OracleNumber "+oraclenumber1.ToString());
OracleDateTime oracledatetime1=dr.GetOracleDateTime(2);
Response.Write("OracleDateTime " +oracledatetime1.ToString());
if (dtcode == "1100")
{
//sdfdsfsd
}
}

C# ASP.NET open another new browser

ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "window.open( 'http://www.google.com', null, 'height=500,width=800,status=yes,toolbar=yes,menubar=yes,location=yes,resizable =yes' );", true);

Sep 22, 2008

perl use DBI connect to mysql

#!/usr/bin/perl
# MySQL installation verification.
# Open database 'sedb', then just exit.
# No errors should occur.

use strict;
use Socket;
#use DBI();
use DBI;
my $host="127.0.0.1";
my $db="sec";
# Connect to the database.
#my $dbh = DBI->connect("DBI:mysql:database=sec;host=127.0.0.1","root", "ashley",{'RaiseError' => 1});
print "access database--$db\n";
my $dbh = DBI->connect("DBI:mysql:$db;$host","root", "ashley",{'RaiseError' => 1});
print "drop table if exist cmdb\n";
$dbh->do("drop table if exists cmdb");
print "Create table cmdb\n";
$dbh->do("create table cmdb(auto int(5) unsigned not null)");
print "insert into data\n";
for(my $i=1;$i< 10;$i++)
{
$dbh->do("insert into cmdb(auto) values($i)");
}
print "select data from cmdb table\n";
my $sth=$dbh->prepare("select * from cmdb");
$sth->execute() or die $sth->errstr;
my $i=0;
while((my $row=$sth->fetchrow_arrayref))
{
print $row->[0],"\n";
}
exit;

Sep 17, 2008

Oracle 綜合問題

一:SQL tuning 類
1:列舉幾種表連接方式答:merge join,hash join,nested loop

2:不借助第三方工具,怎樣查看sql的執行計畫?答:sqlplus
set autotrace ...
utlxplan.sql 創建 plan_table 表
3:如何使用CBO,CBO與RULE的區別?答:在初始化參數裏面設置 optimizer_mode=choose/all_rows/first_row 等可以使用 cbo。
rbo會選擇不合適的索引,cbo需要統計資訊。
4:如何定位重要(消耗資源多)的SQL?答:根據v$sqlarea 中的邏輯讀/disk_read。以及尋找CPU使用過量的session,查出當前session的當前SQL語句,或者:監控WIN平臺Oracle的運行
5:如何跟蹤某個session的SQL?答:先找出對應的'sid,serial',然後調用system_system.set_sql_trace_in_session(sid,serial,true);參考:跟蹤某個會話
6:SQL調整最關注的是什麼?答:邏輯讀。IO量
7:說說你對索引的認識(索引的結構、對dml影響、對查詢影響、為什麼提高查詢性能)答:默認的索引是b-tree。
對insert的影響:分裂,要保證tree的平衡。
對delete的影響:刪除行的時候要標記改節點為刪除。
對update的影響:如果更新表中的索引欄位,則要相應的更新索引中的鍵值。查詢中包含索引欄位的鍵值和行的物理位址。
8:使用索引查詢一定能提高查詢的性能嗎?為什麼?答:不能。如果返回的行數目較大,使用全表掃描的性能較好。
9:綁定變數是什麼?綁定變數有什麼優缺點?答:通俗的說,綁定變數就是變數的一個占位元符,使用綁定變數可以減少只有變數值不同的語句的解析。
10:如何穩定(固定)執行計畫?答:使用stored outline。
11:和排序相關的記憶體在8i和9i分別怎樣調整,臨時表空間的作用是什麼?答:8i:使用sort_area_size,hash_area_size,每個session分配相同的值,不管有無使用。
9i:使用pga_aggregate來統一管理。臨時表空間的作用:
在sort_area_size中不能完成的部分在臨時表空間完成,臨時表空間在重建索引,創建臨時表等都要用到。
還有hash join不能完成的也在臨時表空間中做。
12:存在表T(a,b,c,d),要根據欄位c排序後取第21—30條記錄顯示,請給出sqlselect a,b,c,d from (select a,b,c,d from T order by c) where rownum<=30
minus
select a,b,c,d from (select a,b,c,d from T order by c) where rownum <=20;
或者:
select * from (select rownum rn,a.* from (select a,b,c,d from T order by c) a )where rn between 21 and 30;

二:資料庫基本概念類
1:pctused and pctfree 表示什麼含義有什麼作用?答:表示資料塊什麼時候移入和移出freelist。
pctused:如果資料塊的使用率小於pctused的值,則該資料塊重新加入到fresslist中。
pctfree:如果資料塊的使用率高於pctfree的值,則該資料塊從freelist中移出。
2:簡單描述table / segment / extent / block之間的關係答:一個table至少是一個segment,如果分區表,則每個分區是一個segment,table可以看成是一個邏輯上的概念,segment可以看成是這個邏輯概念的物理實現;
segment由一個或多個extents組成,segment不可以跨表空間但可以跨資料檔案;
extent由多個連續的blocks組成,不可以跨資料檔案;
block由1-多個os塊組成,是oracle i/o的最小存儲單位。
3:描述tablespace和datafile之間的關係答:tablespace是邏輯上的概念,datafile是物理上的概念。
一個tablespace可以由多個datafile組成,一個datafile不能跨越多個tablespace。
4:本地管理表空間和字典管理表空間的特點,ASSM有什麼特點?答:一個使用freelist管理,一個使用點陣圖管理。
5:回滾段的作用是什麼?答:保存資料的前像,保證資料讀取的時間點一致性。Oracle裏資料的多版本特性就是通過回滾段來實現的,正因為此,Oracle資料庫實現了讀寫不競爭的性能優勢!
6:日誌的作用是什麼?答:記錄對資料庫的操作,便於恢復。
7:SGA主要有那些部分,主要作用是什麼?答:db_cache(緩存資料塊),shared_pool(緩存sql,執行計畫,資料字典資訊等),large_pool(MTS模式、parallel 、rman等要用到),java pool(java程式如SQLJ存儲過程運行時要用到)。
8:Oracle系統進程主要有哪些,作用是什麼?答:smon(合併空間,實例恢復),pmon(清理失敗的進程),歸檔進程(負責在日誌切換的時候歸檔日誌檔),lgmr(日誌書寫器進程,負責寫日誌),ckpt(檢查點進程,觸發檢查點),dbwr(資料庫寫入器,負責把資料寫入導datafile)。

三:備份恢復類
1:備份如何分類?答:邏輯備份(exp)與物理備份。或者冷備份與熱備份。
2:歸檔是什麼含義?答:把日誌檔放到另一個地方。
3:如果一個表在2004-08-04 10:30:00 被drop,在有完善的歸檔和備份的情況下,如何恢復答:拷貝備份,
recover database until time 2004-08-04 10:30:00
alter database open resetlogs;
4:rman是什麼,有何特點?答:rman叫恢復管理器。
特點很多。可以線上備份,到少目標資料庫是mount狀態。1)熱備份。
2)可以存儲腳本。
3)可以增量備份。
4)自動管理備份集。
5:standby的特點答:利用傳輸重做日誌來達到同步的目的。可以設定多個保護級別,9i後支援邏輯standbyDB。
6:對於一個要求恢復時間比較短的系統(資料庫50G,每天歸檔5G),你如何設計備份策略答:每天一個全備份。

四:系統管理類
1:對於一個存在系統性能的系統,說出你的診斷處理思路答:做一個statspack,根據top 5,system load,top sql等來做相應的調整。
2:列舉幾種診斷IO、CPU、性能狀況的方法答:hp-unix:iostat -x 1 5;
top/vmstat/glance
3:對statspack有何認識?答:一個性能診斷工具而已,其本質就是在兩個時間點採樣兩個系統資料。(動態性能視圖),然後根據兩個snapshot,產生一個報告。
4:如果系統現在需要在一個很大的表上創建一個索引,你會考慮那些因素,如何做以儘量減小對應用的影響答:
1)增大sort_area_size(8i)/pga_aggregate_target(9i)值。
2)如果表有分區(一般大表都要用到分區的),按分區逐個建索引,如果是本地索引的話。
3)系統空閒的時候建。
5:對raid10 和raid5有何認識?答:raid10是先鏡像後條帶,適合對寫入速度要求較高的資料庫系統,特別是online redolog檔,raid5適合大部分的資料庫系統和資料倉庫系統,讀性能優於寫性能。

五:綜合隨意類
1:你最擅長的是oracle哪部分?答:性能/sql 調優、備份恢復。
2:喜歡oracle嗎?喜歡上論壇嗎?或者偏好oracle的哪一部分?答:http://www.itpub.net/,Oracle的SQL 優化。
3:隨意說說你覺得oracle最有意思的部分或者最困難的部分答:SQL調優,最困難的是Oracle的網路管理,Oracle的Connect Manager沒用過。
4:為何要選擇做DBA呢?答:愛好加職業歷史積累

HBA and lun

1、關於HBA
HBA的全稱為Host Bus Adapter,即主機匯流排適配器。
a、匯流排適配器是個什麼東西呢?
我們首先要瞭解一下主機的結構,一台電腦內部多半由兩條匯流排串在起來(當然實際情況會有不同,這裏只討論常見的,簡單的情況),一條匯流排叫系統匯流排,一條叫I/O匯流排。系統匯流排上接了CPU,MEmory,cache什麼的,I/O匯流排上接的就是週邊設備,現如今最常見的就是PCI匯流排了。這兩條匯流排之間用橋接的晶片或者說電路連接起來。舉個形象的例子,就好比一個城市裏,有兩條主幹道,一條屬於行政區,一條屬於商業區,中間有個環島,將兩條主幹道連接到了一起,系統匯流排就好比行政區裏的主幹道,而I/O匯流排就好比商業區的主幹道。系統匯流排和I/O匯流排的帶寬的單位都是以Gbyte來記,但是顯而易見的是,行政區的主幹道和商業區的主幹道相比的話,前者肯定更“核心”,更寬,更順暢,設計的要求也高。
我們知道,在向公僕部門要求服務的時候,是要有一些介面的部門和程式的,而橋接晶片的作用就是連接和協調兩條匯流排的工作的。
雖然I/O匯流排的速度和系統匯流排的帶寬相比要低很多,但是好歹也是以G來計量的,而我們知道週邊設備的速度,往往只有幾百兆,甚至幾十k而已,怎麼協調工作呢?好比賣煎餅果子攤子不能直接戳到城市主幹道上,怎麼辦?好辦,在主幹道邊上開個2000平米的小吃城,把攤子都收進去好了。那麼主機匯流排適配器的作用也就是這個,我們就是要把外設組織起來,連接到I/O匯流排上去!HBA就是指Host和I/O BUS直接的一個適配器,也好比一個水管工常說的“雙通”。
b、常見的HBA有哪些呢?
比如顯卡,網卡,scsi卡,1394卡等等。我要拿出來說的就是FCHBA和ATA&IDE。我們通常說的什麼Emulex的LP9002,什麼Qlogic的QLA2340都是FCHBA卡,就是將Fibre Channel的設備和IO匯流排連接起來的適配器。ATA也是一種適配器技術,我們PC主板上的ATA介面,就是一個磁片適配器的對外介面,要強調的就是,ATA說的是適配器技術,IDE是說得存儲外設技術,比如我們可以說IDE硬碟,IDE光碟機,說ATA介面,但是說IDE介面,ATA硬碟就不時那麼合適了,雖然很多情況下,大家都習慣把他們混在一起說。
描述HBA的時候,有幾個主要的規範要說一下
> 一個承上,就是說,HBA和IOBUS怎麼連,我們經常說的PCI介面卡,就是指這個HBA卡是要插在PCI BUS上的PCI slot上的,但是現在的電腦上,不僅僅只有PCI匯流排而已,大家碰到的時候留意。
>一個啟下,就是說HBA要和外設怎麼連,這樣的規範就很多了。
>再說HBA本身,比如帶寬,比如運行機制(protocol等),獨立處理能力等等
Tips:有時候我們看到的一塊卡,看到的實際是一個物理的卡,有的時候實際上是多個Adapter,好比一家機構,掛多個牌子,有的時候,一塊卡有兩條通道,好比一家公司,有兩套人馬。

2、關於lun

a、lun的概念
lun的全稱是logical unit number,也就是邏輯單元號。我們知道scsi匯流排上可掛接的設備數量是有限的,一般為6個或者15個,我們可以用target ID(也有稱為scsi id的)來描述這些設備,設備只要一加入系統,就有一個代號,我們在區別設備的時候,只要說幾號幾號就ok了。
而實際上我們需要用來描述的物件,是遠遠超過該數字的,於是我們引進了lun的概念,也就是說lun id的作用就是擴充了target id。每個target下都可以有多個lun device,我們通常簡稱lun device為lun,這樣就可以說每個設備的描述就有原來的target x變成target x lun y了,那麼顯而易見的,我們描述設備的能力增強了.就好比,以前你給別人郵寄東西,寫位址的時候,可以寫:
xx市人民大街54號 xxx(收)
但是自從高樓大廈越來越多,你不得不這麼寫:
xx市人民大街54號xx大廈518室 xxx (收)
所以我們可以總結一下,lun就是我們為了使用和描述更多設備及物件而引進的一個方法而已,一點也沒什麼特別的地方.
b、lun是什麼東西?
lun id不等於某個設備,只是個號碼而已,不代表任何實體屬性,在我們的實際環境裏,我們碰到的lun可能是磁碟空間,可能是磁帶機,或者是media changer等等.
lun的神秘之處(相對于一些新手來說)在於,它很多時候不是什麼可見的實體,而是一些虛擬的物件。比如一個陣列櫃,主機那邊看作是一個target device,那為了某些特殊需要,我們要將磁碟陣列櫃的磁碟空間劃分成若干個小的單元給主機來用,於是就產生了一些什麼邏輯驅動器的說法,也就是比target device級別更低的邏輯物件,我們習慣於把這些更小的磁片資源稱之為lun0,lun1,lun2....什麼的。而作業系統的機制使然,作業系統識別的最小存儲物件級別就是lun device,這是一個邏輯物件,所以很多時候被稱之為logical device。
有人說,我的windows裏,就認到一個磁片呀,沒看到什麼lun的說法,是不是lun=physical disk呢?回答是否定的,只要你注意,磁片的屬性裏就可以看到有一個lun的值,只是因為你的disk沒有被劃分為多個存儲資源物件,而將整個磁片當作一個lun來用,lun id默認為零,如此而已。
我們曾經碰到過這樣的問題,比如有人問,我們有一個磁碟陣列,連到了兩個主機上,我們劃分了一個lun給兩個主機認到,然後我們想,先在作業系統將磁片分為兩個區,讓兩個主機分別使用兩個分區,然後再出現某一台主機宕機之後,使用集群軟體將該分區切換到另外一個主機上去,這樣可行嗎?答案也是否定的,集群軟體操作的磁片單元是lun,而不是分區,所以該操作是不可行的。當然,在一些環境,一般也是一些要求比較低的環境,可以在多個主機上掛載不同的磁片分區,但是這種情況下,實際上是沒有涉及到磁片的切換的,所以在一些高要求的環境裏,這種情況根本就不允許存在。
還要說明的地方是,在有些廠商和有些產品的概念裏,lun id被綁定到了具體的device上,比如ibm的一些帶庫,整個帶庫只有一個target id,然後changer,tape drive被分別分配為lun0,lun1,lun2.....,但是我們要注意到,這只是產品做了特別設計,也是少數情況。
c、存儲和主機的電氣獨立時代的lun的概念
還有很多新手總是把陣列裏面的磁片和主機的內部磁片的一些概念搞混淆了。
在磁碟陣列和磁帶庫大行其道的時代,存儲越來越智慧化,越來越像一個獨立的機器,實際上存儲和主機的電氣獨立本來就是一個必然趨勢,俗話說得好,兒大要分家嘛。在存儲越來越重要的時代,存儲要自立門戶是必然的事。
如果我們把存儲當作一個獨立的主機來看,理解起來就很簡單了。我們說到lun的概念的時候,我們就要將分為兩個層面。一個層面就是在陣列這個機器的os識別到的範圍,一個層面就是伺服器的os識別到的範圍。這兩個層面是相對獨立的,因為如果我們把存儲當作一個主機來看,那麼它自然有自己的device,target,lun之說,而伺服器也有自己的device,target,lun之說;另外一方面,這兩個層面又是相互關聯的,一個陣列的控制系統,大多都有虛擬化的功能,陣列想讓主機看到什麼樣的東西,主機才能看到相應的東西。當然,伺服器識別到的最小的存儲資源,就是lun級別的。那麼主機的HBA卡看到的存儲上的存儲資源就靠主要兩個東西來定位,一個就是存儲系統的控制器(target),一個就是lun id,這個lun是由存儲的控制系統給定的,是存儲系統的某部分存儲資源。
d、lun masking,lun mapping
我們有了獨立的磁碟陣列用了之後,伺服器只要看到存儲的控制系統,就有可能使用磁碟陣列的磁片資源,但是磁碟陣列不可能只為某一個伺服器來使用,所以他必須管制主機使用某部分磁片資源。這個管制分為兩個部分:一部分就是lun mapping,類似於綠色通道,就是保證伺服器能看到某部分存儲資源,一部分就是lun masking,類似於警戒線,就是保證伺服器只可訪問給它分配的存儲資源,而沒分配給伺服器的資源,就不要染指了。
實現lun masking和lun mapping有三種方法:一個是基於存儲控制系統來設置,一個是基於存儲交換系統來設置,一個是基於伺服器os來設置。
基於存儲控制系統得設置,是比較常見的設置,比如很多磁碟陣列的控制系統,本身就能設置lun被某伺服器看到。比如FastT的partition功能。
基於存儲交換系統的設置,也是一種常用的方法,比如常說的zoning。
基於伺服器os的設置,比較少採用,一般採用安裝某些作業系統上安裝某些軟體來實現,因為這個方法全靠伺服器自覺,所以比較少用,呵呵。
e、lun的multi-path
現在,存儲網路越來越發達了,一個lun有多條通路可以訪問也不是新鮮事了。
伺服器使用多個HBA連接到存儲網路,存儲網路又可能是由多個交換設備組成,而存儲系統又可能有多個控制器和鏈路,lun到伺服器的存儲網路鏈路又可能存在著多條不同的邏輯鏈路。那麼,必然的,同一個physical lun在伺服器上必然被識別為多個設備。因為os區別設備無非用的是匯流排,target id,lun id來,只要號碼不同,就認為是不同的設備。
由於上面的情況,多路徑管理軟體應運而生了,比如emc的powerpath,這個軟體的作用就是讓作業系統知道那些作業系統識別到lun實際上是一個真正的physical lun,具體的做法,就是生成一個特別的設備檔,作業系統操作這個特殊的設備檔。而我們知道,設備檔+driver+firmware的一個作用,就是告訴作業系統該怎麼使用這個設備。那麼就是說,多路徑管理軟體從driver和設備檔著手,告訴了作業系統怎麼來處理這些身份複雜的lun。

3、關於備份(Backup)和高可用性(High availability)
備份,從字面的意思來理解,其實就是現時存在和應用的一個實體的後備實體;
高可用性,即是指我們硬體的環境、設施、資料、應用系統等,在複雜環境下可用的能力和可能性達到一個較高的值;
在現實世界裏,我們都講究有一個穩定,可靠,所以我們經常在電腦環境設計裏,涉及到高可用性和備份等等元素。
我首先把這兩個詞拿出來說,就是不想讓新手們在什麼雙機熱備,資料備份亞,集群等等概念裏暈的不也樂乎。

對於備份我主要說說以下幾個方面:
a、設備的備份
設備的備份,也就是我們在現時使用的設備之外,採取相同或者類似的設備做後備。
比如我們在伺服器上採用冗餘電源,也叫後備電源,我們使用單獨的硬碟來做RAID的備用盤,也叫熱備盤。
如果我們採取單獨的一台伺服器來做後備,這就成了主機的備份,主機的備份有很多種方式,比較著名的就是所謂的cluster,所謂的雙機熱備和雙機容錯,我很不喜歡鼓搗這些概念,我一概稱他們為主機熱備,因為他們有一個共同的特點,就是都是為了實現主機的備份,即某一個主機失效了,有另外一個主機頂替它來運行。實現主機熱備的軟體有很多,比如IBM的HACMP,HP的MCSG,SUN的sun cluster,Compaq的Ture Cluster,Veritas的VCS,EMC的autostart,ROSE HA等等

b、資料的備份
資料的備份,就是我們在現時使用的資料之外,實現或設置另外一份不同物理體現的、內容相同的的有效資料拷貝
比如我們將生產資料拷貝到磁帶上,就是一種資料備份方式。
比如我們將生產資料複製到磁片的另一個分區,另一個檔系統,或者拷貝到別的主機的磁片上,等等,都是一種資料備份的方式。
實現資料備份的軟體有很多,比如一些磁帶操作的小工具,tar,cpio等,大的工具軟體有什麼EMC Networker, Symantec Netbackup,CommVault,tapeware等等,資料複製的工具就更多了,作業系統的複製命令呀,emc replicator呀,srdf等等

c、應用系統的備份
應該說應用系統的備份,包含了以上兩種備份,因為一個完善的應用系統,其設備和資料都是要求有備份的,那麼初次之外,做為一個應用系統,除了設備和資料,他還包含了業務程式,人員,業務邏輯,外部環境等等一系列讓應用跑起來的東西。
在這個層面,就有一個比較熱火的東西,那就是常說的遠端容災。遠端容災,就是在生產系統環境之外,在相隔較遠的物理空間,構建相同或類似的一個應用系統,以達到在必要的時候頂替原生產系統工作的目標。
要實現遠端容災的目的,除了我們說的外部環境,比如機房,電力,後勤保障,人員配備,業務程式之外,我們比較著重的一個環節,就是資料的問題,也就是我們在兩個系統之間要保證資料的相對一致,實現這個目標的方法有很多,比如磁碟陣列之間的卷複製,比如兩個主機之間檔系統上的複製,等等。當然,在一個系統裏,把資料用磁帶導出來,快遞到另外一個系統地點,在用磁帶把資料導進取,也不能說不是一個辦法,但是這樣操作,經常會和業務的邏輯相違背(呵呵,這麼麻煩又耽誤時間,估計一般很難接受)。

對於高可用性,我要說的是:
可用性,即是指在各種複雜環境下,我們的資料,應用等計算資源都可以保持使用的能力和可能性。比如伺服器配備冗餘電源,就提高了伺服器的可用性,好理解,一個電源工作不正常或者能力不夠的是候,伺服器不受影響嘛。再比如,我們的磁碟陣列採用雙控制器,當某個控制器和鏈路工作不正常的時候,資料的訪問能平滑的過渡到另外一個控制器上和鏈路上,這也是提高了資料和存儲設備的可用性。
那麼什麼是高可用性呢,我們就是一切為了提高系統可用性的實現方法和結果。
要拿出來說的就是cluster,或者雙機什麼的。我們為了實現生產的應用系統的高可用性,其中一個環節就是實現伺服器的高可用性,就是某伺服器失效或者能力不足時,應用能平滑的過渡到另外的主機上,也就是說對於應用系統來說,伺服器保證了相對的可用

那備份和高可用性有什麼區別呢?
那我要說,這根本沒有可比性!因為這是兩個不同的概念,他們的著眼點是不同的。備份只是保證了有後備,而高可用性則是為了保證應用的儘快恢復。
打個比方,我們說備份就好比買保險,買保險不能保證你平安無事,但是肯定能減輕損失。我們說搞可用性,就是安全氣囊,ABS,能讓你快速的重新開始或者說將危險消弭于萌芽時刻。
所以說我們做備份和提高可用性,兩手都不可放鬆,也不互相矛盾。就好比買了好車,你就不買保險,或者你買了保險,就可以飆車,都是愚蠢的。

甲骨文Oracle技術筆試題

甲骨文Oracle技術筆試題

1. 解釋冷備份和熱備份的不同點以及各自的優點
  解答:熱備份針對歸檔模式的資料庫,在資料庫仍舊處於工作狀態時進行備份。而冷備份指在資料庫關閉後,進行備份,適用於所有模式的資料庫。熱備份的優點在於當備份時,資料庫仍舊可以被使用並且可以將資料庫恢復到任意一個時間點。冷備份的優點在於它的備份和恢復操作相當簡單,並且由於冷備份的資料庫可以工作在非歸檔模式下,資料庫性能會比歸檔模式稍好。(因為不必將archive log寫入硬碟)
  2. 你必須利用備份恢復資料庫,但是你沒有控制檔,該如何解決問題呢?
  解答:重建控制檔,用帶backup control file 子句的recover 命令恢復
  資料庫。
  3. 如何轉換init.ora到spfile?
  解答:使用create spfile from pfile 命令.
  4. 解釋data block , extent 和 segment的區別(這裏建議用英文術語)
  解答:data block是資料庫中最小的邏輯存儲單元。當資料庫的物件需要更多的物理存儲空間時,連續的data block就組成了extent . 一個資料庫物件
  擁有的所有extents被稱為該物件的segment.
  5. 給出兩個檢查表結構的方法
  解答:1。DESCRIBE命令
  2. DBMS_METADATA.GET_DDL 包
  6. 怎樣查看資料庫引擎的報錯
  解答:alert log.
  7. 比較truncate和delete 命令
  解答:兩者都可以用來刪除表中所有的記錄。區別在於:truncate是DDL操作,它移動HWK,不需要 rollback segment .而Delete是DML操作, 需要rollback segment 且花費較長時間.
  8. 使用索引的理由
  解答:快速訪問表中的data block
  9. 給出在STAR SCHEMA中的兩種表及它們分別含有的資料
  解答:Fact tables 和dimension tables. fact table 包含大量的主要的資訊而 dimension tables 存放對fact table 某些屬性描述的資訊
  10. FACT Table上需要建立何種索引?
  解答:點陣圖索引 (bitmap index)
  11. 給出兩種相關約束?
  解答:主鍵和外鍵
  12. 如何在不影響子表的前提下,重建一個母表
  解答:子表的外鍵強制實效,重建母表,啟動外鍵
  13. 解釋歸檔和非歸檔模式之間的不同和它們各自的優缺點
  解答:歸檔模式是指你可以備份所有的資料庫 transactions並恢復到任意一個時間點。非歸檔模式則相反,不能恢復到任意一個時間點。但是非歸檔模式可以帶來資料庫性能上的少許提高
  .
  14. 如何建立一個備份控制檔?
  解答:Alter database backup control file to trace.
  15. 給出資料庫正常啟動所經歷的幾種狀態 ?
  解答:
  STARTUP NOMOUNT – 資料庫實例啟動
  STARTUP MOUNT - 資料庫裝載
  STARTUP OPEN – 資料庫打開
  16. 哪個column可以用來區別V$視圖和GV$視圖?
  解答: INST_ID 指明集群環境中具體的 某個instance 。
  17. 如何生成explain plan?
  解答:運行utlxplan.sql. 建立plan 表
  針對特定SQL語句,使用 explain plan set statement_id = 'tst1' into plan_table
  運行utlxplp.sql 或 utlxpls.sql察看explain plan
  18. 如何增加buffer cache的命中率?
  解答:在資料庫較繁忙時,適用buffer cache advisory 工具,查詢v$db_cache_advice . 如果有必要更改,可以使用 alter system set db_cache_size 命令
  19. ORA-01555的應對方法?
  解答:具體的出錯資訊是snapshot too old within rollback seg , 通常可以通過
  增大rollback seg來解決問題。當然也需要察看一下具體造成錯誤的SQL文本
  20. 解釋$ORACLE_HOME和$ORACLE_BASE的區別?
  解答:ORACLE_BASE是oracle的根目錄,ORACLE_HOME是oracle產品
  的目錄。
  21. 如何判斷資料庫的時區?
  解答:SELECT DBTIMEZONE FROM DUAL;
  22. 解釋GLOBAL_NAMES設為TRUE的用途
  解答:GLOBAL_NAMES指明聯接資料庫的方式。如果這個參數設置為TRUE,在建立資料庫鏈結時就必須用相同的名字連結遠端資料庫
  23。如何加密PL/SQL程式?
  解答:WRAP
  24. 解釋FUNCTION,PROCEDURE和PACKAGE區別
  解答:function 和procedure是PL/SQL代碼的集合,通常為了完成一個任務。procedure 不需要返回任何值而function將返回一個值在另一
  方面,Package是為了完成一個商業功能的一組function和proceudre的集合
  25. 解釋TABLE Function的用途
  解答:TABLE Function是通過PL/SQL邏輯返回一組紀錄,用於普通的表/視圖。他們也用於pipeline和ETL過程。
  26. 舉出3種可以收集three advisory statistics
  解答:Buffer Cache Advice, Segment Level Statistics, Timed Statistics
  27. Audit trace 存放在哪個oracle目錄結構中?
  解答:unix $ORACLE_HOME/rdbms/audit Windows the event viewer
  28. 解釋materialized views的作用
  解答:Materialized views 用於減少那些匯總,集合和分組的資訊的集合數量。它們通常適合於資料倉庫和DSS系統。
  29. 當用戶進程出錯,哪個後臺進程負責清理它
  解答: PMON
  30. 哪個後臺進程刷新materialized views?
  解答:The Job Queue Processes.
  31. 如何判斷哪個session正在連結以及它們等待的資源?
  解答:V$SESSION / V$SESSION_WAIT
  32. 描述什麼是 redo logs
  解答:Redo Logs 是用於存放資料庫資料改動狀況的物理和邏輯結構。可以用來修復資料庫.
  33. 如何進行強制LOG SWITCH?
  解答:ALTER SYSTEM SWITCH LOGFILE;
  34. 舉出兩個判斷DDL改動的方法?
  解答:你可以使用 Logminer 或 Streams
  35. Coalescing做了什麼?
  解答:Coalescing針對於字典管理的tablespace進行碎片整理,將臨近的小extents合併成單個的大extent.
  36. TEMPORARY tablespace和PERMANENT tablespace 的區別是?
  解答:A temporary tablespace 用於臨時物件例如排序結構而 permanent tablespaces用來存儲那些'真實'的物件(例如表,回滾段等)
  37. 創建資料庫時自動建立的tablespace名稱?
  解答:SYSTEM tablespace.
  38. 創建用戶時,需要賦予新用戶什麼許可權才能使它聯上資料庫。
  解答:CONNECT
  39. 如何在tablespace裏增加資料檔案?
  解答:ALTER TABLESPACE ADD DATAFILE SIZE
  40. 如何變動資料檔案的大小?
  解答:ALTER DATABASE DATAFILE RESIZE ;
  41. 哪個VIEW用來檢查資料檔案的大小?
  解答: DBA_DATA_FILES
  42. 哪個VIEW用來判斷tablespace的剩餘空間
  解答:DBA_FREE_SPACE
  43. 如何判斷誰往表裏增加了一條紀錄?
  解答:auditing
  44. 如何重構索引?
  解答: ALTER INDEX REBUILD;
  45. 解釋什麼是Partitioning(分區)以及它的優點。
  解答:Partition將大表和索引分割成更小,易於管理的分區。
  46. 你剛剛編譯了一個PL/SQL Package但是有錯誤報導,如何顯示出錯資訊?
  解答:SHOW ERRORS
  47. 如何搜集表的各種狀態資料?
  解答: ANALYZE
  The ANALYZE command.
  48. 如何啟動SESSION級別的TRACE
  解答: DBMS_SESSION.SET_SQL_TRACE
  ALTER SESSION SET SQL_TRACE = TRUE;
  49. IMPORT和SQL*LOADER 這2個工具的不同點
  解答:這兩個ORACLE工具都是用來將資料導入資料庫的。
  區別是:IMPORT工具只能處理由另一個ORACLE工具EXPORT生成
  的數據。而SQL*LOADER可以導入不同的ASCII格式的資料源
  50。用於網路連接的2個檔?
  解答: TNSNAMES.ORA and SQLNET.ORA
  後面五道題,
  1,什麼叫Normalization.什麼叫3NF,並請列出1NF和2NF..
  2,什麼叫revised key index
  3,什麼叫鎖死,舉一個引起資料庫操作中鎖死的例子
  4, BYTE[] buf = BYTE[1024];
  in.read(buf)
  in是一個接收圖像資料的網路IO流,請指出這段代碼有什麼問題,
  並請用java代碼改進它
  5,你正在分析一個子系統的介面,發現介面很多。然後你同事勸你用Fecade,
  問你用Fecade有什麼好處
百度PHP/JSP職位線上筆試真題
 1、請寫一個程式,隨機列印“0”、“1”、“2”,但保證“0”、“1”、“2”出現的概率是可配置的,例如2:1:3。
  2、有一個基於資料庫的通知發佈系統,需要能夠靈活配置通知生效的時間:
  a)可以設置在某幾個小時內生效,如指定"2046年12月24日 18時到25日0時生效
  b)可以設置在一周的某幾天發佈,如可以設置週六、周日生效
  c)可以設置一月的某幾天生效,如可以設置5號、6號生效
  d)可以設置某一月的奇數日或者偶數日生效,如1、3、5號生效
  請設計資料庫表結構,並簡要說明設計思路。
  3、為某圖書館開發線上流覽系統,使用戶可以通過自定義的圖書別名流覽相關聯的圖書內容。假設該圖書館有1000萬註冊用戶,館藏圖書1000萬部。線上流覽系統允許用戶自定義分類名稱,每個分類可以包含若干部書籍。用戶可以添加、刪除分類,修改分類的名稱(同一用戶不允許有名稱相同的分類),可以在分類下添加、刪除書籍,修改書籍的別名(同一分類下不允許有名稱相同的別名)。現在設定每個用戶最多可以自定義100個分類,每個分類最多可以包含100部書籍。
  A、假定用資料庫解決存儲問題,請設計相關的資料表結構,並給出設計考慮。
  B、請給出下列操作的SQL語句

問題:在一個檔中有 10G 個整數,亂序排列,要求找出中位數。記憶體限制為 2G。只寫出思路即可。
  Peak Wong:
  1,把整數分成256M段,每段可以用64位元整數保存該段資料個數,256M*8 = 2G記憶體,先清0
  2,讀10G整數,把整數映射到256M段中,增加相應段的記數
  3,掃描256M段的記數,找到中位數的段和中位數的段前面所有段的記數,可以把其他段的記憶體釋放
  4,因中位數段的可能整數取值已經比較小(如果是32bit整數,當然如果是64bit整數的話,可以再次分段),對每個整數做一個記數,再讀一次10G整數,唯讀取中位數段對應的整數,並設置記數。
  5,對新的記數掃描一次,即可找到中位數。
一:SQL tuning 類
  1:列舉幾種表連接方式
  2:不借助第三方工具,怎樣查看sql的執行計畫
  3:如何使用CBO,CBO與RULE的區別
  4:如何定位重要(消耗資源多)的SQL
  5:如何跟蹤某個session的SQL
  6:SQL調整最關注的是什麼
  7:說說你對索引的認識(索引的結構、對dml影響、對查詢影響、為什麼提高查詢性能)
  8:使用索引查詢一定能提高查詢的性能嗎?為什麼
  9:綁定變數是什麼?綁定變數有什麼優缺點?
  10:如何穩定(固定)執行計畫
  11:和排序相關的記憶體在8i和9i分別怎樣調整,臨時表空間的作用是什麼
  12:存在表T(a,b,c,d),要根據欄位c排序後取第21—30條記錄顯示,請給出sql
  二:資料庫基本概念類
  1:pctused and pctfree 表示什麼含義有什麼作用
  2:簡單描述table / segment / extent / block之間的關係
  3:描述tablespace和datafile之間的關係
  4:本地管理表空間和字典管理表空間的特點,ASSM有什麼特點
  5:回滾段的作用是什麼
  6:日誌的作用是什麼
  7:SGA主要有那些部分,主要作用是什麼
  8racle系統進程主要有哪些,作用是什麼
  三:備份恢復類
  1:備份如何分類
  2:歸檔是什麼含義
  3:如果一個表在2004-08-04 10:30:00 被drop,在有完善的歸檔和備份的情況下,如何恢復
  4:rman是什麼,有何特點
  5:standby的特點
  6:對於一個要求恢復時間比較短的系統(資料庫50G,每天歸檔5G),你如何設計備份策略
  四:系統管理類
  1:對於一個存在系統性能的系統,說出你的診斷處理思路
  2:列舉幾種診斷IO、CPU、性能狀況的方法
  3:對statspack有何認識
  4:如果系統現在需要在一個很大的表上創建一個索引,你會考慮那些因素,如何做以儘量減小對應用的影響
  5:對raid10 和raid5有何認識
  五:綜合隨意類
  1:你最擅長的是oracle哪部分?
  2:喜歡oracle嗎?喜歡上論壇嗎?或者偏好oracle的哪一部分?
  3:隨意說說你覺得oracle最有意思的部分或者最困難的部分
  4:為何要選擇做DBA呢?
參考解答:
  一:SQL tuning 類
  1:列舉幾種表連接方式
  hash join/merge join/nest loop(cluster join)/index join

  2:不借助第三方工具,怎樣查看sql的執行計畫
  set autot on
  explain plan set statement_id = &item_id for &sql;
  select * from table(dbms_xplan.display);
  http://download-west.oracle.com/ ... /b10752/ex_plan.htm

  3:如何使用CBO,CBO與RULE的區別
  在optimizer_mode=choose時,如果表有統計資訊(分區表外),優化器將選擇CBO,否則選RBO。RBO遵循簡單的分級方法學,使用15種級別要點,當接收到查詢,優化器將評估使用到的要點數目, 然後選擇最佳級別(最少的數量)的執行路徑來運行查詢。
  CBO嘗試找到最低成本的訪問資料的方法,為了最大的吞吐量或最快的初始回應時間,計算使用不同 的執行計畫的成本,並選擇成本最低的一個,關於表的資料內容的統計被用於確定執行計畫。
  4:如何定位重要(消耗資源多)的SQL
select sql_text
from v$sql
where disk_reads > 1000 or (executions > 0 and buffer_gets/executions > 30000);

  5:如何跟蹤某個session的SQL
exec dbms_system.set_sql_trace_in_session(sid,serial#,&sql_trace);
select sid,serial# from v$session where sid = (select sid from v$mystat where rownum = 1);
exec dbms_system.set_ev(&sid,&serial#,&event_10046,&level_12,'');

  6:SQL調整最關注的是什麼
  查看該SQL的response time(db block gets/consistent gets/physical reads/sorts (disk))
  7:說說你對索引的認識(索引的結構、對dml影響、為什麼提高查詢性能)
  b-tree index/bitmap index/function index/patitional index(local/global) 索引通常能提高select/update/delete的性能,會降低insert的速度,
  8:使用索引查詢一定能提高查詢的性能嗎?為什麼
  索引就是為了提高查詢性能而存在的, 如果在查詢中索引沒有提高性能, 只能說是用錯了索引,或者講是場合不同
  9:綁定變數是什麼?綁定變數有什麼優缺點?
  綁定變數是相對文本變數來講的,所謂文本變數是指在SQL直接書寫查詢條件,這樣的SQL在不同條件下需要反復解析,綁定變數是指使用變數來代替直接書寫條件,查詢bind value在運行時傳遞,然後綁定執行。優點是減少硬解析,降低CPU的爭用,節省shared_pool ;缺點是不能使用histogram,sql優化比較困難
  10:如何穩定(固定)執行計畫
  query_rewrite_enabled = true
  star_transformation_enabled = true
  optimizer_features_enable = 9.2.0

  創建並使用stored outline
  http://download-west.oracle.com/ ... /outlines.htm#26854

  11:和排序相關的記憶體在8i和9i分別怎樣調整,臨時表空間的作用是什麼
  8i中sort_area_size/sort_area_retained_size決定了排序所需要的記憶體
  如果排序操作不能在sort_area_size中完成,就會用到temp表空間
  9i中如果workarea_size_policy=auto時,
  排序在pga內進行,通常pga_aggregate_target的1/20可以用來進行disk sort;
  如果workarea_size_policy=manual時,排序需要的記憶體由sort_area_size決定
  在執行order by/group by/distinct/union/create index/index rebuild/minus等操作時,
  如果在pga或sort_area_size中不能完成,排序將在臨時表空間進行(disk sort),
  臨時表空間主要作用就是完成系統中的disk sort.
  12:存在表T(a,b,c,d),要根據欄位c排序後取第21—30條記錄顯示,請給出sql
  create table t(a number(,b number(,c number(,d number();
  /
  begin
  for i in 1 .. 300 loop
  insert into t values(mod(i,2),i/2,dbms_random.value(1,300),i/4);
  end loop;
  end;
  /
  select * from (select c.*,rownum as rn from (select * from t order by c desc) c) where rn between 21 and 30;
  /
  select * from (select * from test order by c desc) x where rownum < 30
  minus
  select * from (select * from test order by c desc) y where rownum < 20 order by 3 desc

  相比之 minus性能較差
資料庫基本概念類
  1:pctused and pctfree 表示什麼含義有什麼作用
  pctused與pctfree控制資料塊是否出現在freelist中,
  pctfree控制資料塊中保留用於update的空間,當資料塊中的free space小於pctfree設置的空間時,
  該資料塊從freelist中去掉,當塊由於dml操作free space大於pct_used設置的空間時,該資料庫塊將
  被添加在freelist鏈表中。
  2:簡單描述table / segment / extent / block之間的關係
  table創建時,默認創建了一個data segment,
  每個data segment含有min extents指定的extents數,
  每個extent據據表空間的存儲參數分配一定數量的blocks
  3:描述tablespace和datafile之間的關係
  一個tablespace可以有一個或多個datafile,每個datafile只能在一個tablespace內,
  table中的資料,通過hash演算法分佈在tablespace中的各個datafile中,
  tablespace是邏輯上的概念,datafile則在物理上儲存了資料庫的種種物件。
  4:本地管理表空間和字典管理表空間的特點,ASSM有什麼特點
  本地管理表空間(Locally Managed Tablespace簡稱LMT)
  8i以後出現的一種新的表空間的管理模式,通過點陣圖來管理表空間的空間使用。
  字典管理表空間(Dictionary-Managed Tablespace簡稱DMT)
  8i以前包括以後都還可以使用的一種表空間管理模式,通過資料字典管理表空間的空間使用。
  動段空間管理(ASSM),
  它首次出現在Oracle920裏有了ASSM,鏈結列表freelist被點陣圖所取代,它是一個二進位的陣列,
  能夠迅速有效地管理存儲擴展和剩餘區塊(free block),因此能夠改善分段存儲本質,
  ASSM表空間上創建的段還有另外一個稱呼叫Bitmap Managed Segments(BMB 段)。
  5:回滾段的作用是什麼
  事務回滾:當事務修改表中資料的時候,該資料修改前的值(即前影像)會存放在回滾段中,
  當用戶回滾事務(ROLLBACK)時,ORACLE將會利用回滾段中的資料前影像來將修改的資料恢復到原來的值。
  事務恢復:當事務正在處理的時候,常式失敗,回滾段的資訊保存在undo表空間中,
  ORACLE將在下次打開資料庫時利用回滾來恢復未提交的資料。
  讀一致性:當一個會話正在修改資料時,其他的會話將看不到該會話未提交的修改。
  當一個語句正在執行時,該語句將看不到從該語句開始執行後的未提交的修改(語句級讀一致性)
  當ORACLE執行SELECT語句時,ORACLE依照當前的系統改變號(SYSTEM CHANGE NUMBER-SCN)
  來保證任何前於當前SCN的未提交的改變不被該語句處理。可以想像:當一個長時間的查詢正在執行時,
  若其他會話改變了該查詢要查詢的某個資料塊,ORACLE將利用回滾段的資料前影像來構造一個讀一致性視圖。
  6:日誌的作用是什麼
  記錄資料庫事務,最大限度地保證資料的一致性與安全性
  重做日誌檔:含對資料庫所做的更改記錄,這樣萬一出現故障可以啟用資料恢復,一個資料庫至少需要兩個重做日誌檔
  歸檔日誌檔:是重做日誌檔的脫機副本,這些副本可能對於從介質失敗中進行恢復很必要。
  7:SGA主要有那些部分,主要作用是什麼
  SGA:db_cache/shared_pool/large_pool/java_pool
  db_cache:

  資料庫緩存(Block Buffer)對於Oracle資料庫的運轉和性能起著非常關鍵的作用,
  它佔據Oracle資料庫SGA(系統共用記憶體區)的主要部分。Oracle資料庫通過使用LRU
  演算法,將最近訪問的資料塊存放到緩存中,從而優化對磁片資料的訪問.
  shared_pool:
  共用池的大小對於Oracle 性能來說都是很重要的。
  共用池中保存資料字典高速緩衝和完全解析或編譯的的PL/SQL 塊和SQL 語句及控制結構
  large_pool:
  使用MTS配置時,因為要在SGA中分配UGA來保持用戶的會話,就是用Large_pool來保持這個會話記憶體
  使用RMAN做備份的時候,要使用Large_pool這個記憶體結構來做磁片I/O暫存器
  java_pool:
  為java procedure預備的記憶體區域,如果沒有使用java proc,java_pool不是必須的
  8 Oracle系統進程主要有哪些,作用是什麼
  資料寫進程(dbwr):負責將更改的資料從資料庫緩衝區快取記憶體寫入資料檔案
  日誌寫進程(lgwr):將重做日誌緩衝區中的更改寫入線上重做日誌檔
  系統監控(smon) :檢查資料庫的一致性如有必要還會在資料庫打開時啟動資料庫的恢復
  進程監控(pmon) :負責在一個Oracle 進程失敗時清理資源
  檢查點進程(chpt):負責在每當緩衝區快取記憶體中的更改永久地記錄在資料庫中時,更新控制檔和資料檔案中的資料庫狀態資訊。
  歸檔進程(arcn) :在每次日誌切換時把已滿的日誌組進行備份或歸檔
  作業調度器(cjq) :負責將調度與執行系統中已定義好的job,完成一些預定義的工作.
  恢復進程(reco) :保證分散式事務的一致性,在分散式事務中,要麼同時commit,要麼同時rollback;
備份恢復類
  1:備份如何分類
  邏輯備份:exp/imp
  物理備份:
  RMAN備份
  full backup/incremental backup(累積/差異)
  熱備份:alter tablespace begin/end backup;
  冷備份:脫機備份(database shutdown)
  2:歸檔是什麼含義
  關於歸檔日誌:Oracle要將填滿的線上日誌檔組歸檔時,則要建立歸檔日誌(archived redo log)。
  其對資料庫備份和恢復有下列用處:
  資料庫後備以及線上和歸檔日誌檔,在作業系統和磁片故障中可保證全部提交的事物可被恢復。
  在資料庫打開和正常系統使用下,如果歸檔日誌是永久保存,線上後備可以進行和使用。
  資料庫可運行在兩種不同方式下:
  NOARCHIVELOG方式或ARCHIVELOG 方式資料庫在NOARCHIVELOG方式下使用時,不能進行線上日誌的歸檔,如果資料庫在ARCHIVELOG方式下運行,可實施線上日誌的歸檔。3:如果一個表在2004-08-04 10:30:00 被drop,在有完善的歸檔和備份的情況下,如何恢復?
  手工拷貝回所有備份的資料檔案
  startup mount;
  sql alter database recover automatic until time '2004-08-04:10:30:00';
  alter database open resetlogs;

  4:rman是什麼,有何特點?
  RMAN(Recovery Manager)是DBA的一個重要工具,用於備份、還原和恢復oracle資料庫, RMAN 可以用來備份和恢復資料庫檔、歸檔日誌、控制檔、系統參數檔,也可以用來執行完全或不完全的資料庫恢復。RMAN有三種不同的用戶介面:
  COMMAND LINE方式、GUI 方式(集成在OEM 中的備份管理器)、API 方式(用於集成到第三方的備份軟體中)。
  具有如下特點:
  1)功能類似物理備份,但比物理備份強大N倍;
  2)可以壓縮空塊;
  3)可以在塊水準上實現增量;
  4)可以把備份的輸出打包成備份集,也可以按固定大小分割備份集;
  5)備份與恢復的過程可以自動管理;
  6)可以使用腳本(存在Recovery catalog 中)
  7)可以做壞塊監測
  5:standby的特點
  備用資料庫(standby database):ORACLE推出的一種高可用性(HIGH AVAILABLE)資料庫方案,
  在主節點與備用節點間通過日誌同步來保證資料的同步,備用節點作為主節點的備份
  可以實現快速切換與災難性恢復,從920開始,還開始支援物理與邏輯備用伺服器。
  9i中的三種資料保護模式分別是:
  1)、MAXIMIZE PROTECTION :最大資料保護與無數據分歧,LGWR將同時傳送到備用節點,
  在主節點事務確認之前,備用節點也必須完全收到日誌資料。如果網路不好,引起LGWR不能傳送資料,將引起嚴重的性能問題,導致主節點DOWN機。
  2)、MAXIMIZE AVAILABILITY :無數據丟失模式,允許資料分歧,允許非同步傳送。
  正常情況下運行在最大保護模式,在主節點與備用節點的網路斷開或連接不正常時,自動切換到最大性能模式,
  主節點的操作還是可以繼續的。在網路不好的情況下有較大的性能影響。
  3)、MAXIMIZE PERFORMANCE:這種模式應當可以說是從8i繼承過來的備用伺服器模式,非同步傳送,
  無數據同步檢查,可能丟失資料,但是能獲得主節點的最大性能。9i在配置DATA GUARD的時候默認就是MAXIMIZE PERFORMANCE
  6:對於一個要求恢復時間比較短的系統(資料庫50G,每天歸檔5G),你如何設計備份策略
  rman/每月一號 level 0 每週末/週三 level 1 其他每天level 2
四:系統管理類
  對於一個存在系統性能的系統,說出你的診斷處理思路
  1 做statspack收集系統相關資訊
  瞭解系統大致情況/確定是否存在參數設置不合適的地方/查看top 5 event/查看top sql等
  2 查v$system_event/v$session_event/v$session_wait
  從v$system_event開始,確定需要什麼資源(db file sequential read)等
  深入研究v$session_event,確定等待事件涉及的會話
  從v$session_wait確定詳細的資源爭用情況(p1-p3的值:file_id/block_id/blocks等)
  3 通過v$sql/v$sqltext/v$sqlarea表確定disk_reads、(buffer_gets/executions)值較大的SQL
  2:列舉幾種診斷IO、CPU、性能狀況的方法
  top/vmstat
  statspack
  sql_trace/tkprof
  查v$system_event/v$session_event/v$session_wait
  查v$sqlarea(disk_reads或buffer_gets/executions較大的SQL)
  3:對statspack有何認識
  StapSpack是Oracle公司提供的一個收集資料庫運行性能指標的套裝軟體,該套裝軟體從8i起,在9i、10g都有顯著的增強 。該套裝軟體的輔助表(存儲相關參數與收集的性能指標的表)由最初的25個增長到43個。收集級別參數由原來的3個(0、5、10)增加到5個(0、5、6、7、10)通過分析收集的性能指標,資料庫管理員可以詳細地瞭解資料庫目前的運行情況,對資料庫實例、等待事件、SQL等進行優化調整。利用statspack收集的snapshot,可以統計製作資料庫的各種性能指標的統計趨勢圖表。
  4:如果系統現在需要在一個很大的表上創建一個索引,你會考慮那些因素,如何做以儘量減小對應用的影響
  在系統比較空閒時;nologging選項(如果有dataguard則不可以使用nologging)大的sort_ared_size或pga_aggregate_target較大
  5:對raid1+0 和raid5有何認識
  RAID 10(或稱RAID 1+0)與RAID 0+1不同,它是用硬碟驅動器先組成RAID 1陣列,然後在RAID 1陣列之間再組成RAID 0陣列。RAID 10模式同RAID 0+1模式一樣具有良好的資料傳輸性能,但卻比RAID 0+1具有更高的可靠性。RAID 10陣列的實際容量為M×n/2,磁片利用率為50%。RAID 10也需要至少4個硬碟驅動器構成,因而價格昂貴。 RAID 10的可靠性同RAID 1一樣,但由於RAID 10硬碟驅動器之間有資料分割,因而資料傳輸性能優良。RAID 5與RAID 3很相似,不同之處在於RAID 5的奇偶校驗資訊也同資料一樣被分割保存到所有的硬碟驅動器,而不是寫入一個指定的硬碟驅動器,從而消除了單個奇偶校驗硬碟驅動器的瓶頸問題。RAID 5磁碟陣列的性能比RAID 3有所提高,但仍然需要至少3塊硬碟驅動器。其實際容量為M×(n-1),磁片利用率為(n-1)/n 。

with admin option 和 with grant option

在賦予user 許可權或者role 時,常常會用到with admin option 和with grant option,
而在使用中,可能會很容易出現混淆的情況,現把他們的相同點和不同點總結如下:
相同點:
- 兩個都可以既可以賦予user 許可權時使用,也可以在賦予role 時用
GRANT CREATE SESSION TO emi WITH ADMIN OPTION;
GRANT CREATE SESSION TO role WITH ADMIN OPTION;
GRANT role1 to role2 WITH ADMIN OPTION;
GRANT select ON customers1 TO bob WITH GRANT OPTION;
GRANT select ON customers1 TO hr_manager(role) WITH GRANT OPTION;

- 兩個受賦予者,都可以把許可權或者role 再賦予other users
- 兩個option 都可以對DBA 和APP ADMIN 管理帶來方便性,但同時,都帶來不安全的因素
不同點:
- with admin option 只能在賦予 system privilege 的時使用
- with grant option 只能在賦予 object privilege 的時使用
- 移除帶有admin option 的system privileges 時,連帶的許可權將保留
例如:
1. DBA 給了CREATE TABLE 系統許可權給JEFF WITH ADMIN OPTION
2. JEFF CREATES TABLE
3. JEFF grants the CREATE TABLE 系統許可權給EMI
4. EMI CREATES A table
5. DBA 撤銷CREATE TABLE 系統許可權從JEFF
結果:
JEFF'S TABLE 依然存在,但不能建立新的TABLE 了
EMI'S TABLE 依然存在,他還保留著CREATE TABLE 系統許可權。
- 移除帶有grant option 的object privileges 時,連帶的許可權也將移除
例如:
1. JEFF 給了SELECT object privileges 在EMP 上 WITH ADMIN OPTION
2. JEFF 給了SELECT 許可權在EMP 上 TO EMI
3. 後來,移除JEFF的SELECT 許可權

Sep 16, 2008

ORA-01036: illegal variable name/number

當使用 controlparamter 時, SQL server 所使用的 為 "@parameter" , 但套用到 Oracle 則會出現 "ORA-01036: illegal variable name/number" 錯誤, 正確使用方法為 ":paramter"
<asp:SqlDataSource ID="SqlDataSource5" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionStringPROD %>"
ProviderName="System.Data.OracleClient"
SelectCommand="select count(*) as count from approve_v where user_name =:paramuser">
<SelectParameters>
<asp:ControlParameter ControlID="Label1" DefaultValue="" Name="paramuser" PropertyName="Text" />
</SelectParameters>
</asp:SqlDataSource>

System.Data.OracleClient 需有 Oracle 用戶端軟體版本 8.1.7 或以上版本

System.Data.OracleClient 需有 Oracle 用戶端軟體版本 8.1.7 或以上版本,
原因: Server 上的 Oracle Client 安裝目錄, 需允許 Server 的 "Network Service" 有 Read 的權限, 才可運作.

Sep 9, 2008

Unable to add Trusted Sites in IE 6

無法新增網站到信任網站,出現 "您指定的網站已存在於另一個區域中 請從該區域移除網站", 從IE 界面查看並無此網站, 查 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range1], 確認有此網站IP.
Workaround:
利用修改與新增Registry key方式,將區域網路與信任網站做處理.

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range2]
"http"=dword:00000002
":Range"="10.10.1.2"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range1]
":Range"="10.10.1.3"
"*"=dword:00000002

------------
刪除登錄機碼和登錄值
如果要以 .reg 檔刪除登錄機碼,請在 .reg 檔中的 RegistryPath 之前加上連字號 (-)。例如,如果要刪除下列登錄機碼中的 Test 子機碼:
HKEY_LOCAL_MACHINE\Software
請在 .reg 檔中的下列登錄機碼前面加上連字號:
HKEY_LOCAL_MACHINE\Software\Test
下列範例包含可以執行這項操作的 .reg 檔。
[-HKEY_LOCAL_MACHINE\Software\Test]
如果要以 .reg 檔刪除登錄值,請在 .reg 檔中的 DataItemName 後面的等號之後加上連字號 (-)。例如,如果要刪除下列登錄機碼中的 TestValue 登錄值:
HKEY_LOCAL_MACHINE\Software\Test
請在 .reg 檔中的 "TestValue"= 後加上連字號。下列範例包含可以執行這項操作的 .reg 檔。
HKEY_LOCAL_MACHINE\Software\Test
"TestValue"=-
如果要建立 .reg 檔,請使用 Regedit.exe 匯出您想要刪除的登錄機碼,然後在「記事本」中編輯 .reg 檔並插入連字號。

Sep 3, 2008

讓Office 文件,如 World,Excel 不在IE 視窗內開啟的方式

讓Office 文件,如 World,Excel 不在IE 視窗內開啟的方式.
如果要使用「資料夾選項」工具,設定 Internet Explorer 在適當的 Office 程式中開啟 Office 檔案:
1.開啟 [我的電腦]。
2.在 [工具] 功能表 (或 [檢視] 功能表) 上,按一下 [資料夾選項] (或按一下 [選項])。
3.按一下 [檔案類型] 索引標籤。
4.在 [註冊的檔案類型] 清單中,按一下特定的 Office 文件類型 (例如 Microsoft Excel 工作表),然後按一下 [進階] (或按一下 [編輯])。
5.在 [編輯檔案類型] 對話方塊中,按一下 [在同一個視窗內瀏覽] 以取消選取其核取方塊 (或按一下 [直接開啟網頁文件] 以取消選取其核取方塊)。
6.按一下 [確定]。

Sep 2, 2008

perl 筆記

字串運算子 (比 ASCII表)
. => "my"."doc" = "mydoc" 字串相加
x => "yes"x2 = "yesyes" 複製字串
eq => "my" eg "MY" = false 字串相等
ne => "my" ne "MY" = true 字串不相等
lt => "abc" lt "bc" = true 逐個字元比對兩字串大小,看是否前ㄧ個比後一個小,not equal 時就停止比較,等於就持續往後比較
gt => "abc" gt "bc" = false 逐個字元比對兩字串大小,看是否前ㄧ個比後一個小
cmp => "abc" cmp "bc" = 表較兩個字串,傳回有三種 , 前大於後為 1, 小於為 -1, 等於時為0

處理字串函數
length(字串值) =>傳回整數,空值傳回0

chomp($num)
//chomp 函數去除$num 變數值的最後換行符號 , 回傳值為被刪除的字元個數
chop($num)
//chomp 函數去除$num 變數值的最後ㄧ個字元 , 回傳值為被刪除的字元
$/ => 指定 chomp 要去除的字元, 預設是 "\n" 換行符號

split(/模式/,字串) => @str=split(/&/,"u=brian&password=good") => $str[0]="u=brian" , $str[1]="password=good"
substr(字串,字串起始位置索引值,字串長度)
改變大小寫=> lc , uc , lcfirst, usfirst
index(原字串,要找尋的子字串,偏移量), 若未找到會回傳-1
pack 與 unpack => pack(指定的格式,需解碼的字元) => pack("u","這是測試") , 編碼為 uuencode 格式.


$name=;
// <> 代表從檔案代碼中讀出資料

my($sec,$min,$day,$mon,$year)=@{[localtime(time)]}[0,1,2,3,4,5];
$year +=1900;
$mon +=1;
print "現在時間 $year/$mon/$day $hour:$min:$sec";
//time 函數傳回 從1900 道現在的秒數, localtime 函數轉換為年用日分時秒.$time[6] 代表 星期幾, $time[7] 代表一年的第幾天

//單引號內無變數內插, 雙引號會有變數內插

//perl 內部變數
$_ => 預設變數($ARG), 凡是程式需要純量資料作為輸出而我們沒有提供資料的地方時,perl就會用 $_ 來代替,如 print 就等於 print $_.
$& => 成供比對的字串
$. => 檔案代碼目前讀的行
$$ => 執行該程式的process id
$0 => 所執行的perl程式的檔名
$# => 輸出數值的格式
$] => perl 編譯器的版本
$^0 => Perl 編譯器所處的作業系統名稱
$ARGV => 目前從<>讀取的檔案名稱
@ARGV => 包含指令行輸入的陣列
@_ => 函數的參數陣列
$|=1; => Autoflush STDOUT


${name}s => 此種表示法可把變數取得後加上s 字元

":" 與 "空白" 皆會切割相鄰變數名稱

my $var2=@var1
// $var2 的值為 @var1 陣列的個數

//陣列的索引值是從 0 開始
$#array=99; => 表定義了一個有100的資料欄位的陣列 @array
$#array=-1 => 表刪除整個陣列並釋回佔用的記憶體

$string=shift;
$logfile=pop;
// shift函數 用來把陣列的第一個元素取出 並指定給 $string
// pop 函數用來把最後一個元素取出, 並指定給 $logfile

//倒裝與And 語法:若 if內的結構只有一行敘述
print "這是測試" if($input > 30);

($input > 30) and print "這是測試" ;

// for 與 foreach
@array=(this,is,a,book);
for $item(@array){
print $item,"\n"
}

@array=(this,is,a,book);
foreach $item(@array){
print $item,"\n"
}


常規表示式
=~ => 運算子用於指定要處理的字串純量變數,可和 m// , s// , 與 tr// 搭配使用, 成功傳回 true , != 則與=~ 傳回相反的判斷
m// => 比對函數, m 可以省略, / 可以用任何的符號來取代如 m!!
s// => 搜索字串並取代
$string = "Yes it is"
if($string=~m/YES/){
print "Find yes";
}
else
{
print "No yes";
}

[] => 可用來表示比對其中的任何一個字

Aug 19, 2008

Ajax 執行程式出現網頁錯誤: 'Sys'未被定義

新網站使用 ASP.NET網站範本建立新網站,
使用 Ajax Extensions 元件後,執行程式出現網頁錯誤: 'Sys'未被定義.
原因為: web.config 未有所需的 tag , 範本內的Ajax Controlkit Web Site或是ASP .NET AJAX-Enabled Web Site建立新網站方式可以自動加入所需的tag.若非使用此二範本,則須手動在之間加入如下tag.









Aug 18, 2008

無法執行 aspx , HTTP 錯誤 404 - 找不到檔案或目錄

1. 新裝 2003 Server, 無法於其上執行 .aspx 檔案 , 瀏覽 .aspx 檔案時出現 "HTTP 錯誤 404 - 找不到檔案或目錄", 原因為: 檢查在網頁服務延伸中,是否啟動了ASP.Net服務,預設是禁止的.
2. 在IIS6.0中, 系統預設上傳的檔案大小不得超過200KB,可在C:\Windows\system32\inetsrv\MetaBase.xml中,修改AspMaxRequestEntityAllowed="204800"即可
3. 無法下載.exe文件,如不是上述的原因,請在IIS中檢查: 執行權限是否是選擇了"指令碼和執行檔",應為"僅指令碼"才對.

Aug 15, 2008

Emule server.met

Emule server.met

http://ed2k.2x4u.de/index.html

Aug 14, 2008

Cannot select data from Oracle ERP database??

Trying select data from Oracle ERP database view, but no data return ??
Oracle client regedit At "HK Local Machine " -> Software -> Oracle -> "Oraclehome"-> NLS_LANG must "ENG" , Ex. "AMERICAN_AMERICA.ZHT16BIG5"

Aug 13, 2008

Windows 2003 memory.dmp

Windows 2003 產生 Crash dump 檔案 , 如何分析 ?
1. Download Windows symbol files from http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx
2. Download Debug tools from http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx

Aug 12, 2008

ftp Illegal PORT command

ftp> LS
500 Illegal PORT command
425 Unable to build data connection: Connection refused
ftp>

FTP(File Transfer Protocol檔傳輸協定)服務是基於TCP協定的一種服務,用於電腦之間相互傳送檔,用戶通過它能夠獲取Internet中的資源。FTP提供 了登錄、目錄查詢、檔操作及其他會話控制功能。上傳或下載網站文件時也會用到它。
PORT模式:PORT模式建立的資料連結通道是由FTP伺服器端發起,FTP伺服器使用20埠連接用戶端的某一個大於1024的埠。
PASV模式:PASV模式的資料傳輸鏈路的建立是由FTP用戶端發起的,它使用一個大於1024的埠連接伺服器上1024以上的某一個埠。
用戶在登錄FTP的過程中,伺服器應該使用21埠(也可使用20埠和一些不固定的大於1024的埠),用戶端應該使用大於1024的埠。由於網路防火牆對埠的嚴格控制和複雜的網路環境,所以很容易就出現用戶無法登錄FTP伺服器的問題。
為了能成功登錄FTP伺服器,用戶端必須正確設置使用PASV或PORT模式登錄。
1.使用內部 Private IP位址
當用戶端使用PORT登錄方式時,FTP伺服器將無法連接用戶端建立資料連結。因為用戶端沒有公網IP位址,這種情況下,用戶端必須使用PASV登錄方式。這就是很多內網用戶不能登錄FTP伺服器的一個重要原因。
2.使用Public IP位址
當用戶端使用PASV登錄方式時,用戶端向伺服器發送連接請求,建立資料連結通道,這時可以順利登錄FTP伺服器。如果這時使用PORT登錄方式,在建立資料連結通道時,由伺服器向用戶端發送連接請求,此時連接請求會被防火牆攔截,除非開放大於1024的高端埠。

Ex.
IE -> 工具 -> 網際網路選項 ->進階 -> 瀏覽 -> 使用被動式FTP
Windows DOS doesn't support PASV mode.

Aug 4, 2008

Oracle 10gR2 with Ultra serach option

Environment:
1. 10gR2 software installed.
2. Patch p6810189_10204_Win32 applied.
3. Database created.
4. 10201_companion_win32 installed.
Using DBCA to add database option "Ultra Search" , but failed with "ORA-06575: 套裝程式或函數 WK$IS_ADMIN 處於無效的狀態".When try to recompile WKSYS.WK$USER function , the error message "PLS-00920: parameter plsql_native_library_dir is not set" return.

Cause:
Database parameter :
plsql_code_type = NATIVE
plsql_compiler_flags = NATIVE, NON_DEBUG

Solution:
Must changing the database parameter as:
plsql_code_type = INTERPRETED
plsql_compiler_flags = INTERPRETED, NON_DEBUG

Jul 31, 2008

床的擺置有哪些禁忌

風水 - 床的擺置有哪些禁忌?
1. 床的上方不可有壓力:除了床的上方之外,還要注意是不是有來自床頭牆壁上的壓力。靠床頭上方的牆壁上,絕對不要掛照片.
2. 床頭不可無靠:床頭板一定要與牆壁齊平。床關係著睡床主人的婚姻與感情,一定要放得四平八穩才好。
3. 床的位置不可對門:無論床的那一邊 ( 床頭,床側,或者床腳 ),都不可以正對著門
4. 床下不可放雜物:睡床下面要'空',讓氣能順暢通行。如果堆放了雜物,不但會產生'滯氣',造成生活上的困難波折.
5. 避免把床放在窗下
6. 避免讓床頭與門同在一側
7. 避免隔牆與馬桶相鄰
8. 床頭不能朝西方:頭向西方而睡,長期的使血液往頭上衝,對健康來說,實在不是一件適宜的事情。
9. 床不貼地面:床底下最好保持通風,濕氣才不會影響到上面來,濕氣久了,會使木頭腐爛,也會損害到人的健康。
10. 床不衝門:床最大的作用是休息,若沖著門,只要門一開關,就會影響人睡在床上的安寧,便失去了休息的作用,同時,若是我們從臥房的門外面一眼就可以看到床上的情況,對於睡在床上的人來說,是毫無轉圜的餘地,安全上也十分沒有保障。
11. 床不能背著門:所謂床背著門就是睡床頭上,背對進入臥室的門,對於門外進來的人,要是有人開門,我們必須要扭轉著脖子,或是轉身我們才能看清楚
12. 床不適合放在光線太強的地方:根據中醫的說法,人的五官都代表一個地方,例眼睛代表的就是肝,陽光太強,對眼睛造成刺激,相對的就會傷肝。可在家裡裝上窗簾。
13. 床不可以對著樑:床的位置最好上面,不管是直的橫的,都不可以有樑壓住,不僅是床,在風水上有樑的話,剛好從我們的床上經過的話,這樣都是不吉的。如果沒有辦法,我們就把那個地方用天花板釘起來,把它遮蔽起來。
14. 床的高度不要超過22吋高:風水的觀念認為床的高度超過標準,就會招致災禍。從實用的方便性來看,床的高度太高,上床及下床都十分不方便,而且要多花力氣,尤其坐在床邊的時候,我們可能要惦著,或是雙腳要懸空,非常的不舒服。從安全上來看,如果床的高度太高,從床上跌下來,那很容易受傷的,尤其上下舖,除非是不得已,否則是不建議的。
15. 床不能面對鏡子:鏡子會反射到其他的人與事,使睡在床上的人十分不寧,有時看到自己,半夜看到自己會受到驚嚇的。
16. 臥室不宜放置植物
17. 不宜有水:不但會泡壞健康,澆熄愛火,還要讓睡房的主人大破其財

Jul 30, 2008

冷氣容量



2500Kcal 約為10000BTU算一噸。
一坪約為6尺見方(約180公分*180公分)。
客廳:一坪冷房能力約550Kcal或2200BTU。
房間:一坪冷房能力約400Kcal或1600BTU。
西晒:嚴重西晒約一坪再加150Kcal或600BTU。(太陽斜射四小時)
稍微西晒約一坪再加100Kcal或400BTU。(太陽斜射二小時)
頂樓:頂樓一坪冷房能力約650Kcal或2600BTU
鐵皮屋:一坪冷房能力約1000~1200Kcal或4000~4800BTU。
挑高: 4米6一坪冷房能力約550Kcal*1.5倍=825Kcal或3300BTU。
熱源:小空間多人情形,(如會議室) 1人加100Kcal。
EER值: Energy Efficiency Rztio 能源效率比值
COP值: Coefficient Of Performance 性能系數
消秏功率的標示單位kw千瓦、或w瓦, kw=1000w 跑一小時=瓩=度
而冷氣能力的標示單位有kcal/h或kw,1kw=860kcal/h
EER值 = 冷氣能力~~單位kcal或kw/消秏功率~~單位kw
當冷氣能力的標示單位為kw時,COP=EER,
當冷氣能力的標示單位為kcal時,COP=EER*1.163

Jul 18, 2008

oracle 10gR2 connect role

Oracle 10gR2 版本的 Connect role , 除了"Create Session", 其於已不包含於 Connect role 中, 需另外grant 權限. 如原有的 Alter Session Create Cluster Create Synonym Create Database Link Create Table Create Sequence Create View

Jul 16, 2008

MOSS 2007 template

從 Microsoft 網站下載, 先安裝 templateCore , 再下載安裝範本
1. templateCore
stsadm -o addsolution -filename c:\temp\ApplicationTemplateCore.wsp
stsadm -o deploysolution -name c:\temp\ApplicationTemplateCore.wsp -allowgacdeployment -immeiate -force
stsadm -o copyappbincontent

# -force 表覆蓋

2. 範本就執行下列兩項即可
stsadm -o addsolution -filename c:\temp\RoomEquipmentReservations.wsp
stsadm -o deploysolution -name c:\temp\RoomEquipmentReservations.wsp -allowgacdeployment -immeiate -force

3. 使用方式是於建立新網站時, 於選取範本處,可挑選新增的範本來使用.

Jul 14, 2008

超級星光大道 徐佳瑩 PK 洪子涵

java & Excel

0. 下載 jxl
http://www.andykhan.com/jexcelapi/download.html
1. exl.java

package num;
import java.io.*;
import jxl.*;
import jxl.write.*;
import jxl.format.*;
import java.util.*;
import java.awt.Color;
import java.sql.*;
public class exl{
public static void writeExcel(OutputStream os) throws Exception {
Connection cn = null;
Statement stmt = null;
Connection cn1 = null;
Statement stmt1 = null;
ResultSet rs= null;
ResultSet rsemp= null;
int totalRecord = 0;
int rowCount = 0;
Class.forName("oracle.jdbc.driver.OracleDriver");
cn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.1:1521:REP","a","pwd");
stmt = cn.createStatement();
...
rs = stmt.executeQuery(strqSql);
rs.next();
totalRecord=(new Integer(rs.getString("total_dept"))).intValue(); // 轉為數字
rs = null;
...
rs = stmt.executeQuery(strqSql);
rs.next();
totalRecord=totalRecord + (new Integer(rs.getString("total_emp"))).intValue();

rowCount=totalRecord/5;

jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os); //建立Excel
jxl.write.WritableSheet ws = wwb.createSheet("資料表",0); //建立 Sheet
GregorianCalendar gc = new GregorianCalendar(); // 建立日期
jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL,20, WritableFont.BOLD, false,UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK);
// 設定字型與格式
jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
wcfFC.setAlignment(jxl.format.Alignment.CENTRE); //設定欄位資料置中
wcfFC.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN); //設定欄位邊框格式
// wcfFC.setVerticalAlignment(CENTRE);
jxl.write.Label labelC = new jxl.write.Label(0, 0, "天天 :" + (gc.get(GregorianCalendar.MONTH)+1) + " 明細表",wcfFC);
//設定第幾個欄位與資料內容
ws.mergeCells(0, 0, 4, 0); //合併儲存格
ws.addCell(labelC);
...
rs = stmt.executeQuery(strqSql);
int i=0;
int j=1;
while(rs.next())
{
wfc = new jxl.write.WritableFont(WritableFont.ARIAL,14, WritableFont.BOLD, false,UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK);
wcfFC = new jxl.write.WritableCellFormat(wfc);
wcfFC.setBackground(jxl.format.Colour.YELLOW);
wcfFC.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);
labelC = new jxl.write.Label(i, j, rs.getString("CODE") + " " + rs.getString("DEPT"),wcfFC);
ws.setColumnView(i,32); //設定欄寬
ws.addCell(labelC);
j=j+1;
if(j%rowCount==0)
{
i=i+1;
j=1;
}
...
rsemp = stmt1.executeQuery(strqSql);
while(rsemp.next())
{
String Ename=rsemp.getString("ENAME");
if (Ename.indexOf("_") != -1) // 若英文名含有 "_"
Ename=Ename.substring(0,Ename.indexOf("_")); //取出 "_" 前的英文字
wfc = new jxl.write.WritableFont(WritableFont.ARIAL,14, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK);
wcfFC = new jxl.write.WritableCellFormat(wfc);
if (!rsemp.getString("manager").equals("N") && !rsemp.getString("manager").equals("J")) // 某條件以上,將背景設定為粉紅色
wcfFC.setBackground(jxl.format.Colour.PINK); // 設定欄位背景顏色
wcfFC.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);
labelC = new jxl.write.Label(i, j, rsemp.getString("EXT") + " " + rsemp.getString("CNAME") + " " +Ename,wcfFC);
ws.setRowView(j,385,false); // 設定列高
ws.addCell(labelC);
j=j+1;
if(j%rowCount==0)
{
i=i+1;
j=1;
}
}
}
SheetSettings settings = ws.getSettings();
settings.setFitHeight(1); // 設定預覽列印與列印成為一頁, 寬度
settings.setFitWidth(1); // 設定預覽列印與列印成為一頁, 高度
settings.setFitToPages(true);

//寫入Exel工作表
wwb.write();
//關閉Excel工作薄對像
wwb.close();
cn=null;
cn1=null;
}


//寫一個這樣的main方法測試一下。
public static void main(String[] args)throws Exception{
File f=new File("kk.xls");
f.createNewFile();
writeExcel(new FileOutputStream(f));
}
}



2 . 在 JSP 中
response.reset();
response.setContentType("application/vnd.ms-excel");
ExpTelExl.writeExcel(response.getOutputStream());
即可下載或打開 Excel.

Jul 10, 2008

UPS 不斷電系統

不斷電系統(Uninterruptible Power Supply),取其簡稱為UPS
VA ( 伏安 )=V( 伏特 )*A( 安培 )=W ( 瓦特 )*1.4
目前市售的不斷電系統, 多以 VA 數表示容量單位. V=Voltage, A=Anpre, VA即為不斷電系統的容量單位. 舉例來說, 一部 500VA 的不斷電系統若其輸出電壓為 110V, 則其產品可供應之最大電流為 4.55A, 超過此電流就表示超載(Overload). 另一種表示功率的方法是 Watt, Watt 為實功(實際消耗功率), VA為虛功. 兩者之間的關係: VA x pF(功率因數) = Watt. 功率因數多寡並無標準, 一般為 0.6 ~ 0.8 間, 若為 0.5 者, 代表產品設計不良, 在選購不斷電系統時, 一定得參考 pF 值. pF 值愈大者, 代表電源利用率愈高, 可以替消費者節省更多電費.
計算 UPS 應考慮之散熱量?
一、計算公式
1-1. BTU/ 小時 = KCal×3.96
1-2. KCal = KVA×860
1-3. BUT/ 小時 = KVA(UPS 容量 )×860×3.96×(1-UPS 效率 )
= KVA(UPS 容量 )×3400(1-UPS 效率 )
二、例: 10KVA UPS 一台整機效率 85%, 其散熱量計算如下:
10KVA×3400×(1-0.85)=5100 BTU/ 小時

Jul 2, 2008

Perl的特性:以C語言開發而成的描述語言(Script),具跨平台的特性,融合了C、sed、awk和sh最好的特色。
檔案第一行加入#!/usr/bin/perl
因perl可不需宣告變數,故要強迫宣告use strict;然後以my();將變數置於其中


檔案第一行加入#!/usr/bin/perl
因perl可不需宣告變數,故要強迫宣告use strict;然後以my();將變數置於其中

Jun 30, 2008

cygwin 上使用 Mysql

如果你是shell指令愛好者,非常喜歡用shell下指令玩Rails的話,除了Mac, Linux之外,最好的選擇就是在Win32平台上安裝Cygwin

安裝Cygwin有什麼好處呢?這可以讓你在Win32底下使用一些常見的Linux工具程式,例如: joe, nano, vim, emacs, mc, gcc, make等,其他像top, ls, man, ps, mv等常見的指令也都相容。

Windows/CygWin
If you are a user of Cygwin (the Redhat distribution) you already know, it contains a nicely running perl 5.6.1, installation of additional modules usually works as a charm via the standard procedure of
- perl makefile.PL
- make
- make test
- make install
The Windows binary distribution of MySQL runs smoothly under Cygwin. You can start/stop the server and use all Windows clients without problem. But to install DBD::mysql you have to take a little special action.
Don't attempt to build DBD::mysql against either the MySQL Windows or Linux/Unix BINARY distributions: neither will work!
You MUST compile the MySQL clients yourself under Cygwin, to get a 'libmysqlclient.a' compiled under Cygwin. Really! You'll only need that library and the header files, you don't need any other client parts. Continue to use the Windows binaries. And don't attempt (currently) to build the MySQL Server part, it is unnecessary, as MySQL AB does an excellent job to deliver optimized binaries for the mainstream operating systems, and it is told, that the server compiled under Cygwin is unstable.
Install MySQL (if you havn't already)
- download the MySQL Windows Binaries from http://www.mysql.com/downloads/index.html
- unzip mysql--win.zip into some temporary location
- start the setup.exe there and follow the instructions
- start the server
- alternatively download, install and start the server on a remote server, on what supported OS ever Build MySQL clients under Cygwin:
- download the MySQL LINUX source from http://www.mysql.com/downloads/index.html
- unpack mysql-XX.tar.gz into some tmp location
- cd into the unpacked dir mysql-
./configure --prefix=/usr/local/mysql --enable-server
#./configure --prefix=/usr/local/mysql --without-server
This prepares the Makefile with the installed Cygwin features. It takes some time, but should finish without error. The 'prefix', as given, installs the whole Cygwin/MySQL thingy into a location not normally in your PATH, so that you continue to use already installed Windows binaries. The --without-server parameter tells configure to only build the clients.
- make :This builds all MySQL client parts ... be patient. It should finish finally without any error.
- make install :This installs the compiled client files under /usr/local/mysql/. Remember, you don't need anything except the library under /usr/local/mysql/lib and the headers under /usr/local/mysql/include! Essentially you are now done with this part. If you want, you may try your compiled binaries shortly; for that, do:
- cd /usr/local/mysql/bin
mysql.exe -h 127.0.0.1 -u root -p

The host (-h) parameter 127.0.0.1 targets the local host, but forces the mysql client to use a TCP/IP connection. The default would be a pipe/socket connection (even if you say '-h localhost') and this doesn't work between Cygwin and Windows (as far as I know).
If you have your MySQL server running on some other box, then please substitute '127.0.0.1' with the name or IP-number of that box.
At the 'mysql>' prompt do a quick check:
mysql> use mysql
mysql> show tables;
mysql> select * from db;
mysql> exit
You are now ready to build DBD::mysql!
Build DBD::mysql:
- download DBD-mysql-X.tar.gz from CPAN
- unpack DBD-mysql-X.tar.gz
- cd into unpacked dir DBD-mysql- you probably did that already, if you are reading this!
- cp /usr/local/mysql/bin/mysql_config .
This copies the executable script mentioned in the DBD::mysql docs from your just built Cywin/MySQL client directory; it knows about your Cygwin installation, especially about the right libraries to link with.
- perl Makefile.PL --testhost=127.0.0.1 --testuser=root --testpassword=xxxx
The --testhost=127.0.0.1 parameter again forces a TCP/IP connection to the MySQL server on the local host instead of a pipe/socket connection for the 'make test' phase.
- make :This should run without error
- make test :with DBD-mysql-2.1022 or earlier you will see several errors in dbdadmin.t, mysql.t and mysql2.t; with later versions you should not get errors (except possibly one, indicating, that some tables could not be dropped. I'm hunting for a solution to that problem, but have none yet).
- make install :This installs DBD::mysql into the Perl hierarchy.
Notes:
This was tested with MySQL version 3.23.54a and DBD::mysql version 2.1022. I patched the above mentioned test scripts and sent the patches to the author of DBD::mysql Jochen Wiedman.


--- If you try to install MySQL with wrong version(Must be source) , you will get return message like this.
./bin/my_print_defaults: ./bin/my_print_defaults: cannot execute binary file
Neither host 'brian_chang' nor 'localhost' could be looked up with
./bin/resolveip
Please configure the 'hostname' command to return a correct
hostname.
If you want to solve this at a later stage, restart this script
with the --force option

Perl 連接 MySQL

連接MySQL

Perl 要搭配資料庫,必須安裝以下模組:

1. DBI : Perl 的 DataBase Interface 的簡稱,

請至

ftp2.tnc.edu.tw/pub/unix/perl/CPAN/modules/by-module/DBI

抓取:DBI-1.37.tar.gz

tar xvzf DBI-1.37.tar.gz

cd DBI-1.37

perl Makefile.PL
make
make test
make install

2. Data-ShowTable

請至

ftp2.tnc.edu.tw/pub/unix/perl/CPAN/modules/by-module/Data

抓取:Data-ShowTable-3.3.tar.gz

安裝方法同 DBI。

3. DBD::資料庫driver

因為我想和 MySQL 搭配,所以必須安裝 DBD::mysql 的驅動程式

請至

ftp2.tnc.edu.tw/pub/unix/perl/CPAN/modules/by-module/DBD

抓取:Msql-Mysql-modules-1.2219.tar.gz 或 DBD-mysql*.tar.gz

安裝方法同 DBI。

至此,Perl 即可和 MySQL 一起運作了! 注意:通常,若您使用的是套件版的 Perl/MySQL,通常系統中已有相關的 DBI/DBD 了,比如:perl-DBI-1.32*.rpm (即 DBI)/ perl-Mysql-1.22_19*.rpm(即 DBD::mysql),因此,您不一定要安裝上面這些 tarbll 模組。

#! /usr/bin/perl

use DBI;
use strict;

my $db="test";
my $host='localhost';
my $user='root';
my $password='ppp123';

my $dbh = DBI->connect("DBI:mysql:database=$db;host=$host",
$user, $password, {RaiseError => 1});

open(FHD, "stu.csv") or die;
while (my $line=) {
chomp($line);
my ($f1, $f2, $f3, $f4, $f5)=split(/\,/,$line);
if ($f1) {
my $q=qq[ INSERT INTO stu_table VALUES ("$f1", "$f2", "$f3", "$f4", "$f5") ];
my $sth=$dbh->prepare($q);
unless($sth->execute) {die "$!\n";}
}
}
close(FHD);

實例:

我在 test 這個資料庫中開了一個 table 叫 aaa,其結構如下:

CREATE TABLE `aaa` (
`no` varchar(10) NOT NULL default '',
`name` varchar(12) NOT NULL default ''
)

其中 no 代表身份證字號,name 代表姓名。

我準備用它來儲存 studdemo.csv 中的學生身份證及姓名!

程式如下:

#! /usr/bin/perl

use DBI;
use strict;

my $db="test";
my $host='localhost';
my $user='root';
my $password='1234';

my $dbh = DBI->connect("DBI:mysql:database=$db;host=$host",
$user, $password, {RaiseError => 1});

open(FHD, "stu.csv") or die;
while (my $line=) {
chomp($line);
my ($f1, $name, $f3, $f4, $f5, $f6, $f7, $pslno, $f9)=split(/\,/,$line);
if ($f1) {
my $q=qq[ INSERT INTO aaa VALUES ("$pslno", "$name") ];
my $sth=$dbh->prepare($q);
unless($sth->execute) {die "$!\n";}
}
}
close(FHD);


From http://linux.tnc.edu.tw/techdoc/perl_intro/c1239.html