MS SQL Server 2008 R2 在 Windows Server 2008 R2 SP1 上運行一段時日,近來常發現 MS SQL Server 2008 R2 常因 MSSQLSERVER_701:資源集區 'internal' 中的系統記憶體不足,無法執行此查詢 而自動停止 SQLSERVERAGENT 服務,導致 MSSQL Server 自動停止 。

MSDB_Error_701.png

 

Google 一下有人回應:

使用 SQL Server 組態管理員調整 SQL Server 啟動的參數,於原本的參數之後,再加入如下的參數:

;-g384

調整完畢,要重新啟動 SQL Server 服務。參考:http://technet.microsoft.com/zh-tw/library/ms190737.aspx 說明

 MSDB_initParameter.png  

在啟動參數最後加入 ;-g384 ,再觀察看看。

另外,當您執行 Database Engine 的多個執行個體於同一台主機時,可以使用 max server memory 來控制每個 MSSQL SERVER 的最大記憶體使用量

MSDB_Attribute.png  

操作的步驟如下:

1. 在 [物件總管] 中,以滑鼠右鍵按一下伺服器,然後選取 [屬性]。
2. 按一下 [記憶體] 節點。
3. 在 [伺服器記憶體選項] 底下,輸入 [最小伺服器記憶體] 和 [最大伺服器記憶體] 所要的數量。使用預設值可允許 SQL Server 根據可用的系統資源來動態變更它的記憶體需求。 [最小伺服器記憶體] 的預設值是 0,[最大伺服器記憶體] 的預設值是 2147483647 MB。

建議實體記憶體與配置給 MSSQL Server 的記憶體大小如下:

Physical RAM         MaxServerMem Setting
2GB                            1,500
4GB                            3,200
6GB                            4,800
8GB                            6,400
12GB                          10,000
16GB                          13,500
24GB                          21,500
32GB                          29,000
48GB                          44,000
64GB                          60,000
72GB                          68,000
96GB                          92,000
128GB                        12,4000

 

Physical RAM            Target Avail RAM in Task Manager
< 4GB                               512MB – 1GB
4-32GB                              1GB – 2GB
32-128GB                            2GB – 4GB
> 128GB                              > 4GB

以下為實務上的解決方法:

1. 實體記憶容量若總共有8G,則請調整MAX SERVER MEMORY為6 GB,請保留 2GB 給作業系統使用,您可視實際情況再進行調整。請您進行下記憶體的設定確認。
   a. 開啟 Management Studio。
   b. 開啟一個查詢視窗。
   c. 輸入並執行下列的語法:

USE master;
GO

EXEC sp_configure 'show advanced option', '1';
RECONFIGURE;
EXEC sp_configure;

EXEC sys.sp_configure N'max server memory (MB)', N'6144'
GO

RECONFIGURE WITH OVERRIDE
GO

d. 再次輸入下列的語法確認 [max server memory (MB)] 是否已變成 6144。

EXEC sp_configure N'max server memory (MB)';
GO

e. 將sp_configure的 [顯示進階選項] 設定關閉。

USE master;
GO
EXEC sp_configure 'show advanced option', '0';
RECONFIGURE;

2)為了避免 SQL Server Process 被強迫釋放,請您依據以下的作法進行設定[鎖定記憶體分頁] 權限:

a.您的SQL Server 2008 R2 是Standard版本,必須加上SQL Server啟動參數requires trace flag 845, 也就是-T845,設定lock page in Memory才會生效。
Support for Locked Pages on SQL Server 2008 R2 Standard Edition x64, on SQL Server 2005 Standard Edition 64-bit systems, and on SQL Server 2008 Standard Edition 64-bit systems

http://support.microsoft.com/kb/970070/en-us

MSSQL.PNG  

b. 調整 SQL Server Services Account 擁有 Lock Page In Memory 權限:
b-1. 請檢查組態管理員的 SQL Server 和 SQL Server Agent 的啟動帳戶是否為網域帳戶,且此帳戶擁有本機管理者權組的權限。
b-2. 確認SQL Server 和 SQL Server Agent 啟動帳戶擁有 [鎖定記憶體分頁] 權限。

c. 在 "本機安全性原則",如何啟用 [鎖定記憶體分頁選項]:
c-1. 在 [開始] 功能表上,按一下 [執行]。在 [開啟舊檔] 方塊中,輸入 gpedit.msc。此時會開啟 [群組原則] 對話方塊。
c-2. 在 [群組原則] 主控台中,依序展開 [電腦設定] 和 [Windows 設定]。
c-3. 展開 [安全性設定],然後展開 [本機原則]。
c-4. 選取 [使用者權限指派] 資料夾。這些原則會顯示在詳細資料窗格中。
c-5. 在窗格中連按兩下 [鎖定記憶體分頁]。

MSSQL_OS_RAM.png  
c-6. 在 [本機安全性原則設定] 對話方塊中按一下 [新增]。
c-7. 在 [選擇使用者或群組] 對話方塊中加入一個具有執行 sqlservr.exe 權限的帳戶。
c-8. 在命令提示字元下,執行 “gpupdate /force” 或登出您的帳戶再登入本機。
c-9. 重起 SQL Server 服務或重開機器。

(Option)另外,建議您更新至SQL Server 2008 R2 Service Pack 1來避免已知問題。
"Non-yielding Scheduler" error and SQL Server 2008 or SQL Server 2008 R2 stops responding intermittently in Windows Server 2008 or in Windows Server 2008 R2
http://support.microsoft.com/kb/2491214

MicrosoftR SQL ServerR 2008 R2 Service Pack 1 下載
http://www.microsoft.com/zh-tw/download/details.aspx?id=26727
 
建議您可以直接更新到SQL 2008 R2 Service Pack 2來避免更多已知問題
MicrosoftR SQL ServerR 2008 R2 Service Pack 2

http://www.microsoft.com/zh-tw/download/details.aspx?id=30437
http://www.microsoft.com/en-us/download/details.aspx?id=30437

參考文件:

http://technet.microsoft.com/zh-tw/library/aa337311%28v=sql.105%29.aspx

http://technet.microsoft.com/zh-tw/library/ms190737.aspx

http://technet.microsoft.com/zh-tw/library/ms178067.aspx

 

MIS 發表在 痞客邦 留言(0) 人氣()

Profile 的層級設定共分成 6 個等級:Site、Application、 Responsibility、Server、Organization、User;優先引響層面由 Site 最高,依序排列下來,User 最低,以 Utilities:Diagnostics 這個 Profile 來說,若 Site 設為 No,而 User:POLIN.WEI 設為 Yes,代表全部的帳號在使用 Help/Diagnostics/Examine 功能時,需要輸入 APPS 密碼;但 User:POLIN.WEI 不需要輸入APPS密碼就可以使用 Examine 功能了。

EBS_systemProfile.png  

在操作 Oracle Profile 的介面時,有幾點要注意的:

N:System Administrator/Profile/System

EBS_profileQuery.png  

1. Oracle EBS 的 Profile 名稱,冒號前面可能有空格,後面也可能有空格,有時候前後都有空格,導致有些人查了半天說沒有這個 Profile;如果我們無法確切知道要設置的 Profile 名稱時,可以使用多個 % 來作資料查詢,如上面的ICX:Session%Time%。
2. 點擊 Find 之後,如果沒有查到想要的 Profile 參數值時,要點擊工具列上的 Find 按鈕 ( 手電筒的圖示 ),這樣上次輸入的查詢資料還會在,這個是 Oracle EBS 的基本操作。有些人會習慣性的關掉視窗,然後打開,重新輸入條件,花費很多時間在輸入資料及開關視窗上。

 適合全域性的 Profile:System Profile for Site Level

Profile Name

說明

設置建議

FND: Enable Cancel Query

當執行一個超長時間的查詢時,會出現一個Cancel視窗,允許使用者取消。比如我們在SO介面沒有輸入條件就來個Ctrl+F11,由於SO特別多,半天出不來,又不能取消,只好關掉IE重新登錄;有了這個東西就方便多了。

Yes

FND: NATIVE CLIENT ENCODING

用戶端字元集,設置不當報表匯出可能亂碼

同DB

ICX: Client IANA Encoding

Client IANA Encoding used for setting up charset in HTTP response

同DB

Utilities:Diagnostics

控制Help/Diagnostics/Examine是否需要輸入APPS密碼,Yes不需要,No需要

No

Java Look and Feel

設置介面風格,Oracle就是預設的藍色調,Generic就是傳統Windows風格。

Oracle

Java Color Scheme

設置具體的介面顏色

null

Initialization SQL Statement - Custom

設置每個人登錄EBS的時候需要執行的PL/SQL代碼,這個可以用來啟動Trace等,想做什麼都行

Begin null; end;

ICX:Session Timeout

Application使用者Session在多少分鐘內沒有資料庫操作(在Form上點來點去不一定有資料庫操作)就算超時;這個和Zone.Properties設定檔中的session.timeout(單位是秒)要一致;可以設置在用戶層

測試環境:30,正式環境:2000

ICX: Limit Time

如果ICX: Session Timeout沒有設置,那麼不管使用者有沒有資料庫操作,都用這個作為Session有效的最大小時數

 

ICX: Limit Connect

Session最大的連接次數

 

ICX: Report Image

Report的圖像路徑

 http://erp.com:8000/OA_MEDIA

ICX: Date format mask

日期格式,可以針對用戶設置

 

PO: Set Debug Workflow ON

PO工作流的Debug資訊,存在po_wf_debug

No

Concurrent:Report Access Level

報表Output的查看許可權,分為User和Responsibility。如果是User那麼只有運行該報表的使用者可以查看Output,不管他切換到哪個職責。如果是Responsibility,只要能進入運行報表的職責就可以查看。

User

Self Service Personal Home Page mode

登錄之後的主頁模式,需重啟Apache
Framework only:職責+職責菜單
Personal Home Page:點職責直接進入
Personal Home Page with Framework

 

Enable Timezone Conversions

是否啟用Timezone,默認N,必須在Site層設置

 

Server Timezone

必須與資料庫的Timezone一致,只能在Site層設置

 

Client Timezone

必須在User層設置

 

RRA: Enabled

必須設置為Yes

 

RRA: Service Prefix

通常放空

 

 

 適合 Responsibility 的 Profile

Profile Name

Responsibility

說明

設置建議

INV: Updateable item name

Inventory

Yes: 可以修改料號 Item Name

空白

WIP:Job Name Updatable Work In Process  No, 控管使用者無法修改工單號碼Job Name  No
       
文章標籤

MIS 發表在 痞客邦 留言(0) 人氣()

基本概念:

_ALL:基本表單,保存多組織資料,裡面有一個Org_Id欄位,一般不直接出現在我們的DML中去掉_all的視圖,根據使用者環境過濾掉組織,相當於普通的基表,我們直接使用它,就當它是基本表單
_V   :VIEW,給Form用
_KFV:啟用關鍵性彈性域的時候動態生成的VIEW,包含Concact過的欄位組合
_DFV:啟用描述性彈性域的時候動態生成的VIEW,我們取彈性域子段的描述的時候,需要用使用者出口函數
_TL  :基本表單,有language欄位,us肯定有
_VL  :VIEW,根據環境設置過濾語種,所以做報表用_vl _s,序號 _API,Package,保證向後相容
_PKG:Package,Program
_SV  :Package,供Form調用
   GL: General Ledger 總帳,使存儲會計資訊的中心,接收來自財務和製造模組的會計資訊
   GL包括:
      採購 Purchasing ,
      應付 Account Payable ,
      資產 Fixed Assets,
      應收 Accounts Receivable,
      庫存 Inventory,
      訂單 Order Management 6 個模組!

Oracle EBS 示意圖:

EBS_Structure.png  

 

 針對上圖的概念,將各階層作下列的解釋,其中 ASIR 的是虛擬的公司組織:

層次

名稱

說明

BG

ASIR Business Group

組織層次的最高層,用來遮罩HR資訊

SOB

ASIR Books

帳本,財務資料階層的最高層

LE

LE ASIR

法律實體/法人機構,對外提供財務報告和稅務報告

OU

OU TW

遮罩OM/PO/AR/AP等模組資料

INV

INV MASTER

庫存主組織,一般用來定義ITEM,不做業務

INV

INV TAIPEI

實際發生庫存業務的工廠、倉庫等,遮罩BOM/ENT/INV/WIP/MRP等模組資料

SUBINV

Finished Goods/FSG1

倉庫,實體的倉庫,存放產成品

SUBINV

Raw Material/RM01

倉庫,實體的倉庫,存放產原材料

SUBINV

Expense INV/EXP1

倉庫,費用倉庫,不必跟蹤數量

SUBINV

Staging Area/STA1

倉庫,具體的庫房,暫存倉庫/線邊倉

 INV庫存
organization 有兩個含義:
1. 經營單位(Operation Unit)主要為了獨立核算此組織
2. 庫存組織(Inventory Organization),例如倉庫

 建立一個存貨組織 (Inventory Organization) 的步驟如下:

  • N: INV/Setup/Organizations/Locations:定義地址
  • N: INV/Setup/Organizations/Organizations:定義組織
  • N: INV/Setup/Organizations/Parameters:定義組織的參數
     (定義 Item Master Organization、Cost Method、Revision、Lot、Serial Contral...)
  • N: INV/Setup/Organizations/Organization Access:定義 Responsibility 可以存取那些組織
  • N: INV/Setup/Organizations/Subinventories:定義組織裡有那些倉庫 (Subinventory)
  • N: INV/Setup/Organizations/Stock Locators:定義倉庫的儲位

參考:

http://space.itpub.net/7434747/spacelist-blog-itemtypeid-77980

文章標籤

MIS 發表在 痞客邦 留言(0) 人氣()

因若干因素, 需有兩台 Oracle EBS 主機, 但這兩台主機的 Org ID 要相同.當這兩台主機的Sequence 不一致時, 該怎麼辦?

HR_ORGANIZATION_UNITS_V.png  

我們先可以查看一下控制 Org ID 的 Sequence: HR.HR_ORGANIZATION_UNITS_S

CREATE SEQUENCE HR.HR_ORGANIZATION_UNITS_S
  START WITH 1041
  MAXVALUE 999999999999999
  MINVALUE 1
  NOCYCLE
  CACHE 20
  NOORDER;

它一次是取20個序號到 Database 的 Cache 中, 所以若有一方較小, 則可以手動去耗掉一些號碼:

select HR.HR_ORGANIZATION_UNITS_S.NEXTVAL
FROM dual;

select hr.HR_ORGANIZATION_UNITS_S.currval
FROM dual;
文章標籤

MIS 發表在 痞客邦 留言(0) 人氣()

Linux kernel 自 2.6.28 開始正式支持新的檔案系統 Ext4。 Ext4 是 Ext3 的改進版,修改了 Ext3 中部分重要的資料結構,而不僅僅像 Ext3 對 Ext2 那樣,只是增加了一個日誌功能而已。Ext4 可以提供更佳的性能和可靠性,還有更為豐富的功能:

1. 與 Ext3 相容。 執行若干條命令,就能從 Ext3 線上遷移到 Ext4,而無須重新格式化磁片或重新安裝系統。原有 Ext3 資料結構照樣保留,Ext4 作用於新資料,當然,整個檔案系統因此也就獲得了 Ext4 所支援的更大容量。

2. 更大的檔案系統和更大的文件。 較之 Ext3 目前所支持的最大 16TB 檔案系統和最大 2TB 檔,Ext4 分別支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的檔案系統,以及 16TB 的檔。

3. 無限數量的子目錄。 Ext3 目前只支持 32,000 個子目錄,而 Ext4 支持無限數量的子目錄。

4. Extents。 Ext3 採用間接塊映射,當操作大檔時,效率極其低下。比如一個 100MB 大小的檔,在 Ext3 中要建立 25,600 個資料塊(每個資料塊大小為 4KB)的映射表。而 Ext4 引入了現代檔案系統中流行的 extents 概念,每個 extent 為一組連續的資料塊,上述檔則表示為“該檔資料保存在接下來的 25,600 個資料塊中”,提高了不少效率。

5. 多塊分配。 當寫入資料到 Ext3 檔案系統中時,Ext3 的資料塊分配器每次只能分配一個 4KB 的塊,寫一個 100MB 檔就要調用 25,600 次資料塊分配器,而 Ext4 的多塊分配器“multiblock allocator”(mballoc) 支持一次調用分配多個資料塊。

6. 延遲分配。 Ext3 的資料塊分配策略是儘快分配,而 Ext4 和其它現代檔作業系統的策略是盡可能地延遲分配,直到檔在 cache 中寫完才開始分配資料塊並寫入磁片,這樣就能優化整個檔的資料塊分配,與前兩種特性搭配起來可以顯著提升性能。

7. 快速 fsck。 以前執行 fsck 第一步就會很慢,因為它要檢查所有的 inode,現在 Ext4 給每個組的 inode 表中都添加了一份未使用 inode 的列表,今後 fsck Ext4 檔案系統就可以跳過它們而只去檢查那些在用的 inode 了。

8. 日誌校驗。 日誌是最常用的部分,也極易導致磁片硬體故障,而從損壞的日誌中恢復資料會導致更多的資料損壞。Ext4 的日誌校驗功能可以很方便地判斷日誌資料是否損壞,而且它將 Ext3 的兩階段日誌機制合併成一個階段,在增加安全性的同時提高了性能。

9. “無日誌”(No Journaling)模式。 日誌總歸有一些開銷,Ext4 允許關閉日誌,以便某些有特殊需求的使用者可以借此提升性能。

10. 線上磁碟重組。 儘管延遲分配、多塊分配和 extents 能有效減少檔案系統碎片,但碎片還是不可避免會產生。Ext4 支援線上磁碟重組,並將提供 e4defrag 工具進行個別檔或整個檔案系統的磁碟重組。

11. inode 相關特性。 Ext4 支持更大的 inode,較之 Ext3 默認的 inode 大小 128 位元組,Ext4 為了在 inode 中容納更多的擴展屬性(如納秒時間戳記或 inode 版本),默認 inode 大小為 256 位元組。Ext4 還支援快速擴展屬性(fast extended attributes)和 inode 保留(inodes reservation)。

12. 持久預分配(Persistent preallocation)。 P2P 軟體為了保證下載檔案有足夠的空間存放,常常會預先創建一個與所下載檔案大小相同的空檔,以免未來的數小時或數天之內磁碟空間不足導致下載失敗。 Ext4 在檔案系統層面實現了持久預分配並提供相應的 API(libc 中的 posix_fallocate()),比應用軟體自己實現更有效率。

13. 預計啟用 barrier。 磁片上配有內部緩存,以便重新調整批量資料的寫操作順序,優化寫入性能,因此檔案系統必須在日誌資料寫入磁片之後才能寫 commit 記錄,若 commit 記錄寫入在先,而日誌有可能損壞,那麼就會影響資料完整性。Ext4 默認啟用 barrier,只有當 barrier 之前的資料全部寫入磁片,才能寫 barrier 之後的資料。(可通過 "mount -o barrier=0" 命令禁用該特性)


ext2 與 ext3

Linux ext2/ext3檔案系統使用索引節點來記錄檔資訊,作用像windows的檔案配置表。索引節點是一個結構,它包含了一個檔的長度、創建及修改時 間、許可權、所屬關係、磁片中的位置等資訊。一個檔案系統維護了一個索引節點的陣列,每個檔或目錄都與索引節點陣列中的唯一一個元素對應。系統給每個索引 節點分配了一個號碼,也就是該節點在陣列中的索引號,稱為索引節點號。 linux檔案系統將檔索引節點號和檔案名同時保存在目錄中。所以,目錄只是將檔的名稱和它的索引節點號結合在一起的一張表,目錄中每一對檔案名稱和 索引節點號稱為一個連接。 對於一個檔來說有唯一的索引節點號與之對應,對於一個索引節點號,卻可以有多個檔案名與之對應。因此,在磁片上的同一個檔可以通過不同的路徑去訪問 它。


Linux 之前預設情況下使用的檔案系統為Ext2,ext2檔案系統的確高效穩定。但是,隨著Linux系統在關鍵業務中的應用,Linux檔案系統的弱點也漸漸 顯露出來了:其中系統預設使用的ext2檔案系統是非日誌檔案系統。這在關鍵行業的應用是一個致命的弱點。本文向各位介紹Linux下使用ext3日誌文 件系統應用。


Ext3檔案系統是直接從Ext2檔案系統發展而來,目前ext3檔案系統已經非常穩定可靠。它完全相容ext2檔案系統。使用者可以平滑地過渡到一個日誌功能健全的檔案系統中來。這實際上了也是ext3日誌檔案系統初始設計的初衷。

Ext3日誌檔案系統的特點
1、高可用性:系統使用了ext3檔案系統後,即使在非正常關機後,系統也不需要檢查檔案系統。宕機發生後,恢復ext3檔案系統的時間只要數十秒鐘。

2、資料的完整性:ext3 檔案系統能夠極大地提高檔案系統的完整性,避免了意外宕機對檔案系統的破壞。在保證資料完整性方面,ext3檔案系統有2種模式可供選擇。其中之一就是 “同時保持檔案系統及資料的一致性”模式。採用這種方式,你永遠不再會看到由於非正常關機而存儲在磁片上的垃圾檔。

3、檔案系統的速度:儘管使用ext3檔案系統時,有時在存儲資料時可能要多次寫資料,但是,從總體上看來,ext3比ext2的性能還要好一些。這是因為ext3的日誌功能對磁片的驅動器讀寫頭進行了優化。所以,檔案系統的讀寫性能較之Ext2檔案系統並來說,性能並沒有降低。

4、資料轉換:由 ext2檔案系統轉換成ext3檔案系統非常容易,只要簡單地鍵入兩條命令即可完成整個轉換過程,用戶不用花時間備份、恢復、格式化分區等。用一個 ext3檔案系統提供的小工具tune2fs,它可以將ext2檔案系統輕鬆轉換為ext3日誌檔案系統。另外,ext3檔案系統可以不經任何更改,而直接載入成為ext2檔案系統。

5、多種日誌模式:Ext3 有多種日誌模式,一種工作模式是對所有的檔資料及metadata(定義檔案系統中資料的資料,即資料的資料)進行日誌記錄(data=journal 模式);另一種工作模式則是只對metadata記錄日誌,而不對資料進行日誌記錄,也即所謂data=ordered或者data=writeback 模式。系統管理人員可以根據系統的實際工作要求,在系統的工作速度與檔資料的一致性之間作出選擇。


附註:用SSD硬碟測試,測試結果除了表明 Intel SSD 的讀寫速度快得令人咋舌之外,還可以說明 Ext4 的各方面性能都超過了上一代 Ext3,甚至在大多數情況下,比沒有日誌功能的 Ext2 還要快出不少。

參考:http://blog.csdn.net/galdys/article/details/8268694

文章標籤

MIS 發表在 痞客邦 留言(0) 人氣()

  若依照 管理 MySQL 的免費工具 phpMyAdmin 這一篇的步驟,應該已來建立帳號 xoops_root 並能管理  polin_xoops 資料庫了。在此,再回顧其中的重要片斷如下:  

phpMyAdmin_main.png  

  整個建立網站需要的步驟為:建立新資料庫 -> 建立管理此資料庫的帳號 -> 付予此帳號對此資料庫有全部的管理權限。上圖按下 建立 的按鈕後,就會產生一個叫作 polin_xoops 的資料庫。

mysqldb_polin_xoops.png  

  然後點選 伺服器: localhost 或者 左邊的主目錄( 房子的圖示 ) 回到 phpMyAdmin 的主目錄,點選 權限 連結來建立管理此資料庫的帳號。

mysql_users.png  

   點選 新增使用者 後,在 使用者名稱 欄位輸入管理此資料庫的帳號:xoops_root,主機 欄位選 本地 ( localhost ) 即可,密碼請自定,但請要記得,不然就無法連到 MySQL 資料庫了;至於 整體權限 請不要選,因為我們要此帳號 xoops_root 只能管理  polin_xoops 的資料庫,為什麼不直接使用 root 的帳號就好?因為一切都只是為了安全。

mysql_user_dbroot.png  

  填完資料後,按下執行就會建好帳號 xoops_root ,接下來在 指定資料庫權限 中選擇我們要管理的  polin_xoops 資料庫。

mysqldb_permission.png  

這時因為是指定資料庫,要求帳號 xoops_root 管理  polin_xoops 的資料庫,所以權限要全選起來。

mysqldb_rights.png  

  建立 XOOPS 網站所需要的 MySQL 資料庫重要的資訊有:帳號,密碼,主機名以及資料庫名字,以本書的範例來說這些資訊為:

帳號:xoops_root
密碼:password
主機:localhost
資料庫:polin_xoops

  這些資料您是可以自己決定的,不一定要照本書來定義,但這四個參數千萬不能忘,不然 XOOPS 就無法連到 MySQL 資料庫了。

文章標籤

MIS 發表在 痞客邦 留言(0) 人氣()

  在這一篇文章 Apache - VirtualHost 架設虛擬網站 中我們已建立了屬於 phpMyAdmin 的虛擬網站,本章大致來介紹一下如何登入 phpMyAdmin ,並如何透過 phpMyAdmin 來管理 MySQL 資料庫。 ( 註:若您沒作虛擬網站的設定,那網址應該是 http://localhost/phpMyAdmin ) 就會出現要您輸入帳號及密碼的登入畫面。

phpMyAdmin_login.png  

  這裡的帳號及密碼就是在環境架設- 利用 Apache 架設網站伺服器服務 安裝時所設定的,登入後的畫面如下圖,此為 phpMyAdmin 的主目錄,左邊的資料庫有個下拉選單,可以用來選擇你要管理的資料庫。中間為主要畫面,要建立一個新的資料庫很簡單,只要在 建立新資料庫 下方輸入資料庫的名字,然後按下建立即可,不過這裡要注意的一點,MySQL 連線校對 記得用預設值 utf8_unicode_ci  不要改變。因為未來我們要建立的網站也是 UTF8,資料庫與網站的編碼若都是UTF8,那就不會有需要轉碼的問題了。 

  整個建立網站需要的步驟為:建立新資料庫 -> 建立管理此資料庫的帳號 -> 付予此帳號對此資料庫有全部的管理權限。上圖按下 建立 的按鈕後,就會產生一個叫作 polin_xoops 的資料庫。

mysqldb_polin_xoops.png


  

 
 

  然後點選 伺服器: localhost 或者 左邊的主目錄( 房子的圖示 ) 回到 phpMyAdmin 的主目錄,點選 權限 連結來建立管理此資料庫的帳號。

mysql_users.png

   點選 新增使用者 後,在 使用者名稱 欄位輸入管理此資料庫的帳號:xoops_root,主機 欄位選 本地 ( localhost ) 即可,密碼請自定,但請要記得,不然就無法連到 MySQL 資料庫了;至於 整體權限 請不要選,因為我們要此帳號 xoops_root 只能管理  polin_xoops 的資料庫,為什麼不直接使用 root 的帳號就好?因為一切都只是為了安全。

mysql_user_dbroot.png  

  填完資料後,按下執行就會建好帳號 xoops_root ,接下來在 指定資料庫權限 中選擇我們要管理的  polin_xoops 資料庫。

mysqldb_permission.png

這時因為是指定資料庫,要求帳號 xoops_root 管理  polin_xoops 的資料庫,所以權限要全選起來。

mysqldb_rights.png  

大體上建立帳號,以及讓帳號專責管理資料庫的作法就如上的步驟就可以了。

文章標籤

MIS 發表在 痞客邦 留言(0) 人氣()

  有別於微軟 Microsoft 的 IE 流覽器,目前流覽網頁的另一項工具 FireFox,FireFox 除了體積小、效率快以外,還有一些實用的外掛套件可供安裝。

  FireFox 有正體 ( 繁體 ) 中文的專屬網站可供下載:http://moztw.org/ 。

firefox_url.png  

安裝完 FireFox  後,可以在工具選項中去搜尋及安裝您想要的套件。

firefox_addition_path.png  

只要輸入關鍵字,就可以找到您想要的相關套件。

firefox_addition.png  

若您需要開發網頁,或者是從事開發佈景( Themes ),在此強烈建議您可以安裝 FireBug 及 Web Developer ,這兩個外掛套件可以幫你快速設計佈景,與找出 "臭蟲" Bugs 在那裡。

firefox_addition_useful.png  

   Firebug 可以直接在網頁中點選您想要修改的網頁物件,如下圖的 "首頁" 連結物件;它可以快速顯示出該物件的相關資訊給您作參考,並且可以直接修改該物件相關的參數而不動到程式主體。這樣可以幫助您快速找到要修改的物件,修改後的 CSS 參數會立即呈現在網頁上,等調整到您想要的畫面時,再去修改原始程式檔,這就安全且方便許多了。

firefox_firebug.png  

文章標籤

MIS 發表在 痞客邦 留言(0) 人氣()

這一篇文章 GnuPG (GPG) In Win32 免費檔案加解密軟體概念與實作 大致說明了 GnuPG 對於產生一組私鑰 ( Private Key:secring.GPG )& 公鑰( Public Key:pubring.GPG ),與匯出公鑰 polinwei.asc 及匯入客戶公鑰 partnerid.asc 的完整過程。接下來,我們找個檔案,實際來測試看看。會用到的指令有:

加密:C:\gnupg\gpg --encrypt --armor --recipient [public key] --output encryptedfilename unencryptedfilename

解密:C:\gnupg\gpg --always-trust --passphrase-fd 0 --output C:\gnupg\Decrypt\unencryptedfilename  -u "[USER-ID]" --no-tty --decrypt C:\gnupg\Encrypt\encryptedfilename < [passphrase.file]

客戶要給我們的檔案 test.txt

He said, " I'm sorry I doubted you. Now I realize there is greatness even in a small mouse. "
他說: " 很抱歉. 我那時懷疑你, 現在我了解即使是一隻小老鼠也有他偉大之處. "

 

實作:還記得我們匯出公鑰時的資訊吧(如下)

/** 下面是這一組Key的資訊 **/
pub  1024D/FBA68168 2013-06-11 polin.wei <polin.wei@xxx.com>
        Key fingerprint = 925A 54A5 03DA 5CFD ECE5  F01C A5DC 98A3 FBA6 8168
sub  2048g/9E6074F7 2013-06-11 [expires: 2023-06-09] <=用這一組來指定 9E6074F7 匯出公鑰

而我們給客戶的檔案polinwei.asc就有這些資訊,讓客戶先以此金鑰作加密( Sign ),再寄給我們作解密即可。

 

客戶端:

C:\gnupg\gpg --encrypt --armor --recipient 9E6074F7 --output test.encryp.txt test.txt

此時會針對 9E6074F7 的公鑰,產生一個加密檔案 test.encryp.txt,內容會像下面這樣,再將這個檔案 test.encryp.txt 傳給我們即可。

 
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.2.0 (MingW32)

hQIOA0W37H+eYHT3EAgArwioRbUxmP80hO0a5il61ahLPSqJndgGbdXWa9kNE2lq
1jsTpiMPZkeJzw9zo/xE41sBhOdpIggsD1zryul9wUCHOjkiOEGGGyEnxqFUtYHH
6Ie0pfjdAguTT1Ym/rJhGveGNnsBrDnV/CkOrWcELJyRCM6WjSne4WbLPjelvC6w
UiJHjvuzJrCW6Xs6qhziFMoqE7sT7jn7xZPqlrxO22DAWJUQ9ZMJev/A5PPlbtpb
NA1loXRToJ7X7Eazh+oxa30D3Bqta7E6UPg9X4yBJfqfCIJkqjHgzeXFks7Kddd7
t4PPYGYyWbR5F6bW6QHdbwnE2WtNFHNskMM27GaznwgAvX1aRZsB+G+mGjrIBol6
XTQaDhk/hkGStxnd69zTEEhENTvHsFZ2ovsoBNtJLqoZ/k5HsETO4rYSz/KKoZLt
wvTdWHG5aVfU7k96V7NXh13JNOXiOPAWli9G9hnLqY3bZh2lENhaXt7D4fAwxZc0
LXR4mZPy1Vjvskuf2g9E5b+oqfy0LttANAaKWdH/M9Kia/skE3hbEjad/Y//vN3x
BZeOePevn3tLgQmvtapfzZz4682+s/mTDkSAOpgtSCuO3hYB1up+biIqc33dQ8Ui
u4yYaA0xWQsH+Ba2IHmQTkDLIjtFdaa6m8/afMnYR2eqg6nX7MmYjmbTXxZIt2oc
Z9LAKgE37zFFxn4wtvNbRUx8tS7B55CDoKUdl3KivQyfhXF1a9mh7zwqOzTIoIi9
bEdYHKDpEFycjpmgpUj4TPPJyOIU91X9M1cARtK7QLQbinUK0A9l/q3wADPmvCU/
uUJ/LnKoSOxJMkv3sK2Mcnp8w+RUPC6ZrQYrR8SmHo+PJqFddD0L5jtlHtQD877v
96RF32IJE3wfSZGPwXwGhsa2SdXy9d+xYcGzEowvkld0Jb3fRbZu03OmXTAOW6fY
MtjridBEWgXe4wsY2e5y/R4hIUHbLr3J8VUKPa55j3YKpeOBG4E8YMSbZ4GkhA==
=emqr
-----END PGP MESSAGE-----

 

本機端:

C:\gnupg\gpg.exe --always-trust --passphrase-fd 0 --output C:\gnupg\Decrypt\test.txt  -u "polin.wei" --no-tty --decrypt C:\gnupg\Encrypt\test.encryp.txt < passphrase.file

這裡有兩個參數要說明一下:

--passphrase-fd 0 : 是將 secret key (Private key) 的 Passphrase 以檔案 passphrase.file 方式傳入,這樣就不用每次都提示要你輸入了。-u "polin.wei"        : 則是 [USER-ID],這應該是唯一的值。
passphrase.file     : 檔案裡的內容,沒忘了吧,我們在GnuPG (GPG) In Win32 免費檔案加解密軟體概念與實作 輸入的是 polin 。

C:\gnupg>C:\gnupg\gpg.exe --always-trust --passphrase-fd 0 --output C:\gnupg\Decrypt\test.txt  -u "polin.wei" --no-tty --decrypt C:\gnupg\Encrypt\test.encryp.txt < passphrase.file

gpg: encrypted with 2048-bit ELG-E key, ID 9E6074F7, created 2013-06-11
      "polin.wei <polin.wei@xxx.com>"

執行完指令後,就可以將加密檔 test.encryp.txt ,還原成 test.txt 正常的檔案了。 您也試試吧!!

 

 

 

 

文章標籤

MIS 發表在 痞客邦 留言(0) 人氣()

  當商業檔案如 EDI (850,860,810...) 在 FTP 協定中傳輸時,若被別人截取,那資料就會外洩。若能在傳輸前先加密,到客戶端時再作解密,這就保險多了。檔案加解密的軟體很,GnuPG (GPG) 是一套完全免費的軟體( GnuPG is the GNU project's complete and free implementation of the OpenPGP standard as defined by RFC4880 . ),也有在實務的商務中使用,安全性很高值得一用。

GnuPG 概念:

GPG, like PGP (Pretty Good Privacy), uses a key pair. This means that when you generate a key, you will create a public copy as well as private copy. The private copy is your copy used to decrypt an incoming file as well sign an outgoing file (but for our purposes, we are only using it to decrypt). The public key is the key you give to the public, which is used to encrypt the files coming to you. First we will create your own key.
 
These keys are stored in key rings. For GPG, they are stored in the directory that the GPG files were copied into. They are both named with a .GPG extension, and are called pubring.GPG and secring.GPG (to denote the public key ring and the private key ring, respectively).

原文的意思主要是說:GPG 會產生一組 Key ,一個是私鑰 ( Private Key:secring.GPG ) 用來解碼檔案,以及傳出檔案時作簽章 ( sign );一個是公鑰( Public Key:pubring.GPG )是要給客戶的,當客戶要傳檔案給你時,用此公鑰作加密。兩個檔案都是以 .GPG 作為附檔名。

GnuPG 實作:

  那要如何建立這一組Key:私鑰 ( Private Key:secring.GPG )& 公鑰( Public Key:pubring.GPG ),下面一個步驟一個步聚來作解說:

step 01: 環境設定

先到 GnuPG 的下載網站: 下載軟體 gnupg-w32cli-1.2.0.zip. (ftp://ftp.gnupg.org/GnuPG/binary/gnupg-w32cli-1.2.0.zip),這裡使用gnupg-w32cli-1.2.0 版。在 Windows 平台,可以用 7Z 解壓,並將解開的目錄放在 C:\gnupg

再到 開始(Start) > 控制(Control Panel) > 系統(System). 選擇 進階(Advanced tab) 並編輯環境變數中的 Path 參數。

EnvironmentVariables  

step 02: 產生私鑰 ( Private Key:secring.GPG )& 公鑰( Public Key:pubring.GPG )

C:\gnupg> c:\gnupg\gpg --gen-key
gpg (GnuPG) 1.2.0; Copyright (C) 2002 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

gpg: keyring `c:/gnupg\secring.gpg' created
gpg: keyring `c:/gnupg\pubring.gpg' created
Please select what kind of key you want:
   (1) DSA and ElGamal (default) <= 選擇預設即可
   (2) DSA (sign only)
   (5) RSA (sign only)
Your selection?
DSA keypair will have 1024 bits.

About to generate a new ELG-E keypair.
              minimum keysize is  768 bits
              default keysize is 1024 bits
    highest suggested keysize is 2048 bits
What keysize do you want? (1024) 2048 <= 輸入 2048
Requested keysize is 2048 bits

Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0) 10y <= 有效時間10年, 若為0則不失效
Key expires at 06/09/23 10:01:10
Is this correct (y/n)? y <=輸入y表示正確無誤

You need a User-ID to identify your key; the software constructs the user id
from Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Real name: polin.wei <=這是 USER-ID 作加/解密時要指定用的
Email address: polin.wei@xxx.com
Comment:
You selected this USER-ID:
    "polin.wei <polin.wei@xxx.com>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O <=確定輸入 O
You need a Passphrase to protect your secret key. polin <=保護 Secret key 的密碼

/** 接下來就是產生這一組Key的過程了**/
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
+++++++++++++++.+++++....++++++++++++++++++++.+++++++++++++++++++++++++.++++++++
++++++++++++.+++++.+++++.++++++++++++++++++++.++++++++++..++++++++++>+++++......
.......>+++++................................................................+++
++
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
+++++...++++++++++.++++++++++.+++++..+++++..++++++++++.+++++++++++++++++++++++++
+++++.++++++++++.+++++++++++++++++++++++++...++++++++++++++++++++.++++++++++++++
+>..++++++++++.....>..+++++.............................>.+++++....<.+++++......
................................................................................
................................................................................
............................................+++++^^^
gpg: c:/gnupg\trustdb.gpg: trustdb created
public and secret key created and signed.
key marked as ultimately trusted.

/** 下面是這一組Key的資訊 **/
pub  1024D/FBA68168 2013-06-11 polin.wei <polin.wei@xxx.com>
        Key fingerprint = 925A 54A5 03DA 5CFD ECE5  F01C A5DC 98A3 FBA6 8168
sub  2048g/9E6074F7 2013-06-11 [expires: 2023-06-09]

PS: 若要修改secret key Passphrase , 指令如下:

usage: gpg [options] --edit-key user-id [commands]

C:\gnupg>gpg --edit-key polin.wei

gpg (GnuPG) 1.2.0; Copyright (C) 2002 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

Secret key is available.

gpg: checking the trustdb
gpg: checking at depth 0 signed=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1
gpg: next trustdb check due at 2023-06-09
pub  1024D/FBA68168  created: 2013-06-11 expires: 2023-06-09 trust: u/u
sub  2048g/9E6074F7  created: 2013-06-11 expires: 2023-06-09
(1). polin.wei <polin.wei@xxx.com>

Command> passwd

Key is protected.

//先輸入原來的密碼

You need a passphrase to unlock the secret key for

user: "polin.wei <polin.wei@xxx.com>"

1024-bit DSA key, ID 53FA0BBC, created 2013-05-23

/**再輸入新的密碼,若連續按兩次 Enter 鍵,則密碼為空,系統會告知this is probably a *bad* idea! **/

Enter the new passphrase for this secret key.

You don't want a passphrase - this is probably a *bad* idea!

Do you really want to do this? yes

step 03: 匯出要給客戶的公鑰

利用 step 02 最後的資訊(如下)來匯出要給客戶的公鑰

/** 下面是這一組Key的資訊 **/
pub  1024D/FBA68168 2013-06-11 polin.wei <polin.wei@xxx.com>
        Key fingerprint = 925A 54A5 03DA 5CFD ECE5  F01C A5DC 98A3 FBA6 8168
sub  2048g/9E6074F7 2013-06-11 [expires: 2023-06-09] <=用這一組來指定 9E6074F7 匯出公鑰

C:\gnupg>gpg --export --output polinwei.asc 9E6074F7

這時會匯出一個檔名為 polinwei.asc 的公鑰,這就是要給客戶匯入用的;當然,客戶也會給你他的公鑰,你也必需匯入進來,並作信認 ( Trust )

 

step 04: 匯入客戶的金鑰( partnerid.asc 此為範例檔),並信認( Trust )

C:\gnupg>gpg --import partnerid.asc <=匯入客戶的金鑰

gpg: key 55FA0BBC: public key "Partner <edi.admin@Partner.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

 

C:\gnupg>gpg --edit-key 55FA0BBC <=指定要維護那一間客戶
gpg (GnuPG) 1.2.0; Copyright (C) 2002 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

gpg: checking the trustdb
gpg: checking at depth 0 signed=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1
gpg: next trustdb check due at 2023-06-09
pub  1024D/55FA0BBC  created: 2013-05-23 expires: 2023-05-21 trust: -/-
sub  2048g/DD28189F  created: 2013-05-23 expires: 2023-05-21
(1). Partner <edi.admin@Partner.com>

Command> trust <= 對此客戶作信認
pub  1024D/55FA0BBC  created: 2013-05-23 expires: 2023-05-21 trust: -/-
sub  2048g/DD28189F  created: 2013-05-23 expires: 2023-05-21
(1). Partner <edi.admin@Partner.com>

Please decide how far you trust this user to correctly
verify other users' keys (by looking at passports,
checking fingerprints from different sources...)?

 1 = Don't know
 2 = I do NOT trust
 3 = I trust marginally
 4 = I trust fully
 5 = I trust ultimately
 m = back to the main menu

Your decision? 5 <= 選擇 5
Do you really want to set this key to ultimate trust? yes

pub  1024D/55FA0BBC  created: 2013-05-23 expires: 2023-05-21 trust: u/-
sub  2048g/DD28189F  created: 2013-05-23 expires: 2023-05-21
(1). Partner <edi.admin@Partner.com>
Please note that the shown key validity is not necessarily correct
unless you restart the program.

Command> quit <=離開

step 05: 檢查客戶的公鑰是否正確存在

C:\gnupg>gpg --list-keys
c:/gnupg\pubring.gpg
--------------------
pub  1024D/FBA68168 2013-06-11 polin.wei <polin.wei@xxx.com>
sub  2048g/9E6074F7 2013-06-11 [expires: 2023-06-09]

pub  1024D/55FA0BBC 2013-05-23 Partner <edi.admin@Partner.com>
sub  2048g/DD28189F 2013-05-23 [expires: 2023-05-21]

 

以上的步驟就是產生一組私鑰 ( Private Key:secring.GPG )& 公鑰( Public Key:pubring.GPG ),與匯出公鑰 polinwei.asc 及匯入客戶公鑰 partnerid.asc 的完整過程。

文章標籤

MIS 發表在 痞客邦 留言(0) 人氣()