หลังจาก ติดตั้ง Oracle Database 11g Release 2 บน CentOS 6 ไปเรียบร้อยแล้ว สิ่งหนึ่งที่ผู้ดูแลระบบหรือ DBA (Database Administrator) ต้องทำเป็นคือเปิด ปิด Oracle Database
ในที่นี้ขอแสดงวิธีการเปิด ปิดแบบง่ายๆ เพื่อใช้อ้างอิงเตือนความจำ
หมายเหตุ ขออนุญาตไม่ลงรายละเอียดของแต่ละคำสั่งว่าคืออะไร
โหลดค่าคอนฟิกด้วย oraenv
ล็อกอินด้วย oracle
ดูชื่อ ORACLE SID ที่จะจัดการ จากไฟล์ /etc/oratab โดยดูคอลัมน์แรกของบรรทัดที่ไม่มีเครื่องหมาย # (comment)
ดีฟอลต์จากการติดตั้งคือ orcl
พิมพ์คำสั่ง . แล้วตามด้วยชื่อไฟล์ /usr/local/bin/oraenv เพื่อโหลดค่าคอนฟิก environment ต่างๆ ที่ต้องใช้ในการรันคำสั่งต่างๆ ของ Oracle เช่น sqlplus, lsnrctl
ใส่ชื่อ ORACLE SID
[oracle@cent6-oracle11g2 ~]$ . /usr/local/bin/oraenv
ORACLE_SID = [oracle] ? orcl
The Oracle base for ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1 is /home/oracle/app/oracle
หมายเหต ต้องใช้เครื่องหมาย . หรือใช้คำสั่ง source แล้วเว้นวรรคตามด้วยชื่อไฟล์ เพราะจะเป็นการรันสคริปต์ oraenv เพื่อโหลดค่าคอนฟิกให้มีผลใน shell ที่ใช้อยู่เลย ไม่ได้สร้าง shell ใหม่
ใช้คำสั่ง set เพื่อดูค่าคอนฟิก environment ที่ได้จากรัน oraenv
[oracle@cent6-oracle11g2 ~]$ set | grep ORA
ORABASE_EXEC=/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/orabase
ORACLE_BASE=/home/oracle/app/oracle
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
ORACLE_SID=orcl
ORAHOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
ORASID=oracle
เปิด ปิด Oracle Database
รันคำสั่ง sqlplus /nolog เพื่อเข้าสู่โหมด SQL ของ Oracle
[oracle@cent6-oracle11g2 ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on Sat Apr 19 23:34:56 2014 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL>
ในโหมด SQL พิมพ์คำสั่ง connect sys/manager as sysdba
SQL> connect sys/manager as sysdba
Connected to an idle instance.
SQL>
หากต้องการเปิด หรือสตาร์ต (Start) Oracle Database ให้พิมพ์คำสั่ง startup
SQL> startup
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2217992 bytes
Variable Size 507512824 bytes
Database Buffers 327155712 bytes
Redo Buffers 2396160 bytes
Database mounted.
Database opened.
SQL>
พิมพ์คำสั่ง exit เพื่อออกจากโหมด SQL
SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options [oracle@cent6-oracle11g2 ~]$
ตัวอย่างการใช้คำสั่ง ps เพื่อดูโปรเซสที่รันด้วย oracle
[oracle@cent6-oracle11g2 ~]$ ps -ef | grep oracle root 1719 1643 0 23:22 pts/0 00:00:00 su - oracle oracle 1720 1719 0 23:22 pts/0 00:00:00 -bash oracle 1860 1 0 23:37 ? 00:00:00 ora_pmon_orcl oracle 1862 1 0 23:37 ? 00:00:00 ora_vktm_orcl oracle 1866 1 0 23:37 ? 00:00:00 ora_gen0_orcl oracle 1868 1 0 23:37 ? 00:00:00 ora_diag_orcl oracle 1870 1 0 23:37 ? 00:00:00 ora_dbrm_orcl oracle 1872 1 0 23:37 ? 00:00:00 ora_psp0_orcl oracle 1874 1 0 23:37 ? 00:00:00 ora_dia0_orcl oracle 1876 1 0 23:37 ? 00:00:00 ora_mman_orcl oracle 1878 1 0 23:37 ? 00:00:00 ora_dbw0_orcl oracle 1880 1 0 23:37 ? 00:00:00 ora_lgwr_orcl oracle 1882 1 0 23:37 ? 00:00:00 ora_ckpt_orcl oracle 1884 1 0 23:37 ? 00:00:00 ora_smon_orcl oracle 1886 1 0 23:37 ? 00:00:00 ora_reco_orcl oracle 1888 1 0 23:37 ? 00:00:00 ora_mmon_orcl oracle 1890 1 0 23:37 ? 00:00:00 ora_mmnl_orcl oracle 1892 1 0 23:37 ? 00:00:00 ora_d000_orcl oracle 1894 1 0 23:37 ? 00:00:00 ora_s000_orcl oracle 1978 1 0 23:37 ? 00:00:00 ora_qmnc_orcl oracle 1992 1 0 23:37 ? 00:00:00 ora_cjq0_orcl oracle 2004 1 0 23:37 ? 00:00:00 ora_q000_orcl oracle 2006 1 0 23:37 ? 00:00:00 ora_q001_orcl [oracle@cent6-oracle11g2 ~]$
หากต้องการปิดหรือ Stop Database ก็พิมพ์คำสั่ง shutdown immediate ในโหมด SQL
[oracle@cent6-oracle11g2 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Sat Apr 19 23:40:44 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> connect sys/manager as sysdba
Connected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@cent6-oracle11g2 ~]$ ps -ef | grep oracle
root 1719 1643 0 23:22 pts/0 00:00:00 su - oracle
oracle 1720 1719 0 23:22 pts/0 00:00:00 -bash
[oracle@cent6-oracle11g2 ~]$
เปิด ปิด Oracle Net Listener
Oracle Net Listener เป็นโปรแกรมเพื่อให้สามารถเชื่อมต่อเข้า Database จากเครื่องอื่นได้ ผ่านทาง TCP พอร์ต 1521
พิมพ์คำสั่ง lsnrctl start เพื่อเปิด หรือสตาร์ต (Start) Oracle Net Listner
หมายเหตุ เช่นเดียวกันกับการรัน sqlplus ก่อนการรันคำสั่ง lsnrctl ต้องโหลดค่าคอนฟิกด้วย oraenv
[oracle@cent6-oracle11g2 ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 19-APR-2014 23:43:00
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Starting /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /home/oracle/app/oracle/diag/tnslsnr/cent6-oracle11g2/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cent6-oracle11g2)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 19-APR-2014 23:43:02
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /home/oracle/app/oracle/diag/tnslsnr/cent6-oracle11g2/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cent6-oracle11g2)(PORT=1521)))
The listener supports no services
The command completed successfully
ตัวอย่างการใช้คำสั่ง ps เพื่อดูโปรเซส Oracle Net Listener ที่ชื่อ tnslsnr
[oracle@cent6-oracle11g2 ~]$ ps -ef | grep tnslsnr oracle 2035 1 0 23:43 ? 00:00:00 /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -inherit
ใช้คำสั่ง netstat เพื่อดูพอร์ต TCP 1521
[oracle@cent6-oracle11g2 ~]$ netstat -an | grep 1521 tcp 0 0 :::1521 :::* LISTEN
พิมพ์คำสั่ง lsnrctl stop หากต้องการปิดโปรเซส Oracle Net Listner
[oracle@cent6-oracle11g2 ~]$ lsnrctl stop LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 19-APR-2014 23:49:39 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) The command completed successfully
ข้อมูลอ้างอิง
- ติดตั้ง Oracle Database 11g Release 2 บน CentOS 6
- การใช้ Oracle SQL Plus เบื้องต้น เพื่อคิวรี่ข้อมูล