2011年3月24日 星期四

Oracle 安裝於Win7 X64注意事項

Win7 X64安裝的Oracle Client的版本,建議為Oracle Database 10g Release 2 (10.2.0.4.0)
檔案名稱為10203_vista_w2k8_x86_production_client.iso

由於Windows 7的版號是6.1,換句話說,setup.exe只支援到Vista(6.0),這問題也許可以靠相相容模式來克服。
將ISO檔掛載於虛擬光碟機後,將Setup.exe相容性的部分調整為,調成Windows Vista (SP2),如下圖:


setup.exe就可以順利完成安裝,sqlplus也運作正常。

2011年3月23日 星期三

[VPC] 變更 Mac Address

為了方便自己作業,必須更改VPC的Mac Address。
1確定VPC並未啟動OS。
2用Notepad或是Wordpad打開 Virtual Machine Setting File(.VMC)。
3利用搜尋功能(Ctrl + F),尋找"ethernet_card_address"。
4把 XXXXXXXXXXX 改為 ;XXXXXXXXXXX改為空值。
5儲存VMC 檔案,再去開啟OS,Mac Address就會改變。

2011年3月22日 星期二

找回windows 7的快速啟動

Windows好用的快速啟動功能不見了
接著在上面貼上

%appdata%\Microsoft\Internet Explorer\Quick Launch

然後按選擇資料夾之後快速啟動列就會再次出現了

解除鎖定工具列調整一下位置

最後

取消顯示文字與顯示標題

這樣就跟XP的快速啟動長的一樣了

如何製作 USB 開機的 Noname XPE

NoName XPE是由 NoName Information Team 維護的windows 光碟開機系統
用來維護電腦的最佳利器
內含 多種電腦的救命工具
如果能製作成 USB 開機碟,可以說是超方便的
以下就是製作的過程

2GB容量以下的隨身碟請先下載usb2fat16.GHO這個映像檔
usb2fat16.rar

(1002.58 KB) 被下載 2434 次

一.把隨身碟先插入電腦裡...開啟WINDOWS版本的GHOST32(請自行找尋下載)
選擇 "LOCAL"----> "DISK"----> "FROM"---> "IMAGE"
二.來源...選擇你下載好的USB.GHO....假設你存在C槽根目錄底下....(請先把usb2fat16.RAR解壓縮成usb2fat16.GHO)
三.目標...選擇你的USB隨身碟(圖裡面1959那個是我的2GB的USB隨身碟!!!)
四.選 " OK"
五.選 " YES "
六.開始還原(USB2.0的隨身碟大概不到3秒就還原好了)USB1.0的就不要拿來用了...就算你做好...開機會超慢的...
還原好後選擇 " 繼續 "...不要重開機
七.這時候請把你的隨身碟直接拔掉...等個5秒鐘....再插進電腦一次....

檢查隨身碟裡面的檔案....是否有下面圖片裡面的14個檔案...
八.最後再把你下載的光碟版XPE內的OUTTOOL資料夾和RXPE.IM_放入你的隨身碟內即可


2GB容量以上的隨身碟請先下載usb2fat32.GHO這個映像檔
usb2fat32.rar
(930.85 KB) 被下載 3123 次


製作步驟如同2GB容量以下的一到六步驟

七.這時候請把你的隨身碟直接拔掉...等個5秒鐘....再插進電腦一次....

檢查隨身碟裡面的檔案....是否有下面圖片裡面的11個檔案...

2011年2月21日 星期一

ORACLE 10G 的記憶體

如果你的ORACLE 版本是32位的,如果不做一些配置你是無論如何使用不到1.7G以上內存的。
前兩天公司裡一個軟件系統,需要配置這樣的環境,對於我這樣的ORACLE所謂的高手,有點不知所措,甚至要硬著頭皮去搞定它,
這可是到新公司接到的第一件活。 必須搞定,否則ORACLE DBA就圖有虛名了。 於是馬上上網搜一下,文章果然,但是大都雷同,
而且針對的是ORACLE9I 的。 我在實驗的時候,也把客戶的環境搞雜了,實在慚愧呀。 不過經過一天多的折騰,也算是搞出來了。
軟件環境:
Oracle 10.2.0.1
OS:Windows 2003 Server SP2 32bit
硬件環境:
內存:4G
CPU:Intel Core(TM)2 6300 1.86Ghz
這個環境很重要,特別是ORACLE的版本,跟ORACLE9i的配置肯定是不一樣的。
1) 操作系統配置AWE,主要是修改boot.ini文件
右擊"我的電腦",選擇"屬性"-->高級選項卡,找到“啟動與故障恢復”,單擊“設置”,然後單擊“編輯”,加/PAE選項,修改後的文件如下:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /pae /3GB
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn
2) 配置oracle可以使用的內存,修改註冊表。
找到ORACLE的註冊表項HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1,再你的機器上KEY_OraDb10g_home1不是這個名稱,
添加一個字符串值項:AWE_WINDOW_MEMORY ,這個值是你準備分配給數據庫用的最大內存數(以BYTE為單位),例如你想分配4G,那這個值就是
4*1024*1024*1024


Windows 命令行
Sqlplus "/ as sysdba" REM (如果登陸不進去將當前用戶加入到ora_dba組中)
SQLPLUS>CREATE PFILE='初始化參數文件的路徑' from spfile
SQLPLUS>Shutdown immediate
SQLPLUS>exit
4) 編輯ORACLE初始化參數文件
請用Ulatra editor(當然其他的也可以,但是千萬不要用記事本) 打開在第三步生成的初始化參數文件(最好能備份一下,以便出現差錯的時候還可以使用最初的文件啟動)
第一註銷掉以下行:
sga_max_size
sga_target
DB_CACHE_SIZE
修改或者添加以下參數
*.db_block_buffers=262144 #等於原來的DB_CACHE_SIZE/db_block_size, 例如你希望DB_CACHE_SIZE的大小是2G,則此值是2*1024*1024K/8K= 262144
*.SHARED_POOL_SIZE=419430400 #是以byte為單位的400M(這個參數設置過大會報錯的,因為ORACLE AWE的配置不是針對他的)
*.log_buffer=73400320 #是以byte為單位的70M(這個參數設置過大會報錯的,因為ORACLE AWE的配置不是針對他的)
*.use_indirect_data_buffers=true # 這個參數的含義是我們是通過設置db_block_buffers來計算得到DB_CACHE_SIZE
下列設定,將記憶體空間鎖定在實體記憶體,不會去使用虛擬記憶體
*.pre_page_sga=TRUE
*.lock_sga=TRUE


5) 啟動ORACLE,並重新創建spfile。
Windows 命令行下運行:
Sqlplus "/ as sysdba"
SQLPLUS>Startup pfile='第四步修改後的初始化參數文件的路徑'
SQLPLUS>Create Spfile from pfile='第四步修改後的初始化參數文件的路徑' #你會發現在你的ORACLE HOME/Database目錄下新生成了一個文件SPFILEOracleSID.ORA
SQLPLUS>Shutdown immediate
6) 將第三步生成的文件ORACLE HOME/Database/SPFILEOracleSID.ORA 複製到ORACLE HOME/dbs下
前面兩步的目的是恢復缺省的以spfile參數文件方式啟動數據庫,否則你的設置都將無效
7) 重新啟動Oracle
Windows 命令行
Sqlplus "/ as sysdba"
SQLPLUS>Startup

Oracle 9.2.0.x的AWE_WINDOW_MEMORY的最小值由以下的公式計算:
MIN(AWE_WINDOW_MEMORY)=(4096 * DB_BLOCK_SIZE * _DB_BLOCK_LRU_LATCHES)/8
_DB_BLOCK_LRU_LATCHES = (Max buffer pools * SETS_PER_POOL)
Max Buffer Pools是個常量(等於8),SETS_PER_POOL是個變量,它的大小是由是否啟用VLM(即設定USE_INDIRECT_DATA_BUFFERS=TRUE參數)決定:
SETS_PER_POOL = 2* CPU_COUNT (啟用VLM)
SETS_PER_POOL= CPU Count /2 (不啟用VLM)
例如:
CPU's = 2
DB_BLOCK_SIZE = 8192
Total RAM = 8 GB
SETS_PER_POOL = 2 * CPU_COUNT = 4
_DB_BLOCK_LRU_LATCHES = (max buffer Pools * sets_per_pool) = 8*4 = 32
MIN(AWE_WINDOW_MEMORY)=(4096*DB_BLOCK_SIZE*_DB_BLOCK_LRU_LATCHES)/8 =( 4096 * 8192 * 32) / 8 = 134217728 bytes = 128 MB
這樣在Windows的註冊表中的HKLMSoftwareOracleHomex下的AWE_WINDOW_MEMORY值至少是128M,否則就會提示ORA-27102(out of memory)錯誤。


參考網址:http://blog.csdn.net/george188/archive/2009/10/19/4699231.aspx

2011年2月20日 星期日

Html相對位置

C:\AppServ\www\azole\index.php
C:\AppServ\www\azole\images\test.jpg
C:\AppServ\www\azole\auto\auto.php

對index.php來說,我要引用那個圖片跟link到auto.php,要寫
或是
.\ 是指自己這個檔案夾,所以他的意思是說到自己這個檔案夾裡的images這個檔案夾去抓test.jpg
auto

如果是auto.php要引用,就要這樣寫

..\是上一層的意思,去我的上一層(就到了C:\AppServ\www\azole\)去找images這個檔案夾,在去裡面抓test.jpg這張圖。

大概就是這樣囉,記得是相對於自己的位置就好囉。

Oracle Client中文字碼讀出時變成亂碼的狀況

Oracle Client 的 ODBC連線設定Oracle的連線設定不對,常常會造成中文字碼讀出時變成亂碼的狀況,以下是Client的相關設定流程和步驟 :

(1)安裝Oracle Client
(2)檢查Oracle profile的連線時間設定(注意Time Out會影響連線穩定度)
(3)檢查Oracle帳號權限是否可讀取全部之Owner/Table,且有變更之權限
(4)設定Client端之ODBC連線
(5)檢查ODBC連線之編碼設定是否與Oracle編碼相同
Register 位置
/HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0/NLS_LANG
Value = “TRADITIONAL CHINESE_TAIWAN.ZHT16DBT”
Value = “TRADITIONAL CHINESE_TAIWAN.UTF8”
Value = American.America.US7ASCII

(6)檢查Client端電腦之環境變數
【開始】->【我的電腦】按右鍵->【內容】->【進階】->【環境變數】->【新增】
新增變數名稱 NLS_LANG,變數值設定如下:
Big5設定為 TRADITIONAL CHINESE_TAIWAN.ZHT16DBT
UTF8設定為 TRADITIONAL CHINESE_TAIWAN.UTF8

(7)設定Client端電腦之Oracle tnsnames.ora
開啟C:\Oracle\Ora81\network\ADMIN\tnsnames.ora

(8)以Oracle ODBC test測試Client端之ODBC連線是否正常
(9)Client電腦重新開機(建議)