+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 |