님께서 작업하신 것을 보면 이 명령을 이미 한번 수행하셨는 것
같습니다.
ORA-01516은 control file에 이미 해당 파일에 대한 정보가 없다는
메세지입니다.
그리고 대부분의 경우 데이타파일 삭제시는 테이블스페이스 단위로 하셔야지
데이타파일 단위로 하시면 안됩니다.
(복구시는 어쩔수 없이 하는 경우도 있지만... 이런 경우도 dictionary를
일치시키기 위해서 데이타 백업 후 테이블스페이스를 삭제하고 새로
만들어 주셔야 합니다. 왜냐면 이 데이타파일에 있는 segment에 대한
정보가 이미 시스템 테이블스페이스에 있는 data dictionary에 있기
때문이죠. )
$ oerr ora 1516
01516, 00000, "nonexistent log/data file '%s'"
// *Cause: ALTER DATABASE is attempting to rename/create a log or a data
// file which is not known to the database controlfile.
// *Action: Specify the name of an existing log file.
지금 님의 경우는 조금 위험한 것이 혹시
/oracle/data/users02.dbf 데이타파일이 users 테이블스페이스에 속한
두번째 데이타파일이 아니냐는 추측이 드는군요.
( 보통 이런씩으로 naming rule을 적용하거든요.)
만약 이런 경우라면 데이타를 exp 백업받으시고
users 테이블스페이스를 drop 하신후 다시 생성하시고
imp 하셔야 합니다.
그리고 alter database 명령은 조심해서 사용하시기 바랍니다.
자세한 기능 및 결과를 알고 사용하셔야 합니다.
>>김용진 님께서 쓰시길<<
:: 현재 users tablestace 의 데이타 파일일 3개있습니다.
::
:: 첨 설치될때 생기는 datafile : users01.dbf를 제외하고 삭제 하고 싶은데
::
:: 지워지지가 않습니다.
::
:: 제가 삭제할려고 한방법은....
::
:: 아키브 로그 모드를 멈추고
::
:: startup mount
::
:: alter database datafile '/oracle/data/users02.dbf' offline drop;
::
:: 이렇게 했는데 지우지지가 않습니다.
::
:: ORA-01516: nonexistent log file, datafile or tempfile '/oracle/data2/users02.dbf'
::
:: 이런 에러 메시지가 나옵니다.
::
:: 데이타 파일을 개별적으로 삭제하거나.
::
:: 아니면 디폴트로 설치되는 users01.dbf만 백업하고 다시 테이블 스페이스를 만들
:: 방법이 없는지 알고 싶습니다.
::
:: 답변부탁드릴께요
|