go to http://oracle.in.th
Showing posts with label yong. Show all posts
Showing posts with label yong. Show all posts

Thursday, August 19, 2010

Oracle Database 11g Installation on IBM-AIX 6

วันนี้เกิดคึกอยากจะเขียนบล็อคขึ้นมาครับ เพราะว่าพึ่งผ่าน case นี้มาและคิดว่าเป็น case ที่้น้อยคนจะได้เจอ ก็คือการติดตั้ง Oracle Database 11g บน AIX 6 นั่นเอง หลายคนอาจจะพึ่งเคยได้ยินว่า AIX คืออะไร ก็เลยขออธิบายนิดนึงว่ามันคือ OS ของ IBM ซึ่งเป็น Linux base ถ้าอยากรู้จัก AIX มากกว่านี้ก็ลอง search ดูได้เลยครับ

กลับมาในส่วนของเราดีกว่า อย่างที่ทราบๆกันว่า ในการติดตั้ง Oracle Database เนี่ยจะมีขั้นตอนหลักๆอยู่ 2 ขั้นตอนก็คือ

1. การเตรียม pre-requisite ให้พร้อมสำหรับการติดตั้ง Oracle Database
2. การติดตั้ง Oracle Database

ในที่นี้ผมจะกล่าวถึงเฉพาะข้อแรกก็คือการเตรียม pre-requisite นั่นเอง เพราะในส่วนของการติดตั้ง ก็จะสามารถหาอ่านได้จาก blog เก่าๆครับ
การ Install Oracle Database 11g และสร้าง Database

ที่อยากจะพูดถึงเรื่องการเตรียม pre-requisite เนี่ยเพราะว่าในแต่ละ platform ก็จะมี requirement ต่างๆที่เราต้องติดตั้งหรือแก้ไขเพิ่มเติมต่างกันไปและ AIX ก็เช่นกัน ซึ่ง case ที่ผมไปเจอก็คือ AIX นั้นจะติดตั้งมาแบบ default เลย มีการแบ่งพื้นที่ให้แก่ partition ต่างๆแค่นิดเดียว partition ละไม่ถึง 1GB (เอาไฟล์ installer ลงไปยังไม่ได้เลย - -") , swap space ไม่พอและไม่ได้ติดตั้ง fileset ที่จำเป็นสำหรับการติดตั้งเพิ่มเติม (คล้ายๆกับ package ของ linux) ทำให้เราต้องมาจัดการเองทั้งหมด ซึ่งถ้าไม่เคยได้เล่น AIX เลยเนี่ยอาจจะจิตตกได้ เพราะไม่รู้ว่าต้องแก้ไขอย่างไร, หา download fileset จากไหน หรือติดตั้งอย่างไร วันนี้เรามีข้อมูลจากประสบการณ์จริงที่พบมาเล่าสู่กันฟังครับ

1 การเพิ่มพื้นที่ให้แก่ partition ต่างๆ
- เข้าไปที่ Web-based System Manager (WSM) สามารถคลิกขวาที่ partition ที่ต้องการและเลือก properties และเพิ่มขนาดได้เลย ง่ายเกินคาด สามารถใช้ได้กับ /tmp ด้วย

2.การเพิ่ม swap space
- ตรวจสอบดูก่อนว่า swap space นั้นใช้ที่ partition ใด โดยใช้คำสั่ง sysdumpdev -l และดูผลลัพธ์ที่ primary เช่น primary /dev/hd6

- เมื่อทราบแล้วว่า swap space ใช้ path ใดก็ลองตรวจสอบขนาดของมันโดยใช้คำสั่ง lsps -a จะมีการระบุขนาดไว้

- ถ้าต้องการขยายขนาดเพิ่มไปอีก 1GB สามารถทำได้โดยใช้คำสั่ง extendlv hd6 1G

- reboot เครื่องซักรอบนึง แล้วลองตรวจสอบขนาดโดยใช้คำสั่ง lsps -a เช่นเดิม จะพบว่า swap space จะเพิ่มมาอีก 1 GB แล้วครับ

ประเด็นนี้ขออ้างอิงจากน้องที่เข้าไปช่วยกันทำนะครับ โดยได้บันทึกขั้นตอนไว้ในนี้
https://jira.oracle.in.th/browse/ORCL-364

3. การติดตั้ง fileset
- จะมี fileset ที่ต้องติดตั้งเพิ่มเติมอีก 3 ตัวดังนี้
bos.adt.libm
rsct.basic.rte
rsct.compat.clients.rte

- สามารถหาได้จากแผ่นติดตั้ง AIX 6 แผ่นที่ 1 นะครับ ตอนแรกผมก็ไปหาโหลดตั้งนาน เจอแต่ไฟล์ 200-300 MB ทั้งนั้น เหมือนมัดรวมเป็น pack มาให้โหลดกันเลย ถ้าใครต้องไปติดตั้ง Oracle Database อย่าลืมทวงหาแผ่นติดตั้ง AIX 6 นะครับ

- ขั้นตอนการติดตั้งเนี่ยจะต้องทำการ mount แผ่นเข้าไปและใช้ tool ที่ชื่อว่า "SMIT" ในการติดตั้ง fileset เหล่านั้น อยากจะเน้นชื่อเจ้า tool ตัวนี้จริงๆ เพราะมันเปรียบเสมือนพระเจ้าของ System Admin เลยทีเดียว SMIT นั้นย่อมาจาก System Management Interface Tool เป็น tool ครอบจักรวาลเกี่ยวกับการจัดการระบบ ซึ่งในช่วงที่เข้าไปติดตั้งเนี่ยผมมีสโลแกนประจำใจว่า "คิดไม่ออก บอก SMIT" :p

- วิธีการติดตั้งก็ใช้ command ดังนี้ SMIT install_latest หรือจะเข้าจาก SMIT แล้วไปไล่หา option เอาก็ได้

- จะมี interface ขึ้นมาจากนั้นก็เลือก fileset ที่จะติดตั้งตาม wizard ได้เลยครับซึ่งอาจจะปล่อย option ต่างๆให้เป็น default ไปก็ได้จากนั้นกด OK ก็จะเป็นการติดตั้ง

- เมื่อติดตั้งเสร็จแล้วลองตรวจสอบดูโดยใช้คำสั่ง lslpp -l ตามด้วยชื่อ fileset ที่ต้องการตรวจสอบ เช่น lslpp -l bos.adt.libm ก็น่าจะพบว่าติดตั้งเรียบร้อยแล้ว

ทั้ง 3 ข้อที่กล่าวมานั้นเป็นการกล่าวถึงขั้นตอนที่อาจแตกต่างจาก platform อื่นๆ ส่วน pre-requisite บางอย่างเช่น ค่า kernel นั้นก็แก้ได้เช่นเดียวกับ Linux อื่นๆครับ จากนั้นก็จะสามารถติดตั้ง Oracle Database 11g บน AIX 6 ได้แล้วครับ หวังว่าบล็อคนี้จะเป็นประโยชน์ต่อผู้ที่ต้องติดตั้งบน AIX 6 ไม่มากก็น้อยนะครับ :)
ข้อเขียนนี้ช่วยฉัน:  

Thursday, July 22, 2010

วิธีเปลี่ยนเมนูภาษาไทยเป็นอังกฤษใน Oracle Developer Suite 10g

เมื่อติดตั้ง Oracle Developer Suite 10g ได้เมนูเป็นภาษาไทย รู้สึกใช้งานยาก ต้องการเปลี่ยนเป็น Eng ทำอย่างไร? วันนี้ผมมีวิธีแก้มาบอกครับ

การแก้ปัญหาต้องการเปลี่ยนเมนูของ Oracle Developer Suite 10g จากภาษาไทยให้เป็นภาษาอังกฤษ

ขั้นตอนการแก้ปัญหาสามารถทำได้ดังนี้
1. Start > Run และพิมพ์ regedit


2. ที่แท็บ HKEY_LOCAL_MACHINE ทำการค้นหา registry ที่ชื่อ nls_lang ของ Developer Suite ซึ่งแต่ละเครื่องอาจจะอยู่ที่ Path ต่างๆกันไป สามารถทำการค้นหาได้ โดยคลิกขวาที่ HKEY_LOCAL_MACHINE และกด Find จากนั้นพิมพ์n ls_lang และกด Find (ในที่นี้ อยู่ที่ HKEY_LOCAL_MACHINE > SOFTWARE >Wow6432Node > ORACLE > KEY_DevSuiteHome1)


3. คลิกขวาที่ nls_lang และเลือก Modify ให้ทำการแก้ไขค่าจาก THAI_THAILAND.TH8TISASCII ให้เป็น AMERICAN_AMERICA.TH8TISASCII ซึ่งการแก้ไขแบบนี้ จะทำให้เมนูของ Oracle Developer Suite กลายเป็นภาษาอังกฤษ และยังสามารถเก็บข้อมูลหรือแสดงผลเป็นภาษาไทยได้อีกด้วย จากนั้นกด OK


4. ทำการ Restart เครื่อง จากนั้นเมนูของ Oracle Developer Suite จะกลายเป็นภาษาอังกฤษแล้วครับ

Credit by Yong
ข้อเขียนนี้ช่วยฉัน:  

Friday, July 9, 2010

Oracle Database Vault

Oracle Database Vault คืออะไร ? ในบทความวันนี้ ผมจะมาอธิบายข้อดีคร่าว ๆ ของการใช้เจ้าตัวนี้ ให้ทุกท่านได้อ่านกันนะครับ

Oracle Database Vault
คือส่วนหนึ่งของ database security ครับ โดยจะทำหน้าจำกัด user ผู้เข้าใช้ database ให้สามารถเข้าได้เฉพาะ user ที่ได้รับอนุญาติหรือเป็น DBA นั่นเองครับ ทั้งนี้เพื่อความปลอดภัยของ application ต่าง ๆ ที่ต้องการ security โดยมีหลักการ security ตามข้อบังคับต่าง ๆ เช่น Sarbanes-Oxley, Payment Card Industry (PCI) Data Security Standard (DSS), Health Insurance Portability and Accountability Act (HIPAA)และ อื่น ๆ ที่เกี่ยวข้องกับ security ใน data integrity และ data privacy โดย Oracle Database Vault จะทำการป้องกันการเข้าใช้ database ตาม environtment ต่างๆที่ต้องการ เช่น วันเวลาที่เข้าใช้, IP Address ของผู้เข้าใช้, ชื่อเข้า application ที่เข้ามาใช้ และการ authentication user ต่าง ๆ

โดยการใช้ Oracle Database Vault มีข้อดีดังนี้ครับ
  • Pro-actively safeguard application data stored in the Oracle database คือการป้องกันไม่ให้ผู้ใช้ที่ไม่ผ่านการ authentication เข้ามาใช้ข้อมูลได้
  • Address regulatory requirements คือการแบ่งความรับชอบตามหน้าที่ของ user
  • Restrict ad-hoc access to application data เป็นการป้องกันการใช้ application ที่ไม่ได้รับอนุญาติให้เข้าใช้ ด้วย multi-factor policies
  • Deploy with confidence สามารถติดตั้งได้กับ Oracle E-Business Suite, Oracle PeopleSoft, และ Oracle Siebel CRM
  • Realms เป็นการรวม schemas, object และ role ต่างๆที่ต้องการให้มี secure ไว้ด้วยกัน และกำหนดสิทธิ์ให้เฉพาะบาง user หรือ role มีสิทธิ์เข้าถึงข้อมูลเหล่านั้นได้
  • Command Rules เป็นการกำหนดให้ user สามารถ execute คำสั่งได้บางคำสั่ง
  • Factors เป็นการกำหนดการเข้าถึงข้อมูลโดยใช้ factor ซึ่งจะเก็บค่าต่างๆเช่น user location, database IP address หรือ user's session
  • Rule Sets คือ rule หรือกลุ่มของ rule ที่ใช้ร่วมกับ realms, command rule, factor และ secure application role
  • Secure Application Role เป็น special role ที่สามารถใช้ร่วมกับ rule set ได้
Credit by Ice, Yong

อ้างอิง
ข้อเขียนนี้ช่วยฉัน:  

Tuesday, June 8, 2010

ทำไมการใช้ index จึงทำให้ query ข้อมูลได้ไวขึ้น?

การทำ index ในฐานข้อมูล ก็คลายกับการทำ index ในท้ายเล่มของหนังสือ การที่เราจะหาเนื้อหาในหนังสือเราก็เปิดไปที่ index แล้วก็หาว่าตัวเนื้อหาที่เราต้องการอ่านนั้นอยู่หน้าไหนบ้าง เราก็เปิดไปยังหน้านั้นได้เลย โดยที่ไม่ต้องมาเปิดหนังสือดูทุกหน้าว่าเนื้อหาที่เรากำลังหานั้นอยู่หน้าไหน

ในฐานข้อมูลการทำ index ก็จะทำให้กับ field หรือคอลัมน์ที่เรามีเงื่อนไขในการ query บ่อยๆ การดึงข้อมูลก็จะไปดูที่ index แล้วกระโดดไปยังตำแหน่งที่เก็บข้อมูลเลยโดยไม่ต้องค้นหาทุกแถวในตาราง

ตัวอย่างเช่น การทำ index ให้กับตาราง employees ที่คอลัมน์ emp_id
1rowid
2rowid
3rowid
..
..
..

เมื่อมีการ query

SELECT *
FROM employees
WHERE emp_id = 3;

Database ก็จะวิ่งไปดึงข้อมูลยังตำแหน่งที่เก็บข้อมูลของ emp003 มาแสดง โดยที่ไม่ต้องวิ่งไปหาทุกๆ แถวในตาราง employees

Oracle Database มี Index อยู่หลายประเภทแต่ที่ถูกใช้กันทั่วไปคือ B-Tree Indexes

(รูปภาพจาก www.oracle.com)

จากรูปจะเห็นว่า B-tree Index นั้นมี block อยู่สองประเภทด้วยกันคือ Branch blocks ไว้สำหรับการค้นหา และ leaf blocks สำหรับเก็บค่า ในการค้นหาก็จะแบ่งเป็นช่วงๆ ตามขอบเขตแต่ละ block ทำให้การค้นหานั้นมีประสิทธิภาพ

ซึ่ง การใช้ index นั้น ยังมีรายละเอียดเสริมเพื่อเพิ่มความเข้าใจอีก โดย คุณ Siamnobita ได้อธิบายเกี่ยวกับ index ด้วยกัน 5 ข้อดังต่อไปนี้

1. สิ่งที่ทำให้เราสามารถค้นหาใน index ได้เร็วนั้นเนื่องจากมีการ sort ตามค่าในคอลัมน์ด้วย เคยมีคนตั้งคำถามใน narisa ประมาณว่าทำไม oracle ถึงไม่เรียงลำดับข้อมูลในตารางซะเลย จะได้ไม่ต้องใช้ index คำตอบก็คือการจัดเก็บแบบเรียงลำดับนั้นทำได้ยากกว่าและเกิดต้นทุนตามมาเช่น เวลาที่ใช้เมื่อมีการเพิ่ม record ใหม่ พื้นที่ว่างเมื่อเกิดการ split block เป็นต้น อย่างไรก็ดีหากเราไม่มีปัญหากับต้นทุนเหล่านี้ เราก็สามารถจัดเก็บข้อมูลในตารางแบบเรียงลำดับได้เลย นั่นคือใช้ index-organized table (IOT) ซึ่งถือเป็นวิธีที่เร็วที่สุดในการค้นหาข้อมูลตาม primary key

2. ปกติเวลา oracle อ่านข้อมูลจะอ่านทีละ block ไม่ใช่ทีละแถว ดังนั้นจะดูว่าเร็วหรือช้า จะนับจากว่า oracle ต้อง access ข้อมูลจำนวนกี่ block เช่น

ถ้าดูจากรูปด้านบน index มี 3 level
เมื่อเรา select * from ... where index_column = ??
oracle จะอ่านข้อมูลทั้งสิ้น 4 block คือ root block ตัวบนสุด, branch block ตัวกลาง, leaf block ตัวล่างสุด, table block ซึ่งรู้ได้ทันทีเมื่อรู้ค่า rowid จำนวน level ที่น้อยที่สุดที่เป็นไปได้คือ 1 level คือเก็บ rowid ไว้ใน root block เลย ซึ่งจะเกิดในกรณีที่ข้อมูลมีจำนวนไม่มาก ( โดย default ขนาดของ block ประมาณ 8K )

3. คำถามคือ หากข้อมูลมีขนาดเล็ก ๆ เช่น ตารางมีขนาดแค่ block เดียว การใช้ index ยังมีประโยชน์อยู่หรือไม่ เดิมผมเคยเข้าใจว่าไม่มีประโยชน์เหมือนกัน แต่เมื่อได้อ่าน blog ของคุณ richard foote ซึ่งทำการทดสอบให้เห็นชัด ๆ ไปเลย พบว่า index ก็ยังมีประโยชน์อยู่ดี เนื่องจาก

3.1 ในการ full table scan นอกจากตัว block ที่เก็บ data แล้วยังต้องอ่าน header block ด้วยจึงมี cost ที่เกิดขึ้นไม่ใช่แค่ 1 I/O เมื่อเทียบกับ index ที่ใช้ 2 I/O (root block + data block) ก็พอ ๆ กัน

3.2 ในการ full table scan จะเก็บ data ที่อ่านมาบน buffer cache ด้าน LRU ซึ่งจะอยู่ใน memory ได้ไม่นาน ขณะที่ index scan จะวางไว้ด้าน MRU ทำให้มีโอกาสใช้ประโยชน์จากการอ่านจาก memory โดยตรงได้มากกว่า โดยเฉพาะเมื่อมีการเรียกใช้ข้อมูลจาก table บ่อย ๆ

4. ในข้อ 3 เขาทดสอบเฉพาะกรณี index unique scan เช่นค้นตาม primary key เท่านั้น หากเป็น index range scan จะเป็นอีกกรณีหนึ่ง ซึ่งทุก rowid ที่เจอใน index ก็จะต้องมีการ access table block หนึ่งครั้ง แม้ว่า block นั้นจะอยู่บน memory แล้วก็ยังเป็น cost อยู่ดี ดังนั้น full table scan ก็อาจจะคุ้มกว่าขึ้นกับจำนวนแถวที่ต้องการ

5. ประโยชน์ของ index อีกข้อ คือโดยปกติจำนวน column ใน index จะน้อยกว่า column ใน table มาก ๆ ดังนั้นขนาดของ index ก็จะเล็กกว่า table มาก ๆ ด้วย หากเราต้องการดูเฉพาะข้อมูลที่อยู่ใน index อยู่แล้ว เราก็อาจ full scan ที่ index แทน table ไปเลยก็ได้ ซึ่งกรณีนี้จะเป็นการ fast full scan ซึ่งอ่าน index แบบ multi block เหมือน table scan ( full scan ใน index มี 2 แบบ full scan เฉย ๆ กับ fast full scan แบบแรกอ่านทีละ block ซึ่งช้ากว่า แต่ข้อดีคือ ผลลัพธ์มีการ sort ตาม index แบบหลังจะไม่มีการเรียงลำดับ

ปล. ต้องขอบคุณคำอธิบายดี ๆ จาก คุณ Siamnobita มาก ๆ ครับ

Credit by Paley (@ratipong)

อ้างอิง
ข้อเขียนนี้ช่วยฉัน:  

Friday, June 4, 2010

การเลือก Shutdown database ให้เหมาะสม

หลายท่านที่ได้ทำ Database ต้องรู้จักการ Shutdown database อย่างแน่นอน ซึ่งบางคนก็จะใช้แต่คำสั่ง Shutdown immediate แต่คุณรู้ไหมว่าจริง ๆ แล้วการ shutdown นั้น มีหลายแบบแต่ละแบบนั้นมีความแตกต่างกันขึ้นอยู่กับความเหมาะสมของแต่ละงาน ฉะนั้น เรามาดูกันดีกว่าว่า เราควรจะ Shutdown database แบบไหนให้เหมาะสมที่สุด...


Mode ในการ Shutdown database มีด้วยกัน 4 mode ดังนี้

SHUTDOWN NORMAL mode นี้จะเป็น mode ปกติ ที่ต้องรอให้ผู้ใช้ ใช้งานเสร็จทั้งหมดก่อนถึงจะ shutdown ให้
  • หลังทำการรันคำสั่งนี้แล้ว จะไม่อนุญาตให้มีการเชื่อมต่อเข้ามาใหม่ และ จะรอจนกว่าการเชื่อมต่อที่มีอยู่ทำการยกเลิกการเชื่อมต่อก่อนจึงจะ shutdown
  • การ startup ครั้งต่อไป จะไม่มีการทำ instance recovery

SHUTDOWN TRANSACTIONAL mode นี้จะเป็นการ shutdown ไม่ต้องรอให้ผู้ใช้คนอื่นทำ sessions เสร็จก่อน โดยจะทำการปิด sessions ให้เลย แต่ถ้ายังมีการทำ transactions อยู่ก็รอจนกว่าจะทำเสร็จถึงจะปิดให้
  • หลังทำการรันคำสั่งนี้แล้ว จะไม่อนุญาตให้มีการเชื่อมต่อเข้ามาใหม่ รวมถึง transaction ที่ยังไม่ได้รัน
  • จะรอให้ Transaction ที่ทำงานค้างอยู่ทำงานให้เสร็จก่อน จากนั้นจะทำการยกเลิกการเชื่อมต่อทั้งหมด
  • มีประโยชน์สำหรับการป้องกันไม่ให้งานที่ทำอยู่เกิดข้อผิดพลาด เนื่องจากจะรอให้ทำ transaction ต่างๆที่ค้างอยู่เสร็จก่อน
  • การ startup ครั้งต่อไป จะไม่มีการทำ instance recovery

SHUTDOWN IMMEDIATE mode ไม่ต้องรอใน transactions mode นี้จะปิดให้เลยโดยไม่เลย transactions จบ
  • หลังทำการรันคำสั่งนี้แล้ว จะไม่อนุญาตให้มีการเชื่อมต่อเข้ามาใหม่ รวมถึง transaction ที่ยังไม่ได้รัน
  • Transaction ใดๆที่ยังไม่ได้มีการ commit จะถูก roll back ไปทั้งหมด
  • การเชื่อมต่อทั้งหมดจะถูกยกเลิกทันที
  • การ startup ครั้งต่อไป จะไม่มีการทำ instance recovery

SHUTDOWN ABORT mode นี้จะเป็นการ shutdown เร็วที่สุด เพราะ mode นี้จะไม่ต้องรออะไร
  • หลังทำการรันคำสั่งนี้แล้ว จะไม่อนุญาตให้มีการเชื่อมต่อเข้ามาใหม่ รวมถึง transaction ที่ยังไม่ได้รัน
  • SQL Statement ที่กำลังทำงานอยู่จะถูก terminate ทันที
  • Transaction ใดๆที่ยังไม่ได้มีการ commit จะไม่ถูก roll back
  • การเชื่อมต่อทั้งหมดจะถูกยกเลิกทันที
  • การ startup ครั้งต่อไป จะมีการทำ instance recovery

หรือสามารถดูสรุปได้จากตารางด้านล่างครับ

Database Behavior ABORT IMMEDIATE TRANSACTIONAL NORMAL

Permits new user connections

No

No

No

No

Waits until current sessions end

No

No

No

Yes

Waits until current transactions end

No

No

Yes

Yes

Performs a checkpoint and closes open files

No

Yes

Yes

Yes

Credit by Yong(@stigmatise)

อ้างอิง
ข้อเขียนนี้ช่วยฉัน:  

Tuesday, May 11, 2010

การ Install Oracle Applications 11i

การ Install Oracle Applications 11i (11.5.1) แบบมีตัวอย่างข้อมูล
1. เมื่อรัน Oracle Applications Installer แล้วจะพบหน้าต่างดังนี้ จากนั้นกด Next
ioa11
2. เลือก Install Oracle Applications E-Business 11i จากนั้นกด Next
ioa11
3. ที่หน้า Load Configuration เลือก No จากนั้นกด Next
ioa11
4. ที่หน้า Install Type เลือก Single-Node จากนั้นกด Next
ioa11
5. ที่หน้า Define Database Type ให้เลือก Vision Demo Database เพื่อจะได้มีข้อมูลตัวอย่าง จากนั้นใส่ Database Name และนั้นกด Next
ioa11
6. ทำการใส่ Group และ Directory ที่จะทำการ Install Database จากนั้นกด Next
ioa11
7. ทำการใส่ Group และ Directory ที่จะทำการ Install Application จากนั้นกด Next
ioa11
8. ที่หน้า Global System Settings ปล่อยให้ค่าเป็นตาม Default จากนั้นกด Next
ioa11
9. ที่หน้า Save Instance – specific Configuration ให้ปล่อยค่าเป็นตาม Default หรือเปลี่ยน Directory ตามต้องการจากนั้นกด Next
ioa11
10. จะมีหน้าต่างแสดงการตรวจสอบ Pre – Requisites ต่างๆ
ioa11
11. เมื่อตรวจสอบเสร็จแล้วจะพบหน้าต่างนี้ ถ้าผ่านหมดก็จะมีเครื่องหมายถูกทุกเงื่อนไข แต่ถ้าเงื่อนไขใดไม่ผ่านก็จะมีเครื่องหมายผิด จากนั้นกด Next
ioa11
12. จะพบหน้าต่างแสดงสรุปก่อนจะ Install จากนั้นกด Next จะมีกล่องข้อความเตือนให้กด Yes
ioa11
13. การ Install จะเริ่มขึ้นและมีหน้าต่างแสดง Progress ของการ Install
ioa11
14. การ Install จะใช้เวลาหลายชั่วโมง เมื่อเสร็จแล้วจะพบหน้าต่างสรุปผลการ Install ดังนี้ จากนั้นกด Next
ioa11
15. จะพบหน้าต่าง Finish ให้กด Finish เป็นอันเสร็จสิ้นการ Install Oracle Applications 11i แบบมีตัวอย่างข้อมูล
ioa11
หมายเหตุ การ Install แบบนี้จะมี Default Character Set เป็น UTF8 ซึ่งจะไม่สามารถเลือกให้เป็น Character Set อื่นได้ ถ้าต้องการให้เป็น Character Set อื่นๆ จะต้องเลือก Install แบบ Fresh Database
การ Install Oracle Applications 11i แบบไม่มีตัวอย่างข้อมูล
1. เมื่อรัน Oracle Applications Installer แล้วจะพบหน้าต่างดังนี้ จากนั้นกด Next
ioa11
2. เลือก Install Oracle Applications E-Business 11i จากนั้นกด Next
ioa11
3. ที่หน้า Load Configuration เลือก No จากนั้นกด Next
ioa11
4. ที่หน้า Install Type เลือก Single-Node จากนั้นกด Next
ioa11
5. ที่หน้า Define Database Type ให้เลือก Fresh Database จากนั้นใส่ Database Name และกด Next
ioa11
6. ทำการใส่ Group และ Directory ที่จะทำการ Install Database จากนั้นกด Next
ioa11
7. ที่หน้า Select Licensing Type เลือก E-Business Suite Licensing จากนั้นกด Next
ioa11
8. ที่หน้า License Additional Products ปล่อยค่าเป็นตาม Default หรือเลือกเพิ่มเติมตามความเหมาะสม จากนั้นกด Next
ioa11
9. เลือก Region ให้เป็นประเทศไทย จากนั้นกด Next
ioa11
10. ที่หน้า Additional Language เลือกภาษาตามความเหมาะสมจากนั้นกด Next
ioa11
11. เลือก Character Set ตามที่ต้องการจากนั้นกด Next
ioa11
12. ทำการใส่ Group และ Directory ที่จะทำการ Install Application จากนั้นกด Next
ioa11
13. ที่หน้า Global System Settings ปล่อยให้ค่าเป็นตาม Default จากนั้นกด Next
ioa11
14. ที่หน้า Save Instance – specific Configuration ให้ปล่อยค่าเป็นตาม Default หรือเปลี่ยน Directory ตามต้องการจากนั้นกด Next
ioa11
15. จะมีหน้าต่างแสดงการตรวจสอบ Pre – Requisites ต่างๆ
ioa11
16. เมื่อตรวจสอบเสร็จแล้วจะพบหน้าต่างนี้ ถ้าผ่านหมดก็จะมีเครื่องหมายถูกทุกเงื่อนไข แต่ถ้าเงื่อนไขใดไม่ผ่านก็จะมีเครื่องหมายผิด จากนั้นกด Next
ioa11
17. จะพบหน้าต่างแสดงสรุปก่อนจะ Install จากนั้นกด Next จะมีกล่องข้อความเตือนให้กด Yes
ioa11
18. การ Install จะเริ่มขึ้นและมีหน้าต่างแสดง Progress ของการ Install
ioa11
19. การ Install จะใช้เวลาหลายชั่วโมง เมื่อเสร็จแล้วจะพบหน้าต่างสรุปผลการ Install ดังนี้ จากนั้นกด Next
ioa11
20. จะพบหน้าต่าง Finish ให้กด Finish เป็นอันเสร็จสิ้นการ Install Oracle Applications 11i แบบไม่มีตัวอย่างข้อมูล
ioa11

Credit by Yong (@stigmatise)
ข้อเขียนนี้ช่วยฉัน:  

Monday, May 10, 2010

มาเตรียมเครื่องให้พร้อม ก่อนลง Oracle Applications 11i กันดีกว่า

Oracle Applications 11i’s Prerequisite

สำหรับการ Install Oracle Applications 11i (11.5.1)ใน Linux Red Hat 4 มีสิ่งที่ต้องทำก่อนดังต่อไปนี้

1. ตรวจสอบ Package ว่ามีครบดังต่อไปนี้หรือไม่
    compat-db-4.1.25-9
    compat-gcc-32-3.2.3-47.3
    compat-gcc-32-c++-3.2.3-47.3
    *compat-oracle-rhel4-1.0-5
    *compat-libcwait-2.1-1
    compat-libgcc-296-2.96-132.7.2
    compat-libstdc++-296-2.96-132.7.2
    compat-libstdc++-33-3.2.3-47.3
    xorg-x11-deprecated-libs-devel-6.8.2-1.EL.13.37
    xorg-x11-deprecated-libs-6.8.2-1.EL.13.37
    openmotif-2.2.3-10.RHEL4.5

หมายเหตุ Package ที่มีเครื่องหมาย * สามารถหาได้จาก Oracle patch 4198954

2. ต้องมีเวอร์ชันของ Kernel ขั้นต่ำคือ 2.6.9-42.0.0.0.1.EL สามารถตรวจสอบได้โดยใช้คำสั่ง
    uname –r

3. ต้องมีเวอร์ชันของ glibc ขั้นต่ำคือ 2.3.4-2.25 สามารถตรวจสอบได้โดยใช้คำสั่ง
    rpm –q glibc

4. เพิ่มหรือแก้ไขค่า Domain Name Server Resolver Parameter ซึ่งอยู่ในไฟล์ /etc/resolv.confดังนี้
    options attempts:5
    options timeout:15

5. ตรวจสอบว่า Host Names ถูกต้องหรือไม่ ทำตามขั้นตอนดังต่อไปนี้
    5.1 ตรวจสอบในไฟล์ /etc/hosts ว่ามีรูปแบบดังนี้หรือไม่

          127.0.0.1 localhost.localdomain localhost
          <ip_address> <node_name>.<domain_name> <node_name>

    5.2 ตรวจสอบในไฟล์ /etc/sysconfig/network ว่ามีรูปแบบดังนี้หรือไม่

          HOSTNAME=<node_name>.<domain_name>

    5.3 ถ้ามีไฟล์ /etc/sysconfig/networking/profiles/default/network อยู่ ให้ทำการลบทิ้ง
    5.4 ถ้ามีการแก้ไขในขั้นตอนใดขั้นตอนหนึ่งก่อนหน้านี้ ให้ทำการ Restart เครื่องก่อนที่จะทำขั้นตอนต่อไป

6. เพิ่มหรือแก้ไขค่า Number of Open File Descriptors ซึ่งอยู่ในไฟล์ /etc/security/limits.conf ดังนี้
    * hard nofile 65535
    * soft nofile 4096
7. เพิ่มหรือแก้ไขค่า Port Range ซึ่งอยู่ในไฟล์ /etc/sysctl.conf ดังนี้
    net.ipv4.ip_local_port_range = 10000 65000

หลังจากทำการแก้ไขค่าต่างๆเรียบร้อยแล้วควรจะทำการ Restart เครื่องก่อนที่จะทำการ Install Oracle Applications 11i เมื่อ Restart แล้วก็น่าจะสามารถทำการ Install ได้โดยที่ไม่ติด Pre-requisites ใดๆครับ

สำหรับใครที่พร้อมแล้ว รอบทความหน้าของผม จะว่าด้วยเรื่องการ install ต่อนะครับ

Credit by Yong (@stigmatise)
ข้อเขียนนี้ช่วยฉัน:  

Thursday, March 11, 2010

การ Install Oracle Database 11g และสร้าง Database

เรามาดูิธีการ Install Oracle Database 11g กันเลยดีกว่า...

ขั้นตอนการ Install Oracle Database 11g ทำดังนี้
  1. ล็อคอินเข้าสู่ระบบโดยใช้ User ที่อยู่ใน Group ที่มีสิทธิ์ในการ Install และใช้งาน Oracle Database ได้
  2. ใส่แผ่น CD ที่จะทำการ Install จะมีหน้าต่าง Autorun ขึ้นมา
  3. ที่หน้า Configure Security Update จะมีให้ใส่ E-mail และ Oracle Support Password จากนั้นให้กด
    Next แต่ถ้าไม่ต้องการใส่ให้ Uncheck เครื่องหมายถูกออกไป และปล่อยเว้นว่างไว้ทั้ง2 ช่อง จากนั้นกด Next ถ้ามีหน้าต่างเตือนให้กด Yes
  4. ที่หน้า Installation Option ให้เลือก Create and configure a database จากนั้นกด Next
  5. ที่หน้า System Class เลือก Server Class จากนั้นกด Next
  6. ที่หน้า Grid Option เลือก Single instance database installation จากนั้นกด Next
  7. ที่หน้า Install Type เลือก Advanced Install จากนั้นกด Next
  8. ที่หน้า Product Languages เลือกภาษาที่ต้องการเพิ่มเติม (นอกเหนือจาก English) จากนั้นกด Next
  9. ที่หน้า Installation Location ปล่อยให้ค่าต่างๆเป็นไปตาม Default จากนั้นกด Next
  10. ที่หน้า Create Inventory ปล่อยให้ค่าต่างๆเป็นไปตาม Default จากนั้นกด Next
  11. ที่หน้า Create Inventory ปล่อยให้ค่าต่างๆเป็นไปตาม Default จากนั้นกด Next
  12. ที่หน้า Configuration Type เลือก General Purpose / Transaction Processing จากนั้นกด Next
  13. ที่หน้า Database Identifiers ปล่อยให้ค่าต่างๆเป็นไปตาม Default จากนั้นกด Nex
  14. ที่หน้า Configuration Options ที่แท็บ Memory ปล่อยให้ค่าเป็นไปตาม Default
  15. ที่แท็บ Character sets เลือก Choose from the following list of character sets และเลือก Thai TH8TISASCII จาก List
  16. ที่แท็บ Security ปล่อยให้ค่าเป็นไปตาม Default
  17. ที่แท็บ Sample Schema ถ้าต้องการสร้าง Sample Schema ให้ Check เครื่องหมายถูก ถ้าไม่ต้องการสร้างก็ไม่ต้อง Check เครื่องหมายถูกจากนั้นกด Next
  18. ที่หน้า Management Option ปล่อยให้ค่าเป็นไปตาม Default จากนั้นกด Next
  19. ที่หน้า Database Storage ปล่อยให้ค่าเป็นไปตาม Default จากนั้นกด Next
  20. ที่หน้า Backup and Recovery ปล่อยให้ค่าเป็นไปตาม Default จากนั้นกด Next
  21. ที่หน้า Schema Passwords เลือก Use the same password for all accounts จากนั้นให้ใส่ Password ที่ต้องการลงไป และใส่ Password เดิมซ้ำเพื่อยืนยัน
  22. ที่หน้า Operating System Groups ปล่อยให้ค่าเป็นไปตาม Default จากนั้นกด Next
  23. ที่หน้า Prerequisite Checks จะพบรายการที่ไม่ผ่านข้อกำหนดอยู่ ซึ่งถ้ารายการได้สามารถแก้ไขได้โดย OUI (Oracle Universal Installer) จะมีคำว่า Yes ต่อท้ายอยู่ที่ช่อง Fixable ถ้าต้องการให้ OUI ทำการสร้าง Script เพื่อทำการแก้ไขสามารถทำได้โดยกด Fix and check again
  24. หน้าต่าง Execute Fixup Scripts จะปรากฎขึ้นมา และแสดงวิธีการรัน Script แก้ไข
  25. su - root
    /tmp/CVU_11.2.0.0.2_oracle/runfixup.sh
  26. เปิดหน้าต่าง Terminal ขึ้นมา (โดยไม่ต้องปิดหน้าต่าง Execute Fixup Scripts) และรัน Script ด้วย User : Root ด้วยคำสั่งต่อไปนี้
  27. กลับไปยังหน้าต่าง Execute Fixup Scripts และกด OK ถ้าไม่มีปัญหาใดตกค้างอยู่ ก็จะไปหน้าถัดไป แต่ถ้ามีปัญหาตกค้างอยู่ ให้สังเกตว่าจะไม่มีคำว่า Yes ที่ช่อง Fixable ซึ่งปัญหาเหล่านี้ต้องลงมือแก้ไขด้วยตัวเอง ในตัวอย่างนี้มีปัญหาเกี่ยวกับ Package ที่ขาดหายไปดังภาพ แก้ไขโดยการ Install Package ดังกล่าวลงไป (อาจจะหาจากแผ่นที่ทำการ Boot Linux หรือหาโหลดตามเว็บต่างๆก็ได้ครับ) จากนั้นกด Check again
  28. ถ้าไม่พบปัญหาใดๆแล้วจะแสดงหน้า Summary จากนั้นกด Finish
  29. จะพบหน้าต่างแสดง Progress การ Install Oracle Database
  30. เมื่อในส่วนของ Software ถูก Install เสร็จแล้ว ในส่วนของ Database Configuration Assistant จะเริ่มและทำการสร้าง Database ให้
  31. เมื่อ Database ถูกสร้างเสร็จแล้ว กด OK
  32. จะต้องทำการรัน Script อีก 2 Script ด้วย User : Root
  33. เปิดหน้าต่าง Terminal ขึ้นมาแล้วใช้คำสั่งต่อไปนี้
  34. su -
    
    /u01/app/oraInventory/orainstRoot.sh
    /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
  35. กลับมาหน้าต่างเดิมจากนั้นกด OK
  36. จะพบหน้าต่างแสดงการ Install และสร้าง Database เสร็จสมบูรณ์

...เท่านี้ ก็ถือว่าการ install Oracle 11g เสร็จเป็นที่เรียบร้อยครับ
ไว้บทความหน้า ผมจะมาบอกวิธีการสร้าง Database โดยใช้ Database Configuration Assistant (DBCA) นะครับ

อ้างอิง
ข้อเขียนนี้ช่วยฉัน: