>>김효준 님께서 쓰시길<<
:: 안녕하세요 고수님들.
:: 저는 PHP와 MySQL로 잡다구리 한것들을 작업해 본 허접한넘 입니다.
:: 요번에 회사에서 새로운 프로젝트가 떨어 졌는데요 도저히 MySQL로는
:: 감당이 안될만한 프로젝트 입니다.
:: 그래서 몇일 전부터 오라클 공부를 시작했는데 MySQL에 흠뻑 빠져 있는
:: 저로써는 오라클의 환경 또는 구조를 이해 하는게 영 힘이드는 군요.
:: 그래서 몇가지 바쁘신 고수님들에게 여쭈어보고 싶어서 일케
:: 몇자 적습니다.
:: 문제의 시작은 MySQL의 구조에서 시작이 됩니다.
:: MySQL은 각각의 사용자 마다 DB를 어드민(root)이 만들어 주게 되어 있죠.
:: 글면 디비가 걍 팍~ 하고 하나 생기고 유저는 요기에 접속하여 깨적 깨적
:: 거리면 되고....
:: 근데 오라클도 이런 식인가요?
:: 책을 2권 구입해서 읽어는 보았지만 이런 이야기는 전혀 없더군요. 걍
:: 디비를 만들어라.... 이런 식으로. 오라클에서 dbassist(리눅스 버전)으로
:: 디비를 생성하면 헐~~ 한 2시간 정도 소요 되더군요. 이게 혹시 MySQL에서
:: DB 만드는 거랑 같은 것인가요?
오라클에서 dbassist로 생성한 DB는 인스턴스라고 부릅니다. 이렇게 생성하는
인스턴스는 MySQL이 초기에 설치될 때 mysql 유저와 test 유저를 만드는 과정과
유사합니다. 따라서 특별한 경우가 아니면 한 머신에 두개 이상의 인스턴스를
만드는 경우는 별로 없습니다.:)
오라클의 어드민은 system 또는 sys 유저입니다. 대부분 system 유저로 작업을
하게 되는데 system 유저가 적절한 테이블스페이스를 만들어주고 유저를 추가로
만들어주면 됩니다.
:: 만약 그렇다면 디비 만들적에 2~3시간씩 소비해야 되는것이란 말인데...
::
:: 책을 보니깐 DB를 만들어서 유저를 등록을 시키더군요. 저의 가장 큰
:: 의문은 여기에서 클라이막스로 올라 갑니다. 그렇다면 혹 오라클은
:: DB를 하나 생성해서 요기에 유저를 등록시키는 방식으로 돌아 간다는
:: 것이 아닐까? 하구요. 즉 MySQL에서 전체를 오라클에서는 DB라는 것으로
:: 생각을 하구 MySQL에서 각각의 유저에 DB를 주는것이 오라클에서는
:: 유저를 설정하는 것... 이런 식이 아닌가 하구요.
MySQL에서 유저별로 DB를 생성하듯이 오라클에서는 유저를 생성하시면 됩니다.
이 유저들은 각각 테이블을 소유할 수 있고, 다른 사용자에게 사용할 권한을
줄 수도 있습니다. 물론 필요한 경우에는 테이블 스페이스를 사전에 유저별로
만들어 두고 각 사용자의 테이블들을 해당 테이블 스페이스에 저장하도록 할 수도
있겠지요. 보통 서적에서 유저 또는 스키마라는 용어로 사용됩니다.
MySQL과의 가장 큰 차이점이라면 MySQL에서는 파일 시스템을 사용하니까 그냥 유저만
만들어주면 되지만, 오라클에서는 데이타베이스 객체들이 테이블 스페이스에 저장되
므로 먼저 테이블스페이스를 만들어주고 해당 유저의 객체들을 테이블 스페이스에
저장하는 것이라고 할 수 있습니다.
음, 테이블스페이스, 데이터파일, 롤백세그멘트 등의 개념을 설명하려면 너무 길어
지겠네요. 일단 이 세가지 용어에 대한 자세한 설명은 서적을 참고하세요.
::
:: 물론 제가 책을 더 보면서 아님 인터넷을 더 많이 찾아 보구 하면
:: 되겠지만요... 회사에서 하도 성화를 내는 바람에 지름길을
:: 찾게 된것입니다. 용서해 주세요 --;;
::
:: 부디 저의 무지함에 빛을 주시기 바랍니다.
::
조금 정리해보면 DB 인스턴스와 테이블 스페이스는 일반적으로 System-wide하게
정의됩니다. 그러고 나서 필요한 유저를 정의하게 됩니다. 유저의 테이블 및 각
스키마 객체를 정의하면 해당 유저를 사용할 수 있게 됩니다.
|