Articles Comments

Oracle DBA & All IT » Database, DBA, Oracle, Oracle Tips » Renaming an Oracle database – เปลี่ยนชื่อฐานข้อมูล

Renaming an Oracle database – เปลี่ยนชื่อฐานข้อมูล

ขึ้นปีใหม่ทั้งทีบางคนก็อยากเปลี่ยนชื่อเสริมดวง ฐานข้อมูลของเราก็อาจจะอยากเปลี่ยนชื่อเสริมดวงกันบ้าง เผื่อ Database จะได้ไม่ล่มกันบ่อยๆ อิอิ วันนี้เลยนำวิธีการเปลี่ยนชื่อฐานข้อมูลง่ายๆ มาฝากกัน

Step การเปลี่ยนชื่อฐานข้อมูลจาก 2GINTER เป็น 4GPROD.

1. ดูชื่อฐานข้อมูลเก่าก่อนที่จะลาขาด..
SQL> select name from v$database;
NAME
———
2GINTER

 

2. ทำการ switch logfile
SQL> alter system switch logfile;

3. ทำการ Backup Controlfile ด้วยคำสั่งด้านล่าง โดย Tracefile จะอยู่ใน udmp
SQL> alter database backup controlfile to trace;

 

4. ต้องทำการ Shutdown ระบบก่อนด้วย user SYS หรือ user ที่มีสิทธิ์ SYSDBA
SQL> shutdown immediate

 

5. ทำการแก้ไขใน Trace File ที่ generate ออกมาใน Path udmp:

  1. หาบรรทัดที่มีคำว่า RESETLOGS case
  2. ลบบรรทัดข้างบนของข้อ 1 ให้หมด
  3. เปลี่ยนชื่อ Database name และจาก REUSE เป็น SET
    CREATE CONTROLFILE REUSE DATABASE "2GINTER" RESETLOGS NOARCHIVELOG
    to
    CREATE CONTROLFILE SET DATABASE "4GPROD" RESETLOGS NOARCHIVELOG
    Note, ในที่นี้ใช้สำหรับ Database ที่อยู่ใน mode noarchive 
  4. ลบบรรทัดที่มีข้อความ RECOVER DATABASE USING BACKUP CONTROLFILE.
  5. ลบบรรทัดที่มี #.

 

ตัวอย่าง controlfile ที่แก้ไขตามด้านบนแล้ว:

 

STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE “4GPROD” RESETLOGS  NOARCHIVELOG
–  SET STANDBY TO MAXIMIZE PERFORMANCE
    MAXLOGFILES 16
    MAXLOGMEMBERS 2
    MAXDATAFILES 30
    MAXINSTANCES 1
    MAXLOGHISTORY 454
LOGFILE
  GROUP 1 ‘/home/oracle/databases/cat/redo1.ora’  SIZE 100M,
  GROUP 2 ‘/home/oracle/databases/cat/redo2.ora’  SIZE 100M,
  GROUP 3 ‘/home/oracle/databases/cat/redo3.ora’  SIZE 100M
– STANDBY LOGFILE
DATAFILE
  ‘/home/oracle/databases/cat/system.dbf’,
  ‘/home/oracle/databases/cat/undo.dbf’,
  ‘/home/oracle/databases/cat/data.dbf’
CHARACTER SET WE8ISO8859P1
;
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE ‘/home/oracle/OraHome1/databases/ora9/temp.dbf’
     SIZE 104857600  REUSE AUTOEXTEND OFF;

 

6. ทำการ save เป็นชื่อใหม่ /tmp/rename_db.sql

 

7. เปลี่ยนชื่อ Controlfile เก่าเก็บไว้
$ mv ctl_1.ora ctl_1.ora.moved
$ mv ctl_2.ora ctl_2.ora.moved
$ mv ctl_3.ora ctl_3.ora.moved

 

8. เปลี่ยนชื่อ db_name ในไฟล์  initSID.ora:
initXXX.ora
db_name = 4GPROD

 

9. Connect เข้า Database ด้วย user SYS
sqlplus “/ as sysdba

 

10. รัน Controlfile ที่เราทำการ save ไว้
SQL> @/tmp/rename_db

 

11. เมื่อรันเสร็จลอง Select ดูชื่อ Database ได้เปลี่ยนไปแล้ว
SQL> select name from v$database;
NAME
———
4GPROD

 ^^ เสร็จแล้วชื่อใหม่ของเรา ปีนี้เบสเราจะไม่ล่มอีกต่อไปเพราะชื่อเป็นศิริมงคลแล้ว อิอิ

.. Preview : 565

Related Search:

  • oracle sid
  • sid oracle change
  • alter database open resetlogs
  • วิธีการ check oracle_sid
  • วิธีการดู oracle_sid
  • วิธีการหา oracle SID
  • วิธีการเปลี่ยนชื่อฐานข้อมูล database
  • วิธีดูชื่อ database oracle
  • วิธีแก้ไขdatabase oracle
  • วิธีแสดงชื่่อ user delete oracle

Written by

"จงอย่าหยุดฝัน แรงบันดาลใจ อย่าให้หายไป" -- มีคำถามสงสัยสอบถามได้ที่ forum ค่ะ --

Filed under: Database, DBA, Oracle, Oracle Tips · Tags: , , ,

One Response to "Renaming an Oracle database – เปลี่ยนชื่อฐานข้อมูล"

Leave a Reply

*

* Copy this password:

* Type or paste password here:

11,628 Spam Comments Blocked so far by Spam Free Wordpress