<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-258630227986295167</id><updated>2011-11-28T06:46:22.634+07:00</updated><category term='indexes'/><category term='web application'/><category term='ทริกเกอร์ ระวัง'/><category term='top object'/><category term='sga'/><category term='hash'/><category term='pga'/><category term='regexp'/><category term='no archived log'/><category term='date'/><category term='grant'/><category term='odbc'/><category term='เรียน oracle'/><category term='spool script'/><category term='trigger how to'/><category term='top file'/><category term='program global area'/><category term='compress tablespace'/><category term='sqlserver'/><category term='hint'/><category term='copy'/><category term='character sets'/><category term='table full scan'/><category term='utf8'/><category term='การ ใช้ trigger'/><category term='heterogeneous service'/><category term='character set'/><category term='performance'/><category term='pfile'/><category term='พารามิเตอร์'/><category term='tom kyte'/><category term='training'/><category term='nls_characterset'/><category term='sort'/><category term='backup'/><category term='regexp_replace'/><category term='foreign key'/><category term='move tablespace'/><category term='select'/><category term='nchar'/><category term='initialization parameter'/><category term='in'/><category term='trouble with trigger'/><category term='optimizer'/><category term='memory'/><category term='regular expression'/><category term='transpose'/><category term='user'/><category term='hash_area_size'/><category term='oracle'/><category term='active session'/><category term='not null'/><category term='exists'/><category term='index range scan'/><category term='multiple database'/><category term='text'/><category term='online log'/><category term='session'/><category term='top sql'/><category term='shutdown'/><category term='parameter'/><category term='external'/><category term='select for update'/><category term='default oracle home'/><category term='different database'/><category term='startup script'/><category term='parallel query'/><category term='alter system scope spfile'/><category term='transpose column'/><category term='brief sql'/><category term='tkprof'/><category term='import'/><category term='wait'/><category term='oracle sql'/><category term='alter table'/><category term='gregorian'/><category term='oracle home'/><category term='text file'/><category term='export'/><category term='initialisation parameter'/><category term='level0'/><category term='recover'/><category term='different sql'/><category term='control file'/><category term='download'/><category term='enterprise manager'/><category term='no archive log'/><category term='not exists'/><category term='regexp_like'/><category term='unique index'/><category term='redo log file'/><category term='init.ora'/><category term='script'/><category term='regexp_substr'/><category term='tuning'/><category term='archived log'/><category term='nls_lang'/><category term='ออราเคิล'/><category term='rowdependencies'/><category term='explain plan'/><category term='level1'/><category term='shutdown script'/><category term='database'/><category term='sga_max_size'/><category term='recovery'/><category term='spfile'/><category term='nvarchar'/><category term='primary key'/><category term='default home'/><category term='startup'/><category term='trigger'/><category term='อินเด็กซ์'/><category term='thai buddha'/><category term='migration'/><category term='top session'/><category term='incremental'/><category term='not in'/><category term='constraint'/><category term='sql server'/><category term='null'/><category term='ora_rowscn'/><category term='row lock'/><category term='oradim'/><category term='sql'/><category term='as400'/><category term='sort_area_size'/><category term='การใช้ trigger'/><category term='pga_aggregate_target'/><category term='pattern'/><category term='microsoft'/><category term='index'/><category term='transpose row'/><category term='throughput'/><category term='redo log'/><category term='ทริกเกอร์ ผลเสีย'/><category term='md5'/><category term='workarea_size_policy'/><category term='password'/><category term='al16utf16'/><category term='index unique scan'/><title type='text'>Tanakorn Thai Oracle DBA</title><subtitle type='html'>เทคนิคสำหรับ Oracle DBA แบบไทย ๆ</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tanakornt.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-4650424381905412462</id><published>2011-04-29T03:41:00.004+07:00</published><updated>2011-04-29T03:50:11.224+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ทริกเกอร์ ระวัง'/><category scheme='http://www.blogger.com/atom/ns#' term='เรียน oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='trouble with trigger'/><category scheme='http://www.blogger.com/atom/ns#' term='ทริกเกอร์ ผลเสีย'/><category scheme='http://www.blogger.com/atom/ns#' term='การใช้ trigger'/><category scheme='http://www.blogger.com/atom/ns#' term='tom kyte'/><category scheme='http://www.blogger.com/atom/ns#' term='trigger how to'/><category scheme='http://www.blogger.com/atom/ns#' term='trigger'/><title type='text'>ความลึกลับของ Trigger ตอนที่ 2</title><summary type='text'>ปัญหาการนำทริกเกอร์ไปใช้คือผู้พัฒนามักจะไม่รู้ผลข้างเคียงในแง่ของการ ควบคุมการใช้งานพร้อมกัน (Concurrency) และระดับความเป็นส่วนตัว (Isolation  Level) ของแต่ละ Session บนฐานข้อมูล จุดแข็งที่สุดอันหนึ่งของ Oracle  เหนือฐานข้อมูลค่ายอื่น ๆ คือ การอ่านข้อมูล (ใน Session  หนึ่ง)ไม่ขัดขวางการเขียนข้อมูล (ในอีก Session หนึ่ง)  และในทางกลับกันการเขียนข้อมูลก็ไม่ขัดขวางการอ่านข้อมูลเช่นกัน  </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2011/04/trigger-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/4650424381905412462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/4650424381905412462'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2011/04/trigger-2.html' title='ความลึกลับของ Trigger ตอนที่ 2'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-6987515735635672808</id><published>2011-01-09T01:27:00.002+07:00</published><updated>2011-04-29T03:39:06.565+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oradim'/><category scheme='http://www.blogger.com/atom/ns#' term='sga_max_size'/><category scheme='http://www.blogger.com/atom/ns#' term='init.ora'/><category scheme='http://www.blogger.com/atom/ns#' term='ออราเคิล'/><category scheme='http://www.blogger.com/atom/ns#' term='spfile'/><category scheme='http://www.blogger.com/atom/ns#' term='startup'/><category scheme='http://www.blogger.com/atom/ns#' term='initialization parameter'/><category scheme='http://www.blogger.com/atom/ns#' term='pfile'/><category scheme='http://www.blogger.com/atom/ns#' term='parameter'/><category scheme='http://www.blogger.com/atom/ns#' term='shutdown'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='sga'/><category scheme='http://www.blogger.com/atom/ns#' term='alter system scope spfile'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>เซ็ทพารามิเตอร์ผิด คิดจนหัวบวม</title><summary type='text'>ถ้าเราเซ็ทพารามิเตอร์บางตัวผิด (Oracle ไม่สามารถยอมรับค่านั้นได้) อาจจะทำให้เราไม่สามารถ Startup Database ได้ ดังเช่นตัวอย่างของการตั้งค่าพารามิเตอร์ SGA_MAX_SIZE ซึ่งจะต้อง Restart ระบบฯ หากค่าที่กำหนดเป็นค่าที่ไม่สามารถยอมรับได้ (Invalid) จะทำให้ระบบฯ Startup ไม่ขึ้น ดังเรื่องของสมสรวงที่จะกล่าวถึงต่อไปนี้สมสรวงต้องการเพิ่มหน่วยความจำให้กับระบบฐานข้อมูลออราเคิล </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2011/01/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/6987515735635672808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/6987515735635672808'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2011/01/blog-post.html' title='เซ็ทพารามิเตอร์ผิด คิดจนหัวบวม'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-3826912485577039810</id><published>2010-04-30T10:25:00.005+07:00</published><updated>2011-04-29T03:51:32.164+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ทริกเกอร์ ระวัง'/><category scheme='http://www.blogger.com/atom/ns#' term='trouble with trigger'/><category scheme='http://www.blogger.com/atom/ns#' term='ทริกเกอร์ ผลเสีย'/><category scheme='http://www.blogger.com/atom/ns#' term='การ ใช้ trigger'/><category scheme='http://www.blogger.com/atom/ns#' term='tom kyte'/><category scheme='http://www.blogger.com/atom/ns#' term='trigger how to'/><category scheme='http://www.blogger.com/atom/ns#' term='trigger'/><title type='text'>ความลึกลับของ Trigger ตอนที่ 1</title><summary type='text'>"กลางดึกคืนหนึ่ง... สมชาติยังคงนั่งเขียนโปรแกรมของเขาอยู่  นี่ก็เลยเวลาเลิกงานไปหกชั่วโมงแล้วสินะ  สายตาเขายังคงจ้องเขม็งไปที่จอคอมพิวเตอร์  พยายามที่จะหาเหตุผลว่าทำไมข้อมูลในตารางที่โปรแกรมของ "คนเก่า"  เขาเขียนไว้ จึงมีข้อมูลแปลก ๆ  เก็บไว้ในคอลัมน์ที่ในโปรแกรมก็ไม่ได้แสดงว่าไปอัพเดท  เขาเคยได้ยินว่าที่ตึกแห่งนี้เคยมีโปรแกรมเมอร์คนหนึ่งเสียชีวิตขณะนั่ง เขียนโปรแกรมในคืนวันหนึ่ง  </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2010/04/blog-post.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/3826912485577039810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/3826912485577039810'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2010/04/blog-post.html' title='ความลึกลับของ Trigger ตอนที่ 1'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-4704266238189462789</id><published>2010-04-30T09:56:00.003+07:00</published><updated>2010-04-30T10:12:18.790+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oradim'/><category scheme='http://www.blogger.com/atom/ns#' term='sga_max_size'/><category scheme='http://www.blogger.com/atom/ns#' term='init.ora'/><category scheme='http://www.blogger.com/atom/ns#' term='spfile'/><category scheme='http://www.blogger.com/atom/ns#' term='startup'/><category scheme='http://www.blogger.com/atom/ns#' term='pfile'/><category scheme='http://www.blogger.com/atom/ns#' term='initialisation parameter'/><category scheme='http://www.blogger.com/atom/ns#' term='parameter'/><category scheme='http://www.blogger.com/atom/ns#' term='shutdown'/><category scheme='http://www.blogger.com/atom/ns#' term='พารามิเตอร์'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='sga'/><category scheme='http://www.blogger.com/atom/ns#' term='alter system scope spfile'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>เซ็ท Parameter ผิด คิดจนหัวบวม</title><summary type='text'>ถ้าเราเซ็ทพารามิเตอร์บางตัวผิด (Oracle ไม่สามารถยอมรับค่านั้นได้)  อาจจะทำให้เราไม่สามารถ Startup Database ได้  ดังเช่นตัวอย่างของการตั้งค่าพารามิเตอร์ SGA_MAX_SIZE ซึ่งจะต้อง Restart  ระบบฯ หากค่าที่กำหนดเป็นค่าที่ไม่สามารถยอมรับได้ (Invalid) จะทำให้ระบบฯ  Startup ไม่ขึ้น ดังเรื่องของสมสรวงที่จะกล่าวถึงต่อไปนี้สมสรวง ต้องการเพิ่มหน่วยความจำให้กับระบบฐานข้อมูลออราเคิล  </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2010/04/parameter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/4704266238189462789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/4704266238189462789'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2010/04/parameter.html' title='เซ็ท Parameter ผิด คิดจนหัวบวม'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-3989099642132174521</id><published>2010-04-05T14:22:00.000+07:00</published><updated>2010-04-05T14:24:07.074+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='table full scan'/><category scheme='http://www.blogger.com/atom/ns#' term='indexes'/><category scheme='http://www.blogger.com/atom/ns#' term='อินเด็กซ์'/><category scheme='http://www.blogger.com/atom/ns#' term='unique index'/><category scheme='http://www.blogger.com/atom/ns#' term='index unique scan'/><category scheme='http://www.blogger.com/atom/ns#' term='index'/><category scheme='http://www.blogger.com/atom/ns#' term='index range scan'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>อินเด็กซ์ที่ค่าไม่ซ้ำ (Unique Index)</title><summary type='text'>อินเด็กซ์ที่ค่าไม่ซ้ำ (Unique Index) ในที่นี้หมายถึง B-Tree Index  ที่เป็นแบบ Unique  ซึ่งถือเป็นสุดยอดของอินเด็กซ์เนื่องจากความเร็วและการนำไปใช้งานที่ง่าย  เราจะสร้างตารางใหม่ชื่อ MY_OBJECTS จากตาราง ALL_OBJECTS (ALL_OBJECTS   เป็นตาราง Meta Data ของ Oracle มีอยู่ในทุก Schema) โดยมีฟิลด์ OBJECT_ID   เป็นเลขรันนิ่ง เราจะใช้ฟิลด์นี้ในการสร้างอินเด็กซ์แบบไม่ซ้ำ     SQL&gt; conn  scott/tigerConnected. </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2010/04/unique-index_05.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/3989099642132174521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/3989099642132174521'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2010/04/unique-index_05.html' title='อินเด็กซ์ที่ค่าไม่ซ้ำ (Unique Index)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-2958082378679309690</id><published>2010-02-08T20:59:00.030+07:00</published><updated>2010-02-14T12:05:04.344+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='heterogeneous service'/><category scheme='http://www.blogger.com/atom/ns#' term='odbc'/><category scheme='http://www.blogger.com/atom/ns#' term='export'/><category scheme='http://www.blogger.com/atom/ns#' term='import'/><category scheme='http://www.blogger.com/atom/ns#' term='different database'/><category scheme='http://www.blogger.com/atom/ns#' term='multiple database'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlserver'/><category scheme='http://www.blogger.com/atom/ns#' term='as400'/><title type='text'>Oracle Heterogeneous Service (HS) การเชื่อมต่อ Oracle กับฐานข้อมูลตัวอื่น ๆ เช่น Microsoft SQL Server หรือ AS400 (ตอนที่ 2)</title><summary type='text'>เมื่อครั้งที่แล้วเราได้อ่านเรื่องของ ณัฐพล และอธิชาติซึ่งใช้วิธีการที่แตกต่างกันในการแก้ปัญหาเรื่องการเชื่อมต่อระบบฐานข้อมูลต่างยี่ห้อกันโดย ณัฐพลใช้วิธีการ Export Import ข้อมูลเข้าออกจากฐานหนึ่งไปยังอีกฐานหนึ่งทุกวัน ส่วนอธิชาตินั้นใช้วิธีการที่เราเรียกว่า Heterogeneous Service ซึ่งจะทำให้ระบบฐานข้อมูลต่างยี่ห้อสามารถคุยกันได้โดยตรง ครั้งนี้เราจะมาลองดูวิธีปฏิบัติกันนะครับ </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2010/02/export-import-heterogeneous-service-1.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/2958082378679309690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/2958082378679309690'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2010/02/export-import-heterogeneous-service-1.html' title='Oracle Heterogeneous Service (HS) การเชื่อมต่อ Oracle กับฐานข้อมูลตัวอื่น ๆ เช่น Microsoft SQL Server หรือ AS400 (ตอนที่ 2)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FtBCi0GxH_4/S3aNvqHy4NI/AAAAAAAAAKA/k1AExoy0X20/s72-c/odbc1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-6894081212825203226</id><published>2009-12-27T14:38:00.012+07:00</published><updated>2010-02-14T12:03:53.308+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='heterogeneous service'/><category scheme='http://www.blogger.com/atom/ns#' term='odbc'/><category scheme='http://www.blogger.com/atom/ns#' term='export'/><category scheme='http://www.blogger.com/atom/ns#' term='import'/><category scheme='http://www.blogger.com/atom/ns#' term='different database'/><category scheme='http://www.blogger.com/atom/ns#' term='multiple database'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlserver'/><category scheme='http://www.blogger.com/atom/ns#' term='as400'/><title type='text'>Oracle Heterogeneous Service (HS) การเชื่อมต่อ Oracle กับฐานข้อมูลตัวอื่น ๆ เช่น Microsoft SQL Server หรือ AS400 (ตอนที่ 1)</title><summary type='text'>การเชื่อมต่อระหว่างระบบฐานข้อมูลต่างยี่ห้อกันบางทีก็ทำให้ปวดหัวและเสียเวลาได้เหมือนกัน การใช้ Heterogeneous Service อาจจะช่วยคุณได้เหมือนกับอธิชาติดังเรื่องข้างล่างนี้ครับณัฐพลถูกมอบหมายให้เขียนรายงานเพื่อนำข้อมูลกรมธรรม์หลักที่ได้จากระบบประกันชีวิตหลักที่อยู่บนเครื่อง AS400 มาเปรียบเทียบกับเงินสินไหมที่บริษัทต้องจ่ายในแต่ละวัน ของแต่ละกรมธรรม์ซึ่งข้อมูลการเคลมนี้อยู่บนฐานข้อมูลที่เป็น Mircrosoft</summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/12/oracle-heterogeneous-service-hs-oracle.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/6894081212825203226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/6894081212825203226'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/12/oracle-heterogeneous-service-hs-oracle.html' title='Oracle Heterogeneous Service (HS) การเชื่อมต่อ Oracle กับฐานข้อมูลตัวอื่น ๆ เช่น Microsoft SQL Server หรือ AS400 (ตอนที่ 1)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-7078542162356791067</id><published>2009-11-22T17:39:00.023+07:00</published><updated>2010-02-14T12:01:32.503+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='regexp'/><category scheme='http://www.blogger.com/atom/ns#' term='regexp_substr'/><category scheme='http://www.blogger.com/atom/ns#' term='regexp_replace'/><category scheme='http://www.blogger.com/atom/ns#' term='text'/><category scheme='http://www.blogger.com/atom/ns#' term='regular expression'/><category scheme='http://www.blogger.com/atom/ns#' term='pattern'/><category scheme='http://www.blogger.com/atom/ns#' term='regexp_like'/><title type='text'>Regular Expression มหัศจรรย์แห่งการจัดการ Text (ตอนที่ 2 จบ)</title><summary type='text'>ข้อเขียนที่แล้วได้แนะนำการใช้งานและประโยชน์ของ Regular Expression สำหรับตอนนี้เราจะมาพูดถึงไวยกรณ์ของ Regular Expression บน Oracle กันนะครับsource_string คือ Text ที่เราต้องการจัดการ ส่วนมากจะเป็นชื่อคอลัมน์ในตาราง และเป็นคอลัมน์ที่มีประเภทข้อมูลเป็น Char, Varchar2, Nchar, Nvarchar2, Clob, NClobpattern คือ รูปแบบทีเป็นไวยกรณ์ของ Regular Expression ที่เอาไว้จัดการ Text ใน </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/11/regular-expression-regular-expression.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/7078542162356791067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/7078542162356791067'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/11/regular-expression-regular-expression.html' title='Regular Expression มหัศจรรย์แห่งการจัดการ Text (ตอนที่ 2 จบ)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FtBCi0GxH_4/SwwO6eO0zSI/AAAAAAAAAIM/w4DA-qfBbE8/s72-c/regexp.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-4777081195462958189</id><published>2009-11-15T19:03:00.025+07:00</published><updated>2009-11-25T21:14:12.809+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='regexp'/><category scheme='http://www.blogger.com/atom/ns#' term='regexp_substr'/><category scheme='http://www.blogger.com/atom/ns#' term='regexp_replace'/><category scheme='http://www.blogger.com/atom/ns#' term='text'/><category scheme='http://www.blogger.com/atom/ns#' term='regular expression'/><category scheme='http://www.blogger.com/atom/ns#' term='pattern'/><category scheme='http://www.blogger.com/atom/ns#' term='regexp_like'/><title type='text'>Regular Expression มหัศจรรย์แห่งการจัดการ Text (ตอนที่ 1)</title><summary type='text'>สวัสดีครับ สำหรับตอนนี้ผมตั้งชื่อไว้เสียโก้หรู ไม่ใช่เพราะจะเลียนแบบโฆษณาหรอกครับ แต่ด้วยรู้สึกว่า Regular Expression เป็นเครื่องมือสำหรับนักฐานข้อมูลที่มหัศจรรย์จริง ๆ และควรจะมีมาตั้งนานแล้ว (Regular Expression เดิมมีอยู่บน Unix,Oracle เพิ่งเริ่มจะมีเมื่อ Version 10g นี้เอง) เราเริ่มกันเลยนะครับRegular Expression เป็นเรื่องเกี่ยวกับรูปแบบการเรียงตัวของตัวอักษร (Pattern) ซึ่ง Regular Expression </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/11/regular-expression-text.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/4777081195462958189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/4777081195462958189'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/11/regular-expression-text.html' title='Regular Expression มหัศจรรย์แห่งการจัดการ Text (ตอนที่ 1)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-649187433264409510</id><published>2009-11-07T20:47:00.004+07:00</published><updated>2009-11-07T20:52:35.254+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='tuning'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle sql'/><category scheme='http://www.blogger.com/atom/ns#' term='hint'/><category scheme='http://www.blogger.com/atom/ns#' term='optimizer'/><category scheme='http://www.blogger.com/atom/ns#' term='explain plan'/><category scheme='http://www.blogger.com/atom/ns#' term='parallel query'/><title type='text'>การใช้ Parallel Hint (ตอนที่ 2 จบ)</title><summary type='text'>ข้อเขียนวันนี้ต่อเนื่องและเป็นตอนจบจากตอนที่แล้วคือ การใช้ Parallel Hint (ตอนที่ 1) โดยในตอนนี้จะเป็นวิธีการตรวจสอบการทำงานของ Parallel Query ที่เรากำลังรันอยู่ โดยแปลจากบทความของ gpike เช่นกัน ขอให้สนุกกับบทความและหวังว่าจะได้ประโยชน์กันนะครับการตรวจสอบ Parallel Processในขณะที่การใช้ Parallel Process เป็นสิ่งที่มีประโยชน์เมื่อต้องจัดการกับข้อมูลขนาดใหญ่ </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/11/parallel-hint-1-parallel-query-gpike.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/649187433264409510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/649187433264409510'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/11/parallel-hint-1-parallel-query-gpike.html' title='การใช้ Parallel Hint (ตอนที่ 2 จบ)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-4155085547015054905</id><published>2009-11-05T15:41:00.008+07:00</published><updated>2009-11-05T16:10:20.212+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='grant'/><category scheme='http://www.blogger.com/atom/ns#' term='alter table'/><category scheme='http://www.blogger.com/atom/ns#' term='user'/><title type='text'>การกำหนดให้ Developer ไม่สามารถแก้ไขโครงสร้างตาราง</title><summary type='text'>ขอบคุณคุณ Somritt Thiendej สำหรับคำถาม"โปรแกรมเมอร์ใช้ toad ต่อ oracle db ทำอย่างไรจะไม่ให้สามารถแก้ไข ฟิล เพิ่มฟิล ในตารางได้?"ปกติ User บนฐานข้อมูลจะมีสิทธิ์สร้างตาราง และเปลี่ยนแปลงตารางที่เขาสร้างได้ ถ้าเราต้องการให้ User หรือ Developer มีสิทธิ์เฉพาะการจัดการข้อมูลในตาราง แต่ไม่มีสิทธิ์ในการแก้ไขโครงสร้าง เราจะต้องให้ User หรือ Developer ล็อกอินด้วย User อื่น </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/11/developer.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/4155085547015054905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/4155085547015054905'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/11/developer.html' title='การกำหนดให้ Developer ไม่สามารถแก้ไขโครงสร้างตาราง'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-3530662330246221892</id><published>2009-10-20T23:20:00.030+07:00</published><updated>2009-11-07T20:59:57.820+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle sql'/><category scheme='http://www.blogger.com/atom/ns#' term='hint'/><category scheme='http://www.blogger.com/atom/ns#' term='optimizer'/><category scheme='http://www.blogger.com/atom/ns#' term='explain plan'/><category scheme='http://www.blogger.com/atom/ns#' term='parallel query'/><title type='text'>การใช้ Parallel Hint (ตอนที่ 1)</title><summary type='text'>Parallel Hint เป็น Hint ตัวหนึ่งที่มีประโยชน์ในการจัดการกับข้อมูลขนาดใหญ่ โดยหลักการคือการแยกงานออกทำพร้อม ๆ กัน แล้วจึงนำผลที่ได้มารวมกันอีกทีหนึ่ง อย่างไรก็ตามการใช้ Parallel Hint นี้จะต้องใช้ด้วยความระมัดระวังเพราะมันอาจจะมีผลกระทบคือไปเบียดบังเอาทรัพยากรของระบบอย่างมากได้ โดยส่วนตัวผมคิดว่า Parallel Hint เหมาะกับงานที่เป็น Batch Process </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/10/parallel-execution-and-parallel-hint.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/3530662330246221892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/3530662330246221892'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/10/parallel-execution-and-parallel-hint.html' title='การใช้ Parallel Hint (ตอนที่ 1)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FtBCi0GxH_4/St816aXSseI/AAAAAAAAAGU/aEyLtlxLUKo/s72-c/paral_hint1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-994512360070267303</id><published>2009-09-20T10:57:00.004+07:00</published><updated>2009-09-20T11:06:25.145+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='workarea_size_policy'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='pga'/><category scheme='http://www.blogger.com/atom/ns#' term='sort_area_size'/><category scheme='http://www.blogger.com/atom/ns#' term='hash_area_size'/><category scheme='http://www.blogger.com/atom/ns#' term='program global area'/><category scheme='http://www.blogger.com/atom/ns#' term='memory'/><category scheme='http://www.blogger.com/atom/ns#' term='sort'/><category scheme='http://www.blogger.com/atom/ns#' term='pga_aggregate_target'/><title type='text'>การตั้งค่าใหักับ PGA Memory</title><summary type='text'>1. ตั้งค่า WORKAREA_SIZE_POLICY = AUTO2. ตั้งค่า PGA_AGGREGATE_TARGET = จำนวน Memory ที่เหลือทั้งหมดหลังจากที่เราทำการ Config Memory ส่วนสำคัญ ๆ เช่น SGA ซึ่งประกอบด้วย Buffer Cache, Log Buffer, Shared+Large+Java Poolไปแล้ว Memory ส่วนที่เหลือเราจะกำหนดให้กับ PGA Memory ซึ่ง Oracle ใช้ในการ Sort (เช่นการใช้ Memory ที่เกิดจากการใช้คำสั่ง ORDER BY, คำสั่งที่เป็น Analytical, DISTINCT, GROUP BY </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/09/pga-memory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/994512360070267303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/994512360070267303'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/09/pga-memory.html' title='การตั้งค่าใหักับ PGA Memory'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-523602236889632801</id><published>2009-08-30T17:46:00.033+07:00</published><updated>2009-09-05T21:02:08.674+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise manager'/><category scheme='http://www.blogger.com/atom/ns#' term='active session'/><category scheme='http://www.blogger.com/atom/ns#' term='top session'/><category scheme='http://www.blogger.com/atom/ns#' term='top object'/><category scheme='http://www.blogger.com/atom/ns#' term='top file'/><category scheme='http://www.blogger.com/atom/ns#' term='wait'/><category scheme='http://www.blogger.com/atom/ns#' term='throughput'/><category scheme='http://www.blogger.com/atom/ns#' term='top sql'/><title type='text'>การตรวจสอบ Performance โดยใช้ Enterprise Manager</title><summary type='text'>ใน Oracle ก่อนเวอร์ชั่น 9 การตรวจสอบ Performance แต่ละตัวเป็นเรื่องค่อนข้างยุ่งยาก และมักจะต้องทำใน text mode แต่ในปัจจุบันนี้ Oracle ได้พัฒนา Tools ที่ใช้ในการบริหารฐานข้อมูล เพื่อให้การบริหารฐานข้อมูลทำได้ง่ายขึ้นและใช้เวลาในการเรียนรู้น้อยลง Oracle Enterprise Manager ตัวที่นำมาให้ดูเป็นตัวอย่างนี้เป็นตัวที่มากับ Oracle10g Database </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/08/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/523602236889632801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/523602236889632801'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/08/blog-post.html' title='การตรวจสอบ Performance โดยใช้ Enterprise Manager'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FtBCi0GxH_4/Spph3AzLCQI/AAAAAAAAAFM/bNjbjnHZ9rw/s72-c/perf1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-4844225071016510918</id><published>2009-08-15T13:43:00.007+07:00</published><updated>2009-08-20T21:07:28.071+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redo log'/><category scheme='http://www.blogger.com/atom/ns#' term='recover'/><category scheme='http://www.blogger.com/atom/ns#' term='online log'/><category scheme='http://www.blogger.com/atom/ns#' term='no archive log'/><category scheme='http://www.blogger.com/atom/ns#' term='redo log file'/><title type='text'>การกู้ข้อมูลกรณี Redo Log File ที่ไม่ได้ Active อยู่เสีย</title><summary type='text'>Redo Log File มีอยู่ 3 สถานะคือ 1) Current คือตัวที่ระบบฐานข้อมูลกำลังเขียนอยู่ 2) Active คือตัวที่ระบบฯ ยังต้องใช้ในการทำ Instance Recovery อยู่ และ 3) Inactive คือสถานะที่ไม่ได้ใช้งานใด ๆ แล้วกรณีที่ Redo Log File เสีย หากตัว (หรือกลุ่ม) ที่เสียมีสถานะเป็น Inactive จะจัดการง่ายกว่ากรณีที่เป็น Current หรือ Active โดยมีขั้นตอนในการกู้ Redo Log File ดังนี้1) เช็คดูว่า Redo Log File </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/08/redo-log-file-active.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/4844225071016510918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/4844225071016510918'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/08/redo-log-file-active.html' title='การกู้ข้อมูลกรณี Redo Log File ที่ไม่ได้ Active อยู่เสีย'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-1872454774393071951</id><published>2009-08-02T15:15:00.020+07:00</published><updated>2009-08-16T12:56:48.768+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nls_lang'/><category scheme='http://www.blogger.com/atom/ns#' term='nls_characterset'/><category scheme='http://www.blogger.com/atom/ns#' term='character set'/><category scheme='http://www.blogger.com/atom/ns#' term='character sets'/><title type='text'>NLS_LANG คือตัวแปร Environment บนฝั่ง Client ไม่ใช่บน Database Server</title><summary type='text'>อย่างที่ผมได้ให้หัวเรื่องไว้เกี่ยวกับ NLS_LANG คือตัวแปรตัวนี้เป็นตัวแปรบนฝั่ง Client หรืออย่างน้อยก็เป็นตัวแปรของ Client Application (ซึ่งจริง ๆ แล้วอาจจะ Install ไว้บน Database Server ก็ได้) ที่จะติดต่อกับฐานข้อมูล เพื่อให้เห็นภาพลองดูวิธีการตั้งค่าตัวแปรตัวนี้บน Windows ดูกันหน่อยนะครับC:\&gt;set NLS_LANG="ARABIC_UNITED ARAB EMIRATES.AR8MSAWIN"C:\&gt;echo %NLS_LANG%"ARABIC_UNITED ARAB </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/08/nlslang-environment-client-database.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/1872454774393071951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/1872454774393071951'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/08/nlslang-environment-client-database.html' title='NLS_LANG คือตัวแปร Environment บนฝั่ง Client ไม่ใช่บน Database Server'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-4115150946762534083</id><published>2009-07-24T19:29:00.009+07:00</published><updated>2009-09-09T18:17:49.343+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle sql'/><category scheme='http://www.blogger.com/atom/ns#' term='different sql'/><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='brief sql'/><title type='text'>SQL วันเดียว</title><summary type='text'>สำหรับตอนนี้ มาจากการที่มักจะมีคำถามอยู่บ่อย ๆ ว่า SQL บน Oracle ต่างจาก SQL บน SQLServer อย่างไร หรือต่างจาก SQL บน Relational Database Management System (RDBMS) ตัวอื่น ๆ อย่างไร ครั้นพอจะจัด Full Course Training ก็ดูเหมือนว่าอาจจะไม่จำเป็น เพราะคนที่ทำงานโดยใช้ SQL มา ก็น่าจะมีทักษะอยู่แล้ว แต่อยากรู้เฉพาะจุดที่แตกต่างกัน มากกว่า อย่างไรก็ตามผมคิดของผมเอาเองว่าการรู้ว่า Oracle SQL มี Features </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/07/sql.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/4115150946762534083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/4115150946762534083'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/07/sql.html' title='SQL วันเดียว'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-11437544917611883</id><published>2009-07-14T20:23:00.021+07:00</published><updated>2009-07-14T21:19:15.362+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='utf8'/><category scheme='http://www.blogger.com/atom/ns#' term='al16utf16'/><category scheme='http://www.blogger.com/atom/ns#' term='migration'/><category scheme='http://www.blogger.com/atom/ns#' term='nchar'/><category scheme='http://www.blogger.com/atom/ns#' term='character set'/><category scheme='http://www.blogger.com/atom/ns#' term='nvarchar'/><title type='text'>วิธีการ Migrate Character Set ที่เหมาะสม (ตอนที่ 2, ตอนจบ)</title><summary type='text'>(แปลจากบางส่วนของ “Character Set Migration Best Practices", An Oracle White Paper January2005)การแปลง และสิ่งที่ต้องทำหลังจากการแปลงวิธีการต่าง ๆ ในการ MigrateOracle ได้เตรียมคำสั่ง, เครื่องมือ และบริการที่จะช่วยให้ใช้เวลาในการปิดระบบน้อยที่สุด ในขณะเดียวกันก็ปลอดภัยต่อข้อมูลมากที่สุด ซึ่งไม่ว่าจะใช้วิธีใด จะต้องทำการ Pre-Scan ข้อมูลโดยการใช้โปรแกรมที่ชื่อ Character Set Migration </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/07/migrate-character-set-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/11437544917611883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/11437544917611883'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/07/migrate-character-set-2.html' title='วิธีการ Migrate Character Set ที่เหมาะสม (ตอนที่ 2, ตอนจบ)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-8616820857383300629</id><published>2009-07-06T23:06:00.029+07:00</published><updated>2009-07-07T09:38:39.581+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='utf8'/><category scheme='http://www.blogger.com/atom/ns#' term='al16utf16'/><category scheme='http://www.blogger.com/atom/ns#' term='migration'/><category scheme='http://www.blogger.com/atom/ns#' term='nchar'/><category scheme='http://www.blogger.com/atom/ns#' term='character set'/><category scheme='http://www.blogger.com/atom/ns#' term='nvarchar'/><title type='text'>วิธีการ Migrate Character Set ที่เหมาะสม (ตอนที่ 1)</title><summary type='text'>(แปลจากบางส่วนของ “Character Set Migration Best Practices", An Oracle White Paper January2005)ทำไมต้อง Migrate?การ Migrate Database Character Set บ่อยครั้งเกิดจากความต้องการที่จะให้ระบบฐานข้อมูลสามารถใช้ได้กับภาษาใหม่ เพราะการขยายตัวขององค์กรออกไปยังประเทศอื่น ในอดีตระบบเก่า ๆ ขององค์กรจะใช้ Character Set ที่มีข้อจำกัดในการรองรับภาษาอื่น ๆ เช่น ชุดตัวอักษร America 7-bit (ASCII)</summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/07/migrate-migrate-database-character-set.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/8616820857383300629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/8616820857383300629'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/07/migrate-migrate-database-character-set.html' title='วิธีการ Migrate Character Set ที่เหมาะสม (ตอนที่ 1)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_FtBCi0GxH_4/SlIker-HXvI/AAAAAAAAAE0/EMl5wUojWMA/s72-c/fig1.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-1808132739448633244</id><published>2009-06-20T23:53:00.012+07:00</published><updated>2009-07-03T20:43:00.861+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='foreign key'/><category scheme='http://www.blogger.com/atom/ns#' term='constraint'/><category scheme='http://www.blogger.com/atom/ns#' term='primary key'/><category scheme='http://www.blogger.com/atom/ns#' term='not null'/><category scheme='http://www.blogger.com/atom/ns#' term='optimizer'/><title type='text'>การใช้ Constraints เพื่อเพิ่มประสิทธิภาพในการคิวรี (ตอนที่ 3-ตอนจบ)</title><summary type='text'>(แปลจาก “On Constraints, Metadata, and Truth” โดย Tom Kyte, Oracle Magazine V XXIII, Issue3)Constraints และ Materialized Viewsตัวอย่างถัดไปของ Query Rewrite (การที่ Optimizer ทำการเปลี่ยน Query ของเราเพื่อให้การรันมีประสิทธิภาพดีขึ้น) จะเกี่ยวเนื่องกับ Primary Key, Foreign Key, Not Null และ Materialized View (MV) ผมมักจะพูดถึง MV ว่าเป็น "Index ของ Data Warehouse" ประโยชน์ของ MV </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/06/constraints-materialized-views.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/1808132739448633244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/1808132739448633244'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/06/constraints-materialized-views.html' title='การใช้ Constraints เพื่อเพิ่มประสิทธิภาพในการคิวรี (ตอนที่ 3-ตอนจบ)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-832098278724445932</id><published>2009-06-17T12:21:00.007+07:00</published><updated>2009-06-27T17:25:46.673+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='foreign key'/><category scheme='http://www.blogger.com/atom/ns#' term='constraint'/><category scheme='http://www.blogger.com/atom/ns#' term='primary key'/><category scheme='http://www.blogger.com/atom/ns#' term='optimizer'/><title type='text'>การใช้ Constraints เพื่อเพิ่มประสิทธิภาพในการคิวรี (ตอนที่ 2)</title><summary type='text'>(แปลจาก “On Constraints, Metadata, and Truth” โดย Tom Kyte, Oracle Magazine V XXIII, Issue3)Constraints, Primary Keys and Foreign Keysคราวนี้ลองมาดู Primary และ Foreign Keys ว่ามีผลต่อ Optimizer อย่างไรบ้าง ตัวอย่างต่อไปนี้ เราจะคัดลอกตารางจาก SCOTT.EMP และตาราง SCOTT.DEPT เราจะสมมติว่าตารางทั้งสองนี้มีขนาดใหญ่ โดยเราจะใช้ DBMS_STATS.SET_TABLE_STATS เพื่อให้ Optimizer คิดว่า "ใหญ่" และเราสร้างวิว</summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/06/constraints-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/832098278724445932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/832098278724445932'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/06/constraints-2.html' title='การใช้ Constraints เพื่อเพิ่มประสิทธิภาพในการคิวรี (ตอนที่ 2)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-8315431056025832619</id><published>2009-06-14T14:28:00.035+07:00</published><updated>2009-06-17T12:50:11.521+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='enterprise manager'/><category scheme='http://www.blogger.com/atom/ns#' term='no archive log'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='recovery'/><title type='text'>การแบ็คอัพฐานข้อมูลในโหมด No Archivelog โดยใช้ Enterprise Manager</title><summary type='text'>Oracle ได้เตรียมวิธีการแบ็คอัพแบบที่เชื่อถือได้ว่าจะสามารถกู้ข้อมูลคืนได้เมื่อเกิดการสูญเสียของข้อมูลอันเนื่องมาจาก Media Failure (การเสียของอุปกรณ์เช่นฮาร์ดดิสก์ หรือการที่ไฟล์เกิดเสียเป็นต้น) ลองดูสิครับ วิธีนี้ช่วยชีวิตผมมาได้หลายครั้งแล้วครับDatabase ในโหมด No Archivelogเพื่อเป็นการลดภาระของเครื่อง server ที่ใช้ในการพัฒนาระบบ ซึ่งมักจะเป็นเครื่องที่มีประสิทธิภาพปานกลาง หรือค่อนข้างต่ำ </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/06/no-archivelog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/8315431056025832619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/8315431056025832619'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/06/no-archivelog.html' title='การแบ็คอัพฐานข้อมูลในโหมด No Archivelog โดยใช้ Enterprise Manager'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_FtBCi0GxH_4/SjfQpuwKDcI/AAAAAAAAADc/0IlhIwu0gNc/s72-c/backup1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-59494883061346793</id><published>2009-06-07T16:56:00.004+07:00</published><updated>2009-06-07T17:25:22.316+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='null'/><category scheme='http://www.blogger.com/atom/ns#' term='not in'/><category scheme='http://www.blogger.com/atom/ns#' term='not exists'/><category scheme='http://www.blogger.com/atom/ns#' term='exists'/><category scheme='http://www.blogger.com/atom/ns#' term='in'/><title type='text'>(NOT) IN เมื่อใช้กับค่า NULL ทำให้คิวรีแสดงผลไม่ครบ</title><summary type='text'>(ข้อเขียนบางส่วนแปลจากบทความของ Scott Stephens)โดยปกติดูเหมือนคำว่า 'IN' และ 'EXISTS' ดูเหมือนว่าจะคล้ายกัน แต่อย่างไรก็ตามทั้งคู่มีความแตกต่างกันในการจัดการกับค่า NULL และอาจให้ผลที่ต่างกัน ซึ่งปัญหามาจากความจริงที่ว่าในระบบฐานข้อมูล Oracle คำว่า NULL หมายถึง "ไม่ทราบค่า" ดังนั้นหากมีการเปรียบเทียบค่า หรือมีการกระทำกับค่า NULL ใด ๆ ผลที่ได้ก็ควรจะเป็น NULL คือไม่ทราบค่า ดังเช่นตัวอย่างSQL&gt; </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/06/null-not-in.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/59494883061346793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/59494883061346793'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/06/null-not-in.html' title='(NOT) IN เมื่อใช้กับค่า NULL ทำให้คิวรีแสดงผลไม่ครบ'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-8937064490389619852</id><published>2009-05-31T16:01:00.003+07:00</published><updated>2009-06-27T17:17:11.401+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='foreign key'/><category scheme='http://www.blogger.com/atom/ns#' term='constraint'/><category scheme='http://www.blogger.com/atom/ns#' term='primary key'/><category scheme='http://www.blogger.com/atom/ns#' term='not null'/><category scheme='http://www.blogger.com/atom/ns#' term='optimizer'/><title type='text'>การใช้ Constraints เพื่อเพิ่มประสิทธิภาพในการคิวรี (ตอนที่ 1)</title><summary type='text'>(แปลจาก “On Constraints, Metadata, and Truth” โดย Tom Kyte, Oracle Magazine V XXIII, Issue3)เป็นเรื่องน่าสนใจว่า  Constraints สำคัญต่อความเร็วในการคิวรีเพียงใด คนส่วนใหญ่จะคิดว่า Constraints เป็นเรื่องที่เกี่ยวกับ Data Integrity ซึ่งก็ถูก แต่ Constraints ก็มีผลต่อ Optimizer ในการคิด Execution Plan เช่นกัน ซึ่งองค์ประกอบของตัวแปรที่ Optimizer ใช้ในการคำนวณได้แก่ • คำสั่ง SQL• ค่าสถิติของตารางหรือ </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/constraints-1.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/8937064490389619852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/8937064490389619852'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/constraints-1.html' title='การใช้ Constraints เพื่อเพิ่มประสิทธิภาพในการคิวรี (ตอนที่ 1)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-5189211567158282788</id><published>2009-05-24T16:16:00.001+07:00</published><updated>2009-08-20T21:10:40.919+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='recover'/><category scheme='http://www.blogger.com/atom/ns#' term='no archive log'/><category scheme='http://www.blogger.com/atom/ns#' term='control file'/><title type='text'>การกู้ข้อมูลกรณี Control File เสีย</title><summary type='text'>Updated: 5/4/2009การกู้ข้อมูลกรณีที่เกิดเหตุต่อไปนี้:ระบบฐานข้อมูลเป็นแบบ Noarchivelog, Control files เสียหายทั้งหมด ไม่ว่าจะมีการแก้ไขโครงสร้างทางกายภาพของระบบฐานข้อมูล (เช่นเพิ่มสมาชิกของ redo log)หลังจากการแบ็คอัพครั้งสุดท้าย (ไม่ว่าจะเป็นแบบ Whole หรือ Incremental)หรือไม่ คุณจะต้องมีแบ็คอัพเก็บไว้ โดยจะต้องมีการแบ็คอัพ Control file ไว้ด้วยทุกครั้งวิธีการแก้ไขโดยสังเขป1) Open database in </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/control-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/5189211567158282788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/5189211567158282788'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/control-file.html' title='การกู้ข้อมูลกรณี Control File เสีย'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-5990066824960974574</id><published>2009-05-24T15:47:00.000+07:00</published><updated>2009-05-28T09:20:14.698+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='select'/><category scheme='http://www.blogger.com/atom/ns#' term='external'/><category scheme='http://www.blogger.com/atom/ns#' term='text file'/><title type='text'>การ Select ข้อมูลจากเท็กซ์ไฟล์</title><summary type='text'>Date: 29/03/2009เราสามารถ Select ข้อมูลจากเท็กซ์ไฟล์ข้างนอกระบบฐานข้อมูลได้1. สมมติเรามีเท็กซ์ไฟล์ที่มีข้อมูลดังนี้7369,SMITH,CLERK,7902,17-DEC-80,800,207499,ALLEN,SALESMAN,7698,20-FEB-81,1600,300,307521,WARD,SALESMAN,7698,22-FEB-81,1250,500,307566,JONES,MANAGER,7839,02-APR-81,2975,,207654,MARTIN,SALESMAN,7698,28-SEP-81,1250,1400,307698,BLAKE,MANAGER,7839,01-MAY-81,2850,,307782,CLARK,MANAGER,</summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/select.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/5990066824960974574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/5990066824960974574'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/select.html' title='การ Select ข้อมูลจากเท็กซ์ไฟล์'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-842918169384372310</id><published>2009-05-09T18:11:00.000+07:00</published><updated>2009-05-09T18:18:43.288+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='transpose column'/><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='transpose'/><category scheme='http://www.blogger.com/atom/ns#' term='transpose row'/><title type='text'>การแสดงผลแบบ Transpose ข้อมูลจาก Row มาเป็น Column</title><summary type='text'>Update: 8/03/2009ในบางครั้งเราอาจจะต้องการแสดงผลข้อมูลที่อยู่ในรูปแถวแนวตั้ง ให้มาแสดงผลในรูปแนวนอนแทน ดังตัวอย่างต่อไปนี้SQL&gt; select deptno, ename from emp order by deptno;DEPTNO ENAME10 CLARK10 KING10 MILLER20 JONES20 FORD20 ADAMS20 SCOTT30 ALLEN30 JAMES30 TURNER30 MARTIN30 BLAKE30 WARDถ้าหากคุณต้องการแสดงผลแบบให้ ENAME ที่อยู่ใน DEPTNO เดียวกันขึ้นมาอยู่บน row เดียวกัน ดังนี้DEPTNO ENAME10 ,</summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/transpose-row-column.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/842918169384372310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/842918169384372310'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/transpose-row-column.html' title='การแสดงผลแบบ Transpose ข้อมูลจาก Row มาเป็น Column'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-5761993012919356801</id><published>2009-05-09T17:57:00.000+07:00</published><updated>2009-05-09T18:07:56.609+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='spool script'/><category scheme='http://www.blogger.com/atom/ns#' term='text file'/><title type='text'>การโหลดข้อมูลออกเป็น Text File</title><summary type='text'>Updated: 8/03/2009เปิด Text Editor แล้วคีย์อินคำสั่งข้างล่าง==============================set heading offset linesize 1000set pagesize 0set echo offspool d:\table1.datselect'COL1|COL2|COL3|COL4|' from dualunion allselecttrim(col1) ||'|'||trim(col2) ||'|'||trim(col3) ||'|'||trim(col4) ||'|'from table1;spool off==============================คำสั่ง Spool เป็นการเขียน Output ที่ได้ไปไว้ในไฟล์ที่กำหนด</summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/text-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/5761993012919356801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/5761993012919356801'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/text-file.html' title='การโหลดข้อมูลออกเป็น Text File'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-7456552196028392999</id><published>2009-05-09T17:41:00.001+07:00</published><updated>2009-05-09T17:49:12.755+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='default oracle home'/><category scheme='http://www.blogger.com/atom/ns#' term='default home'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle home'/><title type='text'>การตั้ง Oracle Default Home</title><summary type='text'>Updated: 9/5/2007Oracle Home เป็นที่ ๆ Oracle ใช้เก็บไฟล์ระบบต่าง ๆ ที่ระบบฐานข้อมูลต้องใช้ในการทำงาน (เช่น .EXE หรือไฟล์ที่เกี่ยวกับระบบการเชื่อมต่อเช่น TNSNAMES.ORA)บนเครื่อง ๆ หนึ่ง อาจจะลง Oracle ไว้มากกว่า 1 Home ก็ได้ (การลง Oracle Home จะต้องใช้ Oracle Installer ในการลง) ตัวที่ Install ครั้งหลังสุดจะเป็น Default Home โดยปกติ ถ้าเราต้องการให้ Oracle Home เป็นตัวอื่น เราสามารถจะเซ็ทได้ดังนี้</summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/oracle-default-home.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/7456552196028392999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/7456552196028392999'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/oracle-default-home.html' title='การตั้ง Oracle Default Home'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-7759094734928573383</id><published>2009-05-09T14:13:00.000+07:00</published><updated>2009-05-09T17:34:54.306+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='level1'/><category scheme='http://www.blogger.com/atom/ns#' term='copy'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='no archived log'/><category scheme='http://www.blogger.com/atom/ns#' term='level0'/><category scheme='http://www.blogger.com/atom/ns#' term='incremental'/><title type='text'>การแบ็คอัพแบบ Copy Incremental Level 0, 1 (No Archivelog Mode)</title><summary type='text'>Updated: 5/4/2009ผลที่ได้จากกระบวนการแบ็คอัพนี้ จะคล้าย ๆ กับ การทำ Daily Backup ใน Enterprise Manager (EM) โดยเป็นการแบ็คอัพเมื่อดาต้าเบสรันเป็นแบบ No Archivelog ซึ่งในวันแรกจะทำการ Copy Datafile ทั้งหมดก่อน (Level 0) พอวันที่สองจะทำการแบ็คอัพเพิ่มเฉพาะข้อมูลส่วนต่าง (Level 1) พอวันที่สามข้อมูลที่เพิ่มของวันที่สองจะถูกเอารวมเข้ากับ Datafile ในวันที่ 1 </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/copy-incremental-level-0-1-no.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/7759094734928573383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/7759094734928573383'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/copy-incremental-level-0-1-no.html' title='การแบ็คอัพแบบ Copy Incremental Level 0, 1 (No Archivelog Mode)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-7542778895324032220</id><published>2009-05-07T22:37:00.000+07:00</published><updated>2009-05-07T22:41:50.524+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='level1'/><category scheme='http://www.blogger.com/atom/ns#' term='copy'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='archived log'/><category scheme='http://www.blogger.com/atom/ns#' term='level0'/><category scheme='http://www.blogger.com/atom/ns#' term='incremental'/><title type='text'>การแบ็คอัพแบบ Copy Incremental Level 0, 1 (Archivelog Mode)</title><summary type='text'>Updated: 5/4/2009การแบ็คอัพบนเครื่องที่ใช้งานจริง (Production Server)1. ดาต้าเบสใช้ archivelog modeการ ดูว่าดาต้าเบสอยู่ใน mode archivelog หรือเปล่าล็อคอินเข้า SQL*Plus ด้วย sys as sysdba--***************************************************************SQL&gt; archive log list;Database log mode              Archive ModeAutomatic archival             EnabledArchive destination            </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/copy-incremental-level-0-1-archivelog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/7542778895324032220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/7542778895324032220'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/copy-incremental-level-0-1-archivelog.html' title='การแบ็คอัพแบบ Copy Incremental Level 0, 1 (Archivelog Mode)'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-7736759703093964919</id><published>2009-05-04T10:10:00.000+07:00</published><updated>2009-05-04T11:19:26.804+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='move tablespace'/><category scheme='http://www.blogger.com/atom/ns#' term='compress tablespace'/><title type='text'>การ Move ตารางไปไว้ในเทเบิลสเปซอื่น</title><summary type='text'>Updated: 4/5/2009เราสามารถย้ายเทเบิลสเปซของตารางได้ โดยสามารถที่จะ compress ขณะที่ย้ายตารางได้ด้วย ดังตัวอย่างข้างล่างเราสร้างเทเบิลสเปซ ชื่อ "uncompress1" เป็นแบบธรรมดา และ "compress1" เป็นแบบ compressSQL&gt; create tablespace uncompress1 datafile 'd:\uncompress1.dbf' size 5m;Tablespace createdSQL&gt; create tablespace compress1 datafile 'd:\compress1.dbf' size 5m default compress;Tablespace </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/move.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/7736759703093964919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/7736759703093964919'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/move.html' title='การ Move ตารางไปไว้ในเทเบิลสเปซอื่น'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-9114411298944443875</id><published>2009-05-02T04:03:00.001+07:00</published><updated>2009-10-28T00:36:20.951+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='password'/><category scheme='http://www.blogger.com/atom/ns#' term='hash'/><category scheme='http://www.blogger.com/atom/ns#' term='md5'/><title type='text'>Oracle เก็บพาสเวิร์ดอย่างไร</title><summary type='text'>Updated: 1/4/2007ในการเก็บพาสเวิร์ดของ user ปกติ (ที่ไม่ใช่ user ที่ได้สิทธิ์ SYSDBA) Oracle ไม่ได้ใช้วิธีการเข้ารหัส-ถอดรหัส (Encrypted-Decrypted) ในการเก็บพาสเวิร์ดให้เป็นความลับเพราะการใช้วิธีนั้น ทำให้เกิดคำถามขึ้นมาว่า ถ้าอัลกอริทึมนั้น (อาจจะบวกกับคีย์ในการเข้ารหัส) คนที่รู้นำไปใช้ในทางที่ผิดเช่น ไปแฮ็คเอาพาสเวิร์ดของบุคคล (ที่ใช้ Oracle) ที่มีหน้าที่เกี่ยวกับการเงินในองค์กร </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/oracle_01.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/9114411298944443875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/9114411298944443875'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/oracle_01.html' title='Oracle เก็บพาสเวิร์ดอย่างไร'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-3993672499924804013</id><published>2009-05-02T03:58:00.000+07:00</published><updated>2009-05-02T04:11:52.417+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web application'/><category scheme='http://www.blogger.com/atom/ns#' term='row lock'/><category scheme='http://www.blogger.com/atom/ns#' term='ora_rowscn'/><category scheme='http://www.blogger.com/atom/ns#' term='rowdependencies'/><category scheme='http://www.blogger.com/atom/ns#' term='select for update'/><title type='text'>ORA_ROWSCN ล๊อคเรคคอร์ดของ Web Application ยังไง ไม่ให้เกิดปัญหา Concurrency</title><summary type='text'>Updated: 1/4/2007ถ้าคุณเคยเขียน Application ที่เป็น Web base แล้วเคยใช้คำสั่ง SELECT FOR UPDATE คุณอาจจะพบกับปัญหาที่ session ของ web หลุดไปหลังจากที่คุณ SELECT FOR UPDATE ซึ่งเป็นเรื่องที่เกิดขึ้นได้บ่อยๆ ใน Web เทคโนโลยี พอคุณ select ข้อมูลด้วยคำสั่งดังกล่าวเพื่อล๊อค ไม่ให้ใครเข้ามาแก้ไขข้อมูล row เดียวกับของคุณในขณะที่ user กำลังแก้ข้อมูลในหน้า Web ยังไม่ทันที่จะ Submit ก็มีเหตุบางอย่างทำให้ </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/orarowscn-web-application-concurrency.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/3993672499924804013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/3993672499924804013'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/orarowscn-web-application-concurrency.html' title='ORA_ROWSCN ล๊อคเรคคอร์ดของ Web Application ยังไง ไม่ให้เกิดปัญหา Concurrency'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-5678359918049444919</id><published>2009-05-02T03:55:00.000+07:00</published><updated>2009-05-02T04:12:48.375+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gregorian'/><category scheme='http://www.blogger.com/atom/ns#' term='thai buddha'/><category scheme='http://www.blogger.com/atom/ns#' term='date'/><title type='text'>วันที่กับ Oracle</title><summary type='text'>Updated: 8/6/2008มักจะมีคนถามบ่อย ๆ ว่า Oracle เก็บวันที่เป็นปีฝรั่งหรือปีไทย จริงๆ แล้วฟิลด์ DATE ของ Oracle จะเก็บข้อมูลวันที่เป็นตัวเลขค่าหนึ่งซึ่งแทนวันที่ในปฏิทินสากลแบบแบบของฝรั่งเขา ซึ่งเรียกว่าปฏิทินแบบ Gregorian ซึ่งเป็นปฏิทินแบบ default ของ Oracle การเก็บจึงไม่ใช่การเก็บเป็นตัวเลข 2551 หรือ 2008 ดังนั้นคำถามจึงไม่ได้อยู่ที่ว่ามันเก็บเป็นปีฝรั่งหรือปีไทย </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/oracle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/5678359918049444919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/5678359918049444919'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/oracle.html' title='วันที่กับ Oracle'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-8579034026579911473</id><published>2009-05-02T03:45:00.005+07:00</published><updated>2009-08-16T12:56:10.951+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='utf8'/><category scheme='http://www.blogger.com/atom/ns#' term='al16utf16'/><category scheme='http://www.blogger.com/atom/ns#' term='nchar'/><category scheme='http://www.blogger.com/atom/ns#' term='nvarchar'/><category scheme='http://www.blogger.com/atom/ns#' term='character sets'/><title type='text'>การใช้ NCHAR และการกำหนด Character Sets</title><summary type='text'>Updated: 8/6/2008เมื่อเรา create database ตัวใหม่ (หรือ instance ใหม่) ทุกครั้ง ในส่วนที่เกี่ยวกับภาษาเราจะต้องระบุพารามิเตอร์สองตัวคือ1. Database Character Set ซึ่งเป็น Character Set ที่จะถูกใช้เป็น default Character Set2. National Character Set เป็น Character Set สำหรับ NVARCHAR data type เท่านั้น ซึ่งมีสองแบบคือ AL16UTF16 กับ UTF8สำหรับการกำหนดค่าของ National Character Set </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/nchar-character-sets.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/8579034026579911473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/8579034026579911473'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/nchar-character-sets.html' title='การใช้ NCHAR และการกำหนด Character Sets'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-3262766021504456527</id><published>2009-05-02T03:14:00.000+07:00</published><updated>2009-05-02T04:16:41.084+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='spfile'/><category scheme='http://www.blogger.com/atom/ns#' term='pfile'/><title type='text'>spfile ต่างจาก pfile อย่างไร</title><summary type='text'>Updated: 13/4/2009บนวินโดวส์ ระลึกเสมอว่าให้ใช้ pfile จาก $ORACLE_BASE/admin เท่านั้นและ spfile ตัวที่เป็น default จะอยู่ที่ $ORACLE_HOME/database บนวินโดวส์หรือ dbs บน unix เสมอถ้า STARTUP ด้วย pfile (ที่ $ORACLE_BASE/admin) แล้ว ALTER SYSTEM แต่ต้องการให้ SCOPE ไปที่ spfileจะไม่ได้ แม้จะใช้ create spfile from pfile เพราะยังเป็นการ create จาก pfile ตัวเก่าที่ยังไม่ได้ alterถ้า spfile </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/spfile-pfile.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/3262766021504456527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/3262766021504456527'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/spfile-pfile.html' title='spfile ต่างจาก pfile อย่างไร'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-3871166117396475026</id><published>2009-05-02T03:09:00.000+07:00</published><updated>2009-05-09T17:55:47.368+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='startup script'/><category scheme='http://www.blogger.com/atom/ns#' term='oradim'/><category scheme='http://www.blogger.com/atom/ns#' term='shutdown script'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>เปิดปิดระบบฐานข้อมุลด้วยสคริปต์</title><summary type='text'>Updated: 8/03/2009เราสามารถเปิดปิดระบบฐานข้อมูล โดยเขียนเป็นสคริปต์ได้ดังข้างล่างสร้างเท็กซ์ไฟล์โดยมีสคริปต์ข้างล่างนี้ แล้วบันทึกเป็นนามสกุล .BAT เพื่อใช้เปิดฐานข้อมูลset oracle_sid=orcloradim -startup -sid orclecho startup sqlplus / as sysdbalsnrctl start*โดยเปลี่ยน orcl ด้วยชื่อ sid ของคุณ* oradim เป็นการเปิด Service ของ Oracle บน Windowsปิดฐานข้อมูลset oracle_sid=orcloradim -shutdown -</summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/05/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/3871166117396475026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/3871166117396475026'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/05/blog-post.html' title='เปิดปิดระบบฐานข้อมุลด้วยสคริปต์'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-9155293457413550021</id><published>2009-04-16T13:42:00.000+07:00</published><updated>2009-05-02T04:14:12.961+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='tuning'/><category scheme='http://www.blogger.com/atom/ns#' term='session'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>การตรวจสอบการทำงานของ Session</title><summary type='text'>Updated: 5/4/2009ล็อคอินด้วย  User ที่มีสิทธิ์ DBA1. แสดงการล๊อค ณ ขณะนี้ และการร้องขอการล๊อคSQL&gt; select * from v$lock;2. แสดง Process ที่ Active อยู่ ณ ขณะนี้SQL&gt; select * from v$process;3.แสดงข้อมูลของ Sessions ที่มีอยู่ ณ ปัจจุบัน เราสามารถเชื่อมโยง SID ไปยัง Sessions อื่น ๆ ได้ นอกจากนี้ยังแสดงข้อมูลของการล๊อคเรคคอร์ดด้วยSQL&gt; select * from v$session;4.แสดงข้อมูลของการรอ (</summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/04/session-level-monitoring.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/9155293457413550021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/9155293457413550021'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/04/session-level-monitoring.html' title='การตรวจสอบการทำงานของ Session'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-8210925186491175289</id><published>2009-04-16T10:19:00.000+07:00</published><updated>2009-04-18T23:18:20.655+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='tuning'/><category scheme='http://www.blogger.com/atom/ns#' term='tkprof'/><title type='text'>การใช้ TKPROF เพื่อแสดงสถิติการรันของคำสั่ง SQL</title><summary type='text'>Last Updated: 9/4/2009การรันคำสั่ง SQL ถ้าคุณต้องการรู้ว่าคำสั่งของคุณมีประสิทธิภาพดีมากน้อยแค่ไหน หรือว่าใช้เวลาในการรันมากน้อยเพียงใด จากสาเหตุอะไร คุณสามารถใช้โปรแกรม TKPROF ซึ่งเป็นโปรแกรมที่ถูกติดตั้งมาพร้อมกับตอนที่คุณลง Oracle โดยเริ่มจากคุณสั่งให้ Oracle ทำการบันทึกข้อมูลทางสถิติ (Trace)ของคำสั่ง SQL ที่คุณต้องการเสียก่อน แล้วจึงใช้ TKPROF ในการจัดรูปแบบข้อมูลเหล่านี้ให้อ่านได้เข้าใจง่าย </summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/04/tkprof-sql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/8210925186491175289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/8210925186491175289'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/04/tkprof-sql.html' title='การใช้ TKPROF เพื่อแสดงสถิติการรันของคำสั่ง SQL'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-258630227986295167.post-8974655036369236239</id><published>2009-04-16T09:13:00.000+07:00</published><updated>2009-04-16T16:11:15.698+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='tuning'/><category scheme='http://www.blogger.com/atom/ns#' term='memory'/><category scheme='http://www.blogger.com/atom/ns#' term='sga'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Performance monitoring &amp; tuning</title><summary type='text'>Last Updated: 8/03/20091. ขนาดของ Shared Poolอัตราการ Reparseแสดงค่าของอัตราที่ระบบฯ ไม่ได้ใช้ Library Cache และ Row (Dictionary) Cache โดยปกติจำนวนครั้งของการ Reparse จะสะท้อนถึงการใช้ Library Cache ถ้าค่าอัตรานี้อยู่ประมาณ ๆ 1 (ค่าของการ Reload มีจำนวนน้อย) เราไม่จำเป็นต้องเพิ่ม Pool Sizeเมื่อ PARSE_CALLS มีค่าใกล้เคียงกับ EXECUTION แสดงว่ามีการ Reparse อยู่ตลอดSQL&gt; select sql_text,parse_calls,</summary><link rel='replies' type='text/html' href='http://tanakornt.blogspot.com/2009/04/performance-monitoring-tuning.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/8974655036369236239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/258630227986295167/posts/default/8974655036369236239'/><link rel='alternate' type='text/html' href='http://tanakornt.blogspot.com/2009/04/performance-monitoring-tuning.html' title='Performance monitoring &amp;amp; tuning'/><author><name>Tanakorn Tavornsasnavong</name><uri>http://www.blogger.com/profile/01131478829974162687</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_FtBCi0GxH_4/Sf6NOrc3rkI/AAAAAAAAABc/SdIEioKptIM/S220/me2.jpg'/></author><thr:total>9</thr:total></entry></feed>
