생계/Oracle2022. 12. 21. 20:57

+DATA 디스크그룹 을 사용하는 디비 testdb 의 모든 파일을  +NEW_DG 디스크 그룹으로 옮기려면 어떻게 해야할까  

1. new diskgroup 생성 
2. datafile 이동 
  2-1)  datafile (system, users, undo ) 
  2-2)  temp 
  2-3) 기타 파일들(spfile, logfile, controlfile)

* crs 관련 


1. new diskgroup 생성 

alter dg drop disk name;

create diskgroup xxx asm_string '';

 


2. datafile 이동

   asmcmd mkdir 

    * system, undo 를 제외한 datafile 들은 archive mode 상태라면 rman 에서 아래 명렁으로 온라인으로 이동 가능하다. 

    1] BACKUP AS COPY DATAFILE 4 FORMAT "+NEW_DG";
    2] SQL "ALTER DATABASE DATAFILE ''+OLD_DG/orcl/datafile/users.261.689589837'' OFFLINE";
    3] SWITCH DATAFILE "+OLD_DG/orcl/datafile/users.261.689589837" TO COPY;
    4] RECOVER DATAFILE "+NEW_DG/orcl/datafile/users.256.689682663";
    5] SQL "ALTER DATABASE DATAFILE ''+NEW_DG/orcl/datafile/users.261.689589837'' ONLINE";
    6] DELETE DATAFILECOPY "+OLD_DG/orcl/datafile/users.261.689589837";

    2-1)  datafile 

    mount 상태에서 backup/ switch 로 이동시킨다. (temp 제외 모든 datafile)

   alter database mount;

    backup/ switch 

  open 이후 불필요한 datafilecopy 삭제 

 rman> delete datafilecopy all
   

  2-2)  temp 

   temp 는 새로운 경로에 생성 후 교체  
 - create temporary temp_new '+NEW_DG'
 - alter database default temp
 - drop temp
 - alter tablespace temp_new rename to temp

  2-3) 기타 파일들(spfile, logfile, controlfile)

logfile
 - alter system add logfile
 - alter system drop logfile member

  spfile
 - srvctl config 로 현재 spfile 경로 확인

  srvctl config database -d orclcdb

- srvctl modify spfile=

  srvctl modify database -d orcl -spfile +NEW_DG/spfileORCL.ora

create spfile ='+NEW_DG' from pfile;

controlfile
 - alter database nomount
 - restore to '+NEW_DG' from '+OLD_DG' 

 - vi initORCL.ora 
 - shutdown/ startup pfile
 - alter system set controlfile ='+NEW_DG' 


asmcmd rm -rf   OLD_DG 

* crs resource 등록

ERROR: failed to establish dependency between database <database name> and diskgroup resource ora.<diskgroup name>.dg

srvctl add

srvctl config

srvctl modify 

 

 

 

반응형

'생계 > Oracle' 카테고리의 다른 글

[ASM] 스크립트 로 database 수동 생성  (0) 2022.12.22
오라클 DISKGROUP RENAME  (0) 2022.12.21
계층형 쿼리 start with connect 실행 순서  (0) 2022.09.10
트리거 안쓰는 이유  (0) 2022.08.30
dbms random  (0) 2022.08.24
Posted by 돌고래트레이너