ผมได้ทดสอบทำดู เลยจะขอแจงแจงรายละเอียดเป็นขั้นตอนต่อไปนี้ครับ
1. ทำการ shutdown instance และลบไฟล์ทั้ง 2 file นะครับ คือ PFILE และ SPFILE โดย
PFILE จะอยู่ที่ Path /oracle/admin/orcl/pfile
SPFILE จะอยู่ที่ Path /oracle/db11201/dbs
2. ไปเปิด alert log เพื่อดู parameter โดย alert log จะอยู่ที่ Path
/oracle/diag/rdbms/orcl/orcl/trace
โดยมีชื่อไฟล์ว่า alert_orcl.log
3. ทำการ copy ในส่วนนี้ของไฟล์ alert log มานะครับ
processes = 150 memory_target = 812M control_files = "/oracle/oradata/orcl/control01.ctl" control_files = "/oracle/flash_recovery_area/orcl/control02.ctl" db_block_size = 8192 compatible = "11.2.0.0.0" db_recovery_file_dest = "/oracle/flash_recovery_area" db_recovery_file_dest_size= 3852M undo_tablespace = "UNDOTBS1" remote_login_passwordfile= "EXCLUSIVE" db_domain = "co.th" dispatchers = "(PROTOCOL=TCP) (SERVICE=orclXDB)" audit_file_dest = "/oracle/admin/orcl/adump" audit_trail = "DB" db_name = "orcl" open_cursors = 300 diagnostic_dest = "/oracle"4. ทำการสร้าง PFILE ชื่อ initorcl.ora ไว้ที่ Path /oracle/db11201/dbs โดยนำ content ของ alert log ที่ copy มาใส่ลงไปในไฟล์
5. เข้า sqlplus ด้วย user sys และทำการ start instance
$ sqlplus /nolog sql> conn / as sysdba sql> startup
6. ทำการสร้าง SPFILE จาก PFILE ไปไว้ที่ Path /oracle/db11201/dbs ด้วยคำสั่งต่อไปนี้
sql> create spfile='spfileorcl.ora' from pfile='/oracle/db11201/dbs/initorcl.ora';7. เราจะได้ spfile ที่ชื่อ spfileorcl.ora มานะครับ
8. ทดสอบ startup instance อีกครั้ง พบว่าสามารถ start ได้ครับ
SQL> startup ORACLE instance started. Total System Global Area 849530880 bytes Fixed Size 1339824 bytes Variable Size 499125840 bytes Database Buffers 343932928 bytes Redo Buffers 5132288 bytes Database mounted. Database opened. SQL>
เท่านี้เราก็สามารถนำ PFILE และ SPFILE กลับมาได้เหมือนเดิมแล้วครับ :)
Credit by Ice
No comments:
Post a Comment