นักพัฒนาบางท่านที่เพิ่งเริ่มพัฒนาระบบบนฐานข้อมูล Oracle อาจจะเคยเจอปัญหาเมื่อใช้ Oracle ตั้งแต่เวอร์ชัน 11 เป็นต้นไป นั่นคือ เมื่อสร้าง user บน Oracle และใช้งานไปได้ซักระยะอยู่ ๆ user นี้ก็เกิดก็ expire โดยที่ไม่ได้มีใครเข้าแก้ไขการตั้งค่าของ user นี้ ซึ่งเหตุการณ์นี้อาจจะมีสาเหตุแบบเดียวกับที่จะนำเสนอในบทควาามนี้ก็เป็นได้
หมายเหตุ ในบทความนี้จะใช้ Oracle SQL Developer ซึ่งเป็นเครื่องมือในการเข้าถึงและจัดการฐานข้อมูล Oracle มาช่วยในการอธิบายเพื่อให้เห็นภาพได้ง่ายขึ้น
ขั้นตอนการตรวจสอบที่มาของปัญหาและการแก้ไข
- login ด้วย sys
- ตรวจสอบการตั้งค่า Default Profile โดยเลือกเมนู View –> DBA
![](https://sysadmin.psu.ac.th/wp-content/uploads/2020/11/image-179.png)
3. ในหน้าต่าง DBA เลือกเพิ่มการเชื่อมต่อโดย SYS
![](https://sysadmin.psu.ac.th/wp-content/uploads/2020/11/image-181.png)
4. ไปที่การตั้งค่า Default Profile
![](https://sysadmin.psu.ac.th/wp-content/uploads/2020/11/image-183.png)
5. คลิกขวาที่ Default แล้วเลือก Edit
![](https://sysadmin.psu.ac.th/wp-content/uploads/2020/11/image-185.png)
6. จะปรากฏหน้าต่าง Default Profile
![](https://sysadmin.psu.ac.th/wp-content/uploads/2020/11/image-187.png)
ซึ่งใน Oracle 11 เป็นต้นไป หลังจากติดตั้งและสร้าง Database แล้ว ใน Default Profile จะมีการตั้งค่าเริ่มต้นไว้ดังรูป โดย Default Profile จะมีผลกับ user ที่ถูกสร้างใหม่ และค่าที่ทำให้ user หมดอายุโดยอัตโนมัติก็คือ “Expire in (days)” นั่นเอง จึงเป็นที่มาของการที่ user expire เองโดยที่ไม่ได้มีการเข้าไปแก้ไขข้อมูลใด ๆ ของ user นี้
7. การแก้ไขไม่ให้ user ที่สร้างใหม่ expire อัตโนมัติ ทำได้โดยการแก้ค่า “Expire in (days)” ให้เป็น UNLIMITED
![](https://sysadmin.psu.ac.th/wp-content/uploads/2020/11/image-189.png)
เมื่อแก้ไขแล้ว user ใหม่ที่ถูกสร้างหลังจากนี้ก็จะใช้งานได้ตลอดไม่มีวัน expire แต่ส่วนของ user ที่เคยสร้างไปก่อนหน้านี้ ผู้พัฒนาจะต้องเข้าไปปรับแก้วันที่ expire เป็นราย user ไป