วันพุธที่ 22 พฤษภาคม พ.ศ. 2556

เรามาสร้างฐานข้อมูลออราเคิลด้วย DBCA กันครับ

เมื่อคุณจะสร้างฐานข้อมูลสักตัว คุณควรต้องรู้เสียก่อนว่า คุณต้องการสร้างฐานข้อมูลเพื่อใช้งานกับระบบแบบใด OLTP (Online transaction Processing) เช่น ระบบ retail billing, ระบบเว็บที่มีการตอบสนอง realtime
Data Warehouse เช่น ระบบข้อมูล research และ marketing หรือระบบที่ต้องการข้อมูลไปทำ reporting และ data analysis

จากนั้นเรายังต้องรู้เกี่ยวกับ Character Set เพราะเมื่อคุณสร้างฐานข้อมูลแล้วมันจะเป็นการยากที่จะต้องเปลี่ยน Character Set หรือบางครั้งถึงกับต้องสร้างฐานข้อมูลใหม่ ก่อนการเลือก Character Set เราก็ควรที่จะรู้เกี่ยวข้อมูลที่จะเก็บในฐานข้อมูล ว่าเป็นภาษาอะไรบ้าง หรือใช้แค่ภาษาไทยอย่างเดียว

จากนั้นเรามาทำความรู้จัก Database Configuration Assistant (DBCA) คร่าวๆ กัน
DBCA เป็นเครื่องมือที่ช่วยในการสร้างฐานข้อมูออราเคิล ช่วยในการจัดการบางอย่างกับฐานข้อมูล ลบฐานข้อมูล พร้อมกันนี้ใช้ในการจัดการ templates อีกด้วย

อ้างอิง ติดตั้งฐานข้อมูลออราเคิล (Oracle) 11gR2 บน OEL6

ต่อไปนี้คือการใช้ DBCA สร้างฐานข้อมูลคร่าวๆ (เริ่มจากคำสั่ง "dbca" บน linux)


 จากรูปข้างล่าง SID = orcl
Global Database Name = orcl.surachartopun
เมื่อสร้างฐานข้อมูลเรียบร้อย เราจะพบว่า
SQL> select name from v$database;

NAME
---------
ORCL

SQL> show parameter domain

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_domain                            string      surachartopun








 กรณีนี้ต้องเลือก File System เพราะผมไม่ได้ติดตั้ง Grid Infrastructure และไม่มี ASM

พร้อมระบุ path ที่ต้องการวาง database files
ตัวอย่างหลังติดตั้งเสร็จ
[oracle@oralearning ~]$ ls /u01/app/oradata/*/*
/u01/app/oradata/orcl/control01.ctl  /u01/app/oradata/orcl/redo02.log    /u01/app/oradata/orcl/system01.dbf   /u01/app/oradata/orcl/users01.dbf
/u01/app/oradata/orcl/example01.dbf  /u01/app/oradata/orcl/redo03.log    /u01/app/oradata/orcl/temp01.dbf
/u01/app/oradata/orcl/redo01.log     /u01/app/oradata/orcl/sysaux01.dbf  /u01/app/oradata/orcl/undotbs01.dbf




หมายเหตุ รูปเกี่ยวกับ Memory ใน ฐานข้อมูลออราเคิล 11g
ในส่วนนี้ว่างๆจะอธิบายให้อ่าน เกี่ยวกับ Memory ลองพิจารญาจากรูปข้างบน


จากรูปข้างล่างเราต้องเลือก Character Set ที่เราต้องการ








เป็นอันติดตั้งเรียบร้อย
[oracle@oralearning ~]$ ps -aef |grep pmon
oracle    1634     1  0 21:13 ?        00:00:00 ora_pmon_orcl

ไหนๆ ก็ไหนๆ เรามาลองใช้ NETCA เพื่อสร้าง LISTENER (netca) กัน








[oracle@oralearning ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 22-MAY-2013 21:29:03

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oralearning)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                22-MAY-2013 21:28:56
Uptime                    0 days 0 hr. 0 min. 6 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oralearning/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oralearning)(PORT=1521)))
Services Summary...
Service "orcl.surachartopun" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB.surachartopun" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
ตอนนี้เราก็มีฐานข้อมูลเพื่อการทดสอบ หรือใช้งานจริงกันแล้วนะครับ
ทดสอบเล็กๆ น้อยๆ

SQL> create user demo identified by demo;

User created.

SQL> grant create session to demo;

Grant succeeded.

SQL> connect demo/demo@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.200)(PORT = 1521)))(CONNECT_DATA = (SID = orcl)))
Connected.
SQL> show user
USER is "DEMO"
SQL>
SQL> connect demo/demo@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = orcl.surachartopun)))
Connected.
SQL> show user;
USER is "DEMO"
SQL>
จากตัวอย่างข้างบนเราจะเห็นว่าการติดต่อฐานข้อมูลผ่าน LISTENER ด้วย SID และ SERVICE_NAME จะต่างกันเล็กน้อย ลองทบทวนการสร้างฐานข้อมูลข้างต้น หรือ ลองดูข้างล่าง

oracle@oralearning ~]$ ps -aef |grep pmon | grep -v grep
oracle    1634     1  0 21:13 ?        00:00:00 ora_pmon_orcl

[oracle@oralearning ~]$ lsnrctl service |grep Service
Services Summary...
Service "orcl.surachartopun" has 1 instance(s).
Service "orclXDB.surachartopun" has 1 instance(s).

ไม่มีความคิดเห็น: