사실 내가 관리하는 사이트 들은 모두 File system을 사용한다.

(개발/관리 업무만 하던 이전 직장에 있다가 DB로 넘어온 후 File system / Raw device / Cluster가 뭔지 정말 생소한 단어들에 엄청 맘 고생하면서 찾아보고...물어보기도 창피하고 직급은 있는데...정말 그때 생각하면 아직도 가슴이 찡하다..이게 도대체 뭐라고 ㅋㅋㅋ)


하지만 동료들 사이트 보면 간간히 ASM 이 포함되어 있어서 이레저레 한두번 보기만 해봤다.

물론 테스트 디비랑은 다 구축해 놨지만 정작 구축만 하고 활용은 안했다는..


각설하고 이번에 ASM 에 datafile 추가하는데 file system 처럼 하면 되는데,

갑자기 왜 file 명이 이래요..? 이리 물어보니.. 어버버 거려서 이참에

한번 정리해 본다.


ASM 에 Tablespace 추가


sql) CREATE TABLESPACE TEST DATAFILE SIZE 10M;


이렇게 하면 자동으로 datafile 명시 안해줘도 disk group 아래에 생성이 된다.



cf) File system 에서는 아래와 같이 명시적으로 추가해 줘야한다

sql) CREATE TABLESPACE TEST DATAFILE '/DATA/ORCL/test_data01.dbf' SIZE 10m;


혹시라도 아래와 같은 에러가 발생할 수 있다.

ERROR at line 1:

ORA-01119: error in creating database file '+DATA'

ORA-17502: ksfdcre:4 Failed to create file +DATA

ORA-15001: diskgroup "DATA" does not exist or is not mounted

ORA-15001: diskgroup "DATA" does not exist or is not mounted


그러면 아래와 같이 경로를 확인해 보자.


SQL> show parameter db_create_file_dest



Disk Group 위치도 확인해 보자


SQL> select group_number, name, state from v$asm_diskgroup;

SQL> select b.name group_name, a.name disk_name, a.header_status , a.state, a.free_mb from v$asm_disk a, v$asm_diskgroup b
       where a.group_number = b.group_number;



이리 저리 봐도 DB_CREATE_FILE_DEST 가 잘못 설정되어 있는 것을 확인할 수 있다.

변경하자. 

변경 후에 DB는 재기동 할 필요가 없다.


SQL> alter system set db_create_file_dest='+DATA1';


이후 다시 Tablespace 생성 하면 문제 없이 생성 되는 것을 확인할 수 있다.




이번에는 Add datafile 진행을 해 보자.


SQL> alter tablespace TEST add datafile '+DATA1/orcl/datafile/test2.dbf' size 10m;


이렇게 추가는 가능하지만, Data guard 등에서 문제가 생길 수 있다고 하기에..

(이 부분은 찾아서 올리도록 하겠습니다.........[정중히ㅠ])


가급적 자동으로 생성 되도록 유도하자.(ASM 에서 A가 Automatic 이니깐!! Storage Management )


SQL> ALTER TABLESPACE TEST ADD DATAFILE SIZE 10m;

아래를 보면 명시한 파일명을 명시한 경우와 명시하지 않은 경우가 있다.

가급적 우리는 명시하지 않도록 하고 자동으로 관리하도록 하자.



추가적으로 확인해야 할 부분들도 많고 하지만..

차근차근 진행을 한 후 공유 하도록 해야겠다.


참고 사이트 : http://dinggur.tistory.com/201

반응형

+ Recent posts