감사드립니다.^^ 속시원하게..의문이 풀렸습니다^^
네..모두 다른 사용자 그리고 사용자 이름으로된 디비를 생성한거였습니다^^
실은 학교 학사시스템을 모방해볼려구 시도한거였습니다..
저는 퍼미션이..775 형태로 되어있어서 다른 디비의 DBA가 그파일을 삭제하거나
규태님의 말씀처럼 복사를 해서 정보를 추출해내지 않을까하는 의문이 생겨서 ^^
도움 다시한번 감사드립니다.
좋은 하루 되시고 .. 행복하세요..
저는 퍼미션이 다른 사용자의
>>김규태 님께서 쓰시길<<
:: 1. DBA가 서로 다른 유닉스 계정으로 각각의 DB를 관리하는 경우는
:: 아래가 맞습니다.
:: [mooksys@apollo oradata]$ ls
:: drwxrwxr-x 2 oracle dba 1024 Oct 16 22:55 ORCL
:: drwxrwxr-x 2 mooksys dba 1024 Oct 22 13:06 mooksys
:: drwxrwxr-x 2 toomany dba 1024 Oct 16 22:55 toomany
:: 즉 oracle 계정이 ORCL DB를 관리하고, mooksys 계정이 mooksys DB를
:: 관리합니다. toomany도 마찬가지이구요.
:: 그런데 이것이 DB 이름이 맞습니까?
:: DB를 mooksys, toomany 로 생성하셨나요?
::
:: 해당 DB로 svrmgrl을 사용해서 접속한 후 다음을 확인하세요.
:: 데이타베이스 파일들이 어디에 위치해 있는지 확인해 보세요.
:: SVRNGR> select name from v$datafile union all
:: select member from v$logfile union all
:: select name from v$controlfile ;
::
:: 2. 퍼미션을 755로 설정했다고 해도 다른 디비의 내용을 도용할 수 없습니다.
:: 도용이란 말이 무슨 말인지 모르겠지만 DB 유저의 비밀번호를 모르면
:: 그 DB에 접속할 수 없습니다.
:: ( 물론 해당 DB 파일을 복사해서 그대로 다른 시스템이나 DB 이름을
:: 바꾸어서 사용해서 데이타를 해킹할 수도 있겠지만 이는
:: DB가 정상적으로 다운되어 있을 때만 가능합니다.
:: 하긴 오라클의 비공식 툴인 unload를 사용하면 비정상으로 다운된
:: 파일에서도 데이타를 추출할 수는 있지만요. )
::
:: 3. admin 디렉토리 및에 있는 각각의 디렉토리는 DB 생성 script를 복사해서
:: 사용하는 경우는 직접 만들어 주어야 하고, 만약 dbassit를 사용한다면
:: 자동으로 만들어 줄 것입니다.
::
:: 해당 DB로 svrmgrl을 사용해서 접속한 후 다음을 확인하세요.
:: 초기화 파라메터를 확인하셔야 합니다.
:: SVRNGR> show parameter dump
::
:: 아래 디렉토리는 변경 불가능한 것이 아니라 오라클에서 권장하는
:: OFA (Optimal Flexible Architecture) 입니다. 물론 아무도 알아보지
:: 못하고 initialization 파일을 조작하면 모두(일부?) 조작 가능합니다.
::
:: adhoc adhoc 쿼리를 저장해 두는 곳
:: arch archive 모드 운영시 archive file을 두는 곳 ( 반드시 별도 디스크 )
:: bdump background 프로세스의 로그 및 trace 파일이 생기는 곳
:: cdump 오라클 프로세스의 core dump가 생기는 곳
:: create 오라클 DB 생성시 script 및 로그가 생기는 곳
:: exp export시에 dump 파일 두는 곳
:: pfile DBMS initialization file 두는 곳
:: udump Oracle server process의 trace 파일이 생기는 곳
::
::
:: 그러나 분명히 해야 할 사실이 있습니다.
:: 오라클은 대용량을 지원하는 DB입니다.
:: 굳이 DB를 3개로 하실 이유가 무엇인지 궁금하군요.
:: enterprise database는 보통 50 GB 인데 이런 시스템은
:: 무수한 소규모 시스템이 맞물려서 돌아가고 이런 시스템도
:: DB는 하나만으로 족합니다.
::
:: 물론 관리/안정등 어떤 점에서는 분리하는 것이 좋지만
:: DB를 세개 만들면 그만큼 시스템 리소스가 낭비됩니다.
:: 요즘 하드는 싸니까 문제가 안되지만 메모리가 가장 낭비되겠군요. 그리고
:: CPU도 그만큼 낭비되겠지요.
::
:: 보통 서로 연관이 있고, 작은 시스템들은 오라클에서는
:: 유저별/테이블스페이스별로 분리하여 사용합니다.
:: 유저별로만 분리해도 당연히 비밀번호를 모르면 해당 데이타에 접근할 수
:: 없지요. 물론 DBA 권한을 가진 사람을 제외하면...
:: 그리고 DB를 관리하는데 작업도 ( 데이타 및 응용프그램이 아니고 )
:: 줄일수 있지요.
::
::
:: >>신성욱 님께서 쓰시길<<
::
:: :: 답변 정말 감사드립니다..ㅠㅠ
:: ::
:: :: 그런데. 저같은 경우는 서로다른 유닉스 계정을 가진 사람들이 각각의 디비를 관리하도록 만들고
:: 싶습
:: :: 니다. 그럴 경우 그룹은 무조건 dba(최초 오라클 인스톨시의 oracle유저의 그룹)가 되어야 한다고
:: 알고
:: :: 있습니다.
:: :: 아닌가요?
:: :: 초보라서..죄송.
:: ::
:: :: 그리고 만약에 그렇게 될경우 퍼미션을 755로 설정했다고 해도 다른 디비의 내용을 도용할수 있지
:: 않
:: :: 나요?
:: ::
:: :: 그러면 모든 디비를 oracle로 생성해서 각각의 유저에게 dba권한을 주어야 하나요?
:: ::
:: :: 그리고 admin디렉토리를 살펴보니..
:: ::
:: :: [oracle@apollo oracle]$ pwd
:: :: /extend/oracle
:: :: [oracle@apollo oracle]$ cd app
:: :: [oracle@apollo app]$ cd oracle
:: :: [oracle@apollo oracle]$ ls
:: :: admin doc jre oraInventory oradata product
:: :: [oracle@apollo oracle]$ cd admin
:: :: [oracle@apollo admin]$ ls
:: :: ORCL
:: :: [oracle@apollo admin]$ cd ORCL
:: :: [oracle@apollo ORCL]$ ls
:: :: adhoc arch bdump cdump create exp pfile udump
:: :: [oracle@apollo ORCL]$
:: ::
::
::
|