구체적인 명령어도 좀 적어 봅니다.
[ controll file rename ]
1. database shutdown
SVRMGR> shutdown
2. controll file copy
# copy /old-path/oldfile-name /new-path/newfile-name (os상의 작업)
3. init<SID>.ora file 수정
# vi init<SID>.ora --- controll의 위치를 지정한 파라메타에 새로운 path로 입력
4. database startup
SVRMGR> startup
5. 확인
SVRMGR> select *from v$controllfile;
[ Tablespace(datafile) rename ]
1. database startup
SVRMGR> startup
2. datafile offline
SVRMGR> alter tablespace <tablespace_name> offline;
3. datafile copy
# copy /old-path/oldfile-name /new-path/newfile-name (os상의 작업)
4. datafile rename
SVRMGR> alter database <tablespace_name> rename file '/old-path/oldfile-name'
to '/new-path/newfile-name';
5. database open and tablespace online
SVRMGR> alter database open;
SVRMGR> alter tablespace <tablespace_name> online;
6. 확인
SVRMGR> select name, status from v$datafile;
7. unix command에 의한 old datafile 삭제
[ system datafile 및 logfile ]
1. database shutdown ( immeidate나 abort로 하면 안됨)
SVRMGR> shutdown
2. unix command에 의한 새위치에 copy
# copy /old-path/oldfile-name /new-path/newfile-name (os상의 작업)
3. mount database
SVRMGR> startup mount
4. rename
SVRMGR> alter database rename file '/old-full-path/old-filename'
to '/new-full-path/new-filename';
5. open database
SVRMGR> alter database open;
6. 확인
SVRMGR> select name, status from v$datafile;
SVRMGR> select * from v$log;
SVRMGR> select * from v$logfile;
7. unix command에 의한 old logfile 삭제
아래의 설명과 함께 보시면 그리 어렵지 않을 겁니다.
그럼 이만.
>>herrchen 님께서 쓰시길<<
::
:: 오라클에 관련된 화일들( software, datafile, logfile, controllfile )은 어디에 있느냐에 그리 그게
:: 영향을 받지 않습니다.
:: 설치시나 생성시에 각각의 위치에 대한 권한이 주어져 있으면 어디던지 상관이 없지요.
:: 통상적으로는 오라클 환경에서 oracle_base로 설정된 위치에 oradata/<SID>라는 디렉토리가 생기고 그
:: 아래에 저장을 합니다.
:: 그리고 따로 데이타를 저장할 디렉토리를 만들어서 저장하기도 하지요.
:: 위의 두가지를 구분하는 이유는 많지만 하나는 관리의 편리성에 의해서이지요.
:: 백업이나 복구 등을 얼마나 편하게 할수 있는냐 뭐 이런 관점에서 나름대로 따로 저장을 해두는 것이
:: 지요.
:: 그리고 또하나는 오라클 데이타베이스의 성능(퍼포먼스)을 고려해서 저장을 하지요.
:: 여러장의 디스크가 있다면 디스크의 I/O(Input/Output)에서 충돌이니 딜레이가 일어나지 않도록 구성
:: 하는 것이지요.
:: 대체적으로 데이타베이스가 운영되면 한꺼번에 사용되는 데이타 화일들이 있습니다.
:: rbs, redolog, 사용해야될 데이타화일 뭐 이런것은 어떤 작업을 하게 되면 동시에 사용이 될수밖에 없
:: 지요. 이런 화일을 동일한 디스크에 넣어두는것보다는 다른 디스크로 분리해두면 당연히 디스크 I/O면
:: 에서 유리하죠.
:: 요즘은 raid를 구성하기에 별로 상관이 없게 되었지만요.
:: 하여간 대체적으로 위의 두가지 이유로 분산하기도 하고 새로운 장소를 지정해서 저장하기도 하는 겁
:: 니다.
::
:: 운영중 디스크의 교체가 있다던지 디렉토리구조를 변경을 원할때가 생길수 있으므로 당연히 위치를 옮
:: 길수도 있지요.
:: 단순히 유닉스 상에서 move한다고 해서 데이타베이스가 알고있는 논리적은 정보가 변경되지는 않습니
:: 다.
:: 옮기실려면 우선 유닉스상에서 카피를 해서 원하는 위치에 복사본을 두고 sql명령문으로 논리적인 정
:: 보를 변경해야됩니다.
:: 그후 변경된것이 확인이 되면 원래 위치의 데이타 화일을 유닉스 명령어로 지웁니다.
:: 그리고 오라클 데이타베이스의 경우 사용중인 화일(데이타화일이 오픈된상태)은 카피해도 사용할수 없
:: 게 됩니다.
:: 반드시 옮기고자 할때는 옮기고자 하는 데이타 화일을 OFFline 상태로 바꾼후 카피하고 sql로 논리적
:: 정보를 변경하고 ONline상태로 만들어 주어야 합니다.
:: 하나하나 이런 작업을 다 해주어야 합니다
:: 좀더 구체적으로 설명하면
:: 1. 오라클 데이타베이스 기동
:: 2. 옮기고자 하는 데이타 화일만 오프라인 설정
:: 3. 오프라인 된 화일을 유닉스상에서 원하는 위치로 카피
:: => 옮길 디렉토리의 ownership은 당연히 원래 오라클의 것과 같아야 합니다.
:: 4. sql 명령어로 논리적 정보변경( 데이타베이스 혹은 테이블스페이스의 rename)
:: 5. 확인
:: 6. 옮긴 데이타화일(테이블 스페이스)을 온라인으로 설정
:: 7. 원래 데이타화일을 유닉스 상에서 삭제
:: 구체적인 명령어는 오라클 관련 서적에서 쉽게 알수 있습니다.
::
:: 좀 귀찮을 것은 시스템 데이타화일의 이동이지요.
:: 방법상에서 좀 차이가 있습니다.
:: 다른 데이타 화일은 데이타베이스가 완전히 기동된 상태에서도 가능하지만 시스템의 경우는 데이타베
:: 이스를 마운트상태까지만 기동해서 작업을 해야합니다.
::
:: 그림이나 소리 등은 별도의 어플리케이션이 있어야만 볼수가 있습니다. 오라클 폼즈나 프로 씨 등등.
:: 뭐 다른 이와 비슷한 어플리케이션이라면 가능하지요.
:: 물론 입력도 당연히 이 어플리케이션을 이용해야만 가능하지요.
:: 그럼 이만.
::
:: >>이은영 님께서 쓰시길<<
::
:: :: 얼마전 서버에 오라클을 깐 사람이 rbs나 콘트롤 화일등을 같은 디렉토리에 넣지 않고 저희 데이터
:: 쌓
:: :: 일곳에 넣어둔적이 있는데요...그런 화일은 통상적으로 어디에 위치하는 것이 좋으며 만일 다른 파
:: 티션
:: :: 으로 옮겨야 한다면 가능한가요? 또 가능하다면 그냥 mv 하는 것이 아니고 다른 설정을 바꾸는 것
:: 이 있
:: :: 는지 궁금합니다.
:: :: 또 저희 오라클 디비에 bmp파일이 저장이 되어 있는데요...그것들을 받아서 볼 수 있는 방법이 있
:: 는지
:: :: 요...
|