생계/Oracle2022. 12. 21. 21:00

오라클 diskgroup 이름 을 변경하는 것에 대해 알아보자 

1. dg umount
2. renamedg
3. dg mount
4. srv config
5. file rename

==================================
1. dg umount

create pfile from spfile;
@crs_user
crsctl stat res -t
srvctl stop database -d orcl

sqlplus / as sysasm
alter diskgroup OLD_DG dismount;

2. renamedg
renamedg dgname=old_dg newdgname=new_dg verbose=true check=true asm_diskstring='/dev/..'
renamedg dgname=old_dg newdgname=new_dg verbose=true asm_diskstring='/dev/..'

3. dg mount
alter diskgroup NEW_DG mount restricted;
alter diskgroup NEW_DG rename disks all;

alter diskgroup NEW_DG dismount;
alter diskgroup NEW_DG mount;

asmcmd lsdg

4. srv config

crsctl stat res -t

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

srvctl remove diskgroup -g OLD_DG

startup nomount pfile='orahome/initORCL.ora'
alter database mount;


5. file rename
-- datafile
SELECT 'ALTER DATABASE RENAME FILE '''||NAME||''' TO '''||'+NEW_DG'||SUBSTR(NAME,9)||''';' STMT
  FROM V$DATAFILE
;

-- logfile
SELECT 'ALTER DATABASE RENAME FILE '''||NAME||''' TO '''||'+NEW_DG'||SUBSTR(NAME,9)||''';' STMT
  FROM V$LOGFILE
;

alter database open;
create spfile from pfile;
shutdown immediate;
startup

 

반응형
Posted by 돌고래트레이너
생계/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
extended varchar 사용법  (0) 2022.09.01
트리거 안쓰는 이유  (0) 2022.08.30
Posted by 돌고래트레이너


이태원 참사의 희생자들의 명복을 빕니다.

희생자들을 비난하지말자.
나도 20대였다면 이태원은 꼭 가보고 싶었을거고 그자리에 있었을 수도 있다.
만약 자신은 공감할수 없어서 도저히 명복을 빌어줄수없다면 최소한 침묵을 지키자.
친구, 가족을 잃은자들의 슬픔을 애도기간만이라도 생각해주었으면 한다.

행정력의 부재 아쉽다.

전조는 있었다.
앞서 8시즈음 똑같이 골목의 정체가 발생했다.
기사에 따르면 한 여성의 통솔로 진입을 멈추고 사람들이 조금씩 빠져나왔다고 한다. 그때는 이른시간이라 취한이도 적고 통솔이 되는 분위기였을듯. 그러나 사건이 발생한
10시 경 에는 취한이 도 생기고 군중속에 이상한 분위기가 퍼지면서 이성적통제가 안되었을것이다.
밀라고 한사람도 비난은 받아야겟지만 실제로 그 현장에 있지 않았다면 정확하게 알수없기에 뭐라못하겠다.

결국 그 근처에 통제인원이 있었다면 이상한 심리가 퍼져나가는것을 막을수 있지 않았을까..

경찰력을 무한대로 지원 할수없다면
혼잡도를 cctv등으로 실시간 분석해서
특정 밀집도 이상이면 골목 진입막고 나가는것만 허용하는 것을 했다면 적은인원으로도 통제가 가능했을것이다. 이태원에 핫한 골목이 수십개 있는것도 아니고 딱 한군데 그곳 뿐이라 왜 이런생각을 하지 못했을까..

할로윈하면 이태원이라는 공식이 성립한지 꽤 되었다.
누구나 할로윈하면 "이태원에 가서 분위기를 즐겨야지" 하는 생각을 하게된다.
그러나 이태원의 핫한 골목은 다른 인기 상업지와 다르게 좁은 골목에 형성되었다. 사실 인기 상업지로 성장하기에 한계가 있는 지역인데 수용가능인원보다 휠씬많은 사람이 방문한것이다.

쇼핑몰의 이야기를 한번해보자면..
사람들은 쇼핑을 특정 기간, 시간에 몰려서 한다.
크리스마스나 연말이나 저녁등.
그러나 쇼핑몰 측은 피크타임을 기준으로 서버를 가지고 있어야 한다.
그렇지 않으면 가장 매출을 많이 올릴수있는 시간에 시스템 장애로 대목을 놓치게 될테니까..

이태원의 참사는 대목인걸 알고있었지만 그에맞는 대응책의 부재로 일어난 사건이라고 생각한다.
그로인한 피해는 앞날이 창창한 젊은이들의 생명이고 다시 되돌릴수 없기에 너무도 가슴이 아프다.







반응형
Posted by 돌고래트레이너