เริ่มหาเวลาในการเขียนเกียวกับ APEX 4.2 แต่ก็ไม่ใช่เรื่องง่าย ไม่รู้เมื่อไหร่จะเสร็จ ^___^
เลยอัพ ตัวอย่างในการ Request Free Workspace บน apex.oracle.com ไปก่อน มีเวลา ค่อยเขียนเพิ่ม และปรับปรุงเนื้อหา
วันพฤหัสบดีที่ 16 พฤษภาคม พ.ศ. 2556
ออราเคิลบนวินโดวส์กับโปรแกรม Process Explorer (เช็ค CPU และ Thread)
ถ้าคุณคือคนดูแล Windows คุณคงมีเครื่องมือมากมายที่ใช้ในการจัดการตรวจสอบระบบของคุณ แต่ด้วยผมเป็นคนดูแลฐานข้อมูลออราเคิล และอาจจำเป็นต้องใช้ฐานข้อมูลบน Windows ผมสามารถใช้ "Windows Task Manager" เพื่อเช็ค Performance หรือ Processes แต่ออราเคิลบน Windows นั้นเราต้องมองที่ threads (Thread-Based Architecture).
ในบทความ ผมไม่ได้ตั้งใจจะอธิบายอะไรมากมาย เพราะแค่ต้องการแนะนำโปรแกรมที่ชื่อว่า Process Explorer โปรแกรมตัวนี้จะแสดง Process ที่ทำงานอยู่ memory map และสามารถแสดง thread.
จากรูปสนใจ TID 6272 ...จากนั้นลองเช็คในฐานข้อมูล
ในบทความ ผมไม่ได้ตั้งใจจะอธิบายอะไรมากมาย เพราะแค่ต้องการแนะนำโปรแกรมที่ชื่อว่า Process Explorer โปรแกรมตัวนี้จะแสดง Process ที่ทำงานอยู่ memory map และสามารถแสดง thread.
จากรูปสนใจ TID 6272 ...จากนั้นลองเช็คในฐานข้อมูล
SQL> select s.program from v$session s, v$process p where s.paddr = p.addr and p.spid=6272;เรายังสามารถ suspend หรือ kill thread ที่ต้องการ (หมายเหตุ โปรดเช็คก่อน kill หรือ suspend thread).
PROGRAM
----------------------------------------------------------------
ORACLE.EXE (VKRM)
วันพฤหัสบดีที่ 9 พฤษภาคม พ.ศ. 2556
เรามาลองเซต Oracle HTTP Server เพื่อใช้กับ APEX กันเถอะ
เมื่อบทความที่แล้วผมได้กล่าวถึงการติดตั้ง Oracle HTTP Server พร้อมกับตัวอย่างการใช้ mod_plsql ไปนิดหน่อย... ดังนั้นบทความนี้ผมจะลองคอนฟิคเจ้า Oracle HTTP Server นี้ติดต่อกับ APEX 4.x. ผมคงไม่พูดถึงการติดตั้ง APEX นะครับ ไว้ว่างๆ จะทำตัวอย่างให้ดู ตอนนี้ลองดูจาก Link ไปก่อนนะครับ หรือข้ามไปที่ OTN Doc เลย
เรามาเลิกกันเลย ดีกว่า... ผมของสมมุติว่าเรา APEX โฟลเดอร์ อยู่นะครับ ทำไมนะหรือ เพราะเราต้องก๊อปปี้เจ้า APEX/images โฟลเดอร์นะสิ
Note: ผมใช้ Oracle 11g ดังนั้นต้องมีการแก้ไข profile นิดหน่อย ^_______^
- สิ่งแรกคือ unlock และเปลี่ยน password ให้กับ APEX_PUBLIC_USER
เรามาเลิกกันเลย ดีกว่า... ผมของสมมุติว่าเรา APEX โฟลเดอร์ อยู่นะครับ ทำไมนะหรือ เพราะเราต้องก๊อปปี้เจ้า APEX/images โฟลเดอร์นะสิ
Note: ผมใช้ Oracle 11g ดังนั้นต้องมีการแก้ไข profile นิดหน่อย ^_______^
- สิ่งแรกคือ unlock และเปลี่ยน password ให้กับ APEX_PUBLIC_USER
SQL> ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK- จากนั้น ก๊อปปี้ images โฟล์เดอรไปที่ในที่ต้องการ (จากครั้งที่แล้ว Oracle HTTP server ผมอยู่ที่ /u01/app/oracle/Middleware/Oracle_WT1/instances/instance1/config ... งั้นผมขอที่นี่ละกัน แต่จริงๆไม่ใช่ปัญหา เพราะอย่างไรเราก็ต้องเซต Alias อยู่ดี)
2 ;
User altered.
SQL> alter user APEX_PUBLIC_USER identified by password;
User altered.
SQL> CREATE PROFILE APEX_PROFILE LIMIT PASSWORD_LIFE_TIME UNLIMITED ;
Profile created.
SQL> select * from dba_profiles where profile='APEX_PROFILE';
PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
APEX_PROFILE COMPOSITE_LIMIT KERNEL DEFAULT
APEX_PROFILE SESSIONS_PER_USER KERNEL DEFAULT
APEX_PROFILE CPU_PER_SESSION KERNEL DEFAULT
APEX_PROFILE CPU_PER_CALL KERNEL DEFAULT
APEX_PROFILE LOGICAL_READS_PER_SESSION KERNEL DEFAULT
APEX_PROFILE LOGICAL_READS_PER_CALL KERNEL DEFAULT
APEX_PROFILE IDLE_TIME KERNEL DEFAULT
APEX_PROFILE CONNECT_TIME KERNEL DEFAULT
APEX_PROFILE PRIVATE_SGA KERNEL DEFAULT
APEX_PROFILE FAILED_LOGIN_ATTEMPTS PASSWORD DEFAULT
APEX_PROFILE PASSWORD_LIFE_TIME PASSWORD UNLIMITED
APEX_PROFILE PASSWORD_REUSE_TIME PASSWORD DEFAULT
APEX_PROFILE PASSWORD_REUSE_MAX PASSWORD DEFAULT
APEX_PROFILE PASSWORD_VERIFY_FUNCTION PASSWORD DEFAULT
APEX_PROFILE PASSWORD_LOCK_TIME PASSWORD DEFAULT
APEX_PROFILE PASSWORD_GRACE_TIME PASSWORD DEFAULT
16 rows selected.
SQL> select * from dba_profiles where profile='DEFAULT';
PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED
DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED
DEFAULT CPU_PER_SESSION KERNEL UNLIMITED
DEFAULT CPU_PER_CALL KERNEL UNLIMITED
DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED
DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED
DEFAULT IDLE_TIME KERNEL UNLIMITED
DEFAULT CONNECT_TIME KERNEL UNLIMITED
DEFAULT PRIVATE_SGA KERNEL UNLIMITED
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180
DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED
DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL
DEFAULT PASSWORD_LOCK_TIME PASSWORD 1
DEFAULT PASSWORD_GRACE_TIME PASSWORD 7
16 rows selected.
SQL> alter user APEX_PUBLIC_USER profile APEX_PROFILE;
User altered.
SQL>
SQL> conn APEX_PUBLIC_USER
Enter password:
Connected.
SQL>
$ cp -rf images /u01/app/oracle/Middleware/Oracle_WT1/instances/instance1/config/OHS/ohs1- ตามด้วยการแก้ไข dads.conf ไฟล์ แล้ว restart Oracle HTTP server
$ vi /u01/app/oracle/Middleware/Oracle_WT1/instances/instance1/config/OHS/ohs1/mod_plsql/dads.conf
$ cat /u01/app/oracle/Middleware/Oracle_WT1/instances/instance1/config/OHS/ohs1/mod_plsql/dads.conf
# ============================================================================
# mod_plsql DAD Configuration File
# ============================================================================
# 1. Please refer to dads.README for a description of this file
# ============================================================================
# Note: This file should typically be included in your plsql.conf file with
# the "include" directive.
# Hint: You can look at some sample DADs in the dads.README file
# ============================================================================
Alias /i/ "/u01/app/oracle/Middleware/Oracle_WT1/instances/instance1/config/OHS/ohs1/images/"
<Location /pls/apex>
Order deny,allow
PlsqlDocumentPath docs
AllowOverride None
PlsqlDocumentProcedure wwv_flow_file_mgr.process_download
PlsqlDatabaseConnectString localhost:1521:orcl
PlsqlNLSLanguage AMERICAN_AMERICA.AL32UTF8
PlsqlAuthenticationMode Basic
SetHandler pls_handler
PlsqlDocumentTablename wwv_flow_file_objects$
PlsqlDatabaseUsername APEX_PUBLIC_USER
PlsqlDefaultPage apex
PlsqlDatabasePassword password
PlsqlRequestValidationFunction wwv_flow_epg_include_modules.authorize
Allow from all
</Location>
$ export ORACLE_HOME=/u01/app/oracle/Middleware/Oracle_WT1- หลังจากนั้นลองเรียกการใช้งานด้วย http://IP:7777/pls/apex มันควรที่จะต้องโชว์ผลลัพธ์ดังรูปข้างล่าง
$ export ORACLE_INSTANCE=/u01/app/oracle/Middleware/Oracle_WT1/instances/instance1
$ /u01/app/oracle/Middleware/Oracle_WT1/opmn/bin/opmnctl status
Processes in Instance: instance1
---------------------------------+--------------------+---------+---------
ias-component | process-type | pid | status
---------------------------------+--------------------+---------+---------
ohs1 | OHS | 5611 | Alive
$ /u01/app/oracle/Middleware/Oracle_WT1/opmn/bin/opmnctl stopproc ias-component=ohs1
opmnctl stopproc: stopping opmn managed processes...
$ /u01/app/oracle/Middleware/Oracle_WT1/opmn/bin/opmnctl startproc ias-component=ohs1
opmnctl startproc: starting opmn managed processes...
$ /u01/app/oracle/Middleware/Oracle_WT1/opmn/bin/opmnctl status
Processes in Instance: instance1
---------------------------------+--------------------+---------+---------
ias-component | process-type | pid | status
---------------------------------+--------------------+---------+---------
ohs1 | OHS | 5841 | Alive
$
สมัครสมาชิก:
บทความ (Atom)



