Site icon PlusMagi's Blog By Pitt Phunsanit

Oracle: auto deployment

การออกแบบระบบ Deployment สำหรับ Oracle Database โดยใช้การเรียงลำดับตามชื่อไฟล์ ( Sequencing ) เป็นแนวทางที่เป็นมาตรฐาน ( Best Practice ) ในการทำ Database Migration เพื่อให้มั่นใจว่าโครงสร้างและข้อมูลถูกติดตั้งอย่างถูกต้องตามลำดับความสัมพันธ์ ( Dependencies )

นี่คือโครงสร้างการตั้งชื่อไฟล์และการแบ่งโฟลเดอร์ที่ครอบคลุมทุก Function ครับ


Prefix 2 ตัว

การใช้ Prefix หลักแรก ( 000 ถึง 999 ) ให้เป็นประโยชน์สูงสุดจะช่วยให้ระบบ Deployment “ยืดหยุ่น” และ “รองรับอนาคต” ได้ดีมาก โดยไม่จำเป็นต้องแก้ชื่อไฟล์เดิมเวลาจะมีฟังก์ชันใหม่แทรกเข้ามา โดยเรียงลำดับตามความสัมพันธ์ของ Object ( Dependency ) และเผื่อช่องว่าง ( Gaps ) ไว้สำหรับขยายตัวในอนาคต

การใช้ Prefix หลักที่สอง ( 0000 – 9999 ) เพื่อให้แทรกกลางได้ง่าย ๆ โดยไม่ต้องแก้ไฟล์เก่า


🏗️ การออกแบบ Prefix 3 หลัก ( Level 1 Hierarchy )


🏗️ Phase 1: Infrastructure & Instance ( 000-099 )

เน้นการตั้งค่าตัวเครื่องยนต์ ( Engine ) และสิทธิ์ระดับระบบ

000-019: System Parameters & Reboot Logic

020-049: Storage & Security Policy

050-099: Identity & Connectivity


🏗️ Phase 2: Schema Objects ( DDL ) ( 100-299 )

เน้นการสร้าง “ถังเก็บข้อมูล” และความสัมพันธ์

100-149: Foundation Objects

150-199: Tables & Storage Strategy

200-299: Constraints & Performance


🏗️ Phase 3: Messaging & Programmable Logic ( 300-599 )

เน้นระบบสื่อสารและตรรกะทางธุรกิจ ( PL/SQL )

300-349: Advanced Queuing ( AQ )

350-599: PL/SQL Logic


🏗️ Phase 4: Data & Application Config ( 600-799 )

เน้นการเติมข้อมูลลงในระบบ


🏗️ Phase 5: Post-Deployment & Maintenance ( 800-999 )

เน้นการจูนเครื่องและตรวจสอบความถูกต้อง


💡 จุดเด่นของการแบ่ง 3 หลักแบบนี้

  1. Dependency Isolation: แยกส่วนที่มีความเสี่ยงสูง ( เช่น Static Parameters 000 ) ออกจากสคริปต์ปกติชัดเจน
  2. PL/SQL Hierarchy: แยก Package Spec ( 420 ) ออกจาก Package Body ( 430 ) เพราะ Spec ต้องถูก Compile ก่อน Body เสมอ
  3. Future-Proof: มีช่องว่างระหว่างหมวดหมู่เยอะมาก ( เช่น 121-149 ) หากคุณต้องการเพิ่มฟีเจอร์อย่าง XML DB หรือ Spatial Data ก็สามารถแทรกเข้าไปได้โดยไม่ต้องร่นเลขอื่น
  4. Logical Flow: การสร้าง Types ( 110 ) ก่อน Tables ( 150 ) และ Queues ( 310 ) ช่วยให้คุณใช้ Object-Relational features ของ Oracle ได้อย่างเต็มที่ครับ

การใช้ Prefix หลักที่สอง ( Level 2 Hierarchy )

เพื่อให้การแทรกไฟล์ตาม Prefix หลักที่หนึ่งได้ง่าย ๆ ยิ่งมีจำนวนหลักที่มาก โอกาสที่ระบบต้องใช้วนซ้ำลำดับที่ทำไปแล้วจะยิ่งยาก


อ่านเพิ่มเติม

Exit mobile version