테이블 스페이스 생성하려고 하는데요 에러가 딱 ! 0 9 12,882

by 몽키매직 [설치/설정] [2014.05.08 16:30:37]


기존 운영중인 db 스크립트를 보고 추가하려고 했는데요

create tablespace ts_dev_dbf datafile '/dev/kor/giho_grt_lv199' size 500m autoextend off logging online;

대략적으로 이렇게 생성하려고 돌렸는데 

ora-01119: 데이터베이스 파일 작성시 오류가 생겼습니다.

ora-27040:파일 생성 오류, 파일을 생성할 수 없습니다.

HPUX-is64 Error: 13: Premission denied

 

이렇게 나오네요..

궁금한건 파일이름에 .dbf 파일 확장자가 없구요.. 기존 데이터파일 있는 폴더가서 확인해보면 대략 300개되는 파일이

전부 그런상태로 생상되어있드라구요.

그럼 저렇게 하면 ....lv199 파일도 생겨야 하는거 아닌가요. sqlplus "/as sysdba 로 들어가서 해보고

dba권한 있는 유저로도 해봣는데 안되네요.. 저 마지막에러만 보면 권한에러인것 같은데 잘 모르겠습니다.

 

by 강서꽃미남 [2014.05.08 16:54:57]

데이터파일이라고 하여도 꼭 .dbf를 안붙여도 그 파일명 자체로 생성되는걸로 알고 있습니다.

그리고 생성안되는거는,, 오라클 유저가 그 폴더에 퍼미션이 있는지 확인해 보세요.

 


by 몽키매직 [2014.05.08 17:05:04]

혹시 데이타파일 생성되고 파일형식이 ( 리눅스 환경에서 ll 쳤을경우 ) 앞에가 c, d 인 경우는 어떤경우인가요?


by 강서꽃미남 [2014.05.08 18:17:29]

찾아보니 아래와 같이 나오네요.

http://unixhelp.ed.ac.uk/CGI/man-cgi?ls


by GoodPle [2014.05.08 17:52:09]

/dev 들어간거 보니까 raw device 같은데
ls -alrt /dev/kor/giho_grt_lv199 하시면 퍼미션이랑 owner, group이 어떻게 나오시나요?


by 몽키매직 [2014.05.09 10:23:24]

기존 데이터 파일들은 crw-rw---- 1 oracle dba 128 0x0000159 Oct 10 2012 파일명

이런식으로 나옵니다.


by 손님 [2014.05.09 06:39:33]
hpux네요 해당 디스크 권한 없어서 그래요
'/dev/kor/giho_grt_lv199' 디바이스 권한 변경하세요

chown oracle:dba /dev/kor/giho_grt_lv199
chmod 664 /dev/kor/giho_grt_lv199
create tablespace~~~ 수행

664나 660 도 상관없어요
위 디비가 rac라면 양쪽 서버에서 다 수행하세요

by 이런잭쓴 [2014.05.09 09:38:54]

디렉토리 권한문제 ! 

: 13: Premission denied


by 몽키매직 [2014.05.09 10:35:34]

Permission 보고 디렉토리 권한인가 해서 데이터파일 상위 폴더를 777로 주고 했더니 생성은 됐습니다.

혹시 몰라 생성시키고 다시 755로 바꾸긴했지만요..ㅎㅎ;; 잘된건지 아닌지는 모르겠어여 ㅜㅜ

그것보다 더 심하게 궁금한게 생겼는데요. 데이타 파일을 생성했습니다. 파일정보는

-rw-r----- 1 oracle dba 1048584192 May 8 ....      용량을 1000M을 줬구요

그런데 기존에 있는 파일들은 위에 댓글을 달았는데 파일정보가 틀립니다. 

우선 앞에 c붙은것도 이상하고 파일 용량도 저게 무슨 의미인지 모르겠어여

그리고 더 심한건 앞에 c말고 b붙은것도 있다는겁니다.

예로 파일명이 rgife_dft_lv199 일경우 파일정보로

crw-rw---- 1 oracle dba 128 0x00015f .... rgife_dft_lv199

brw-rw---- 1 oracle dba 128 0x00015f .... gife_dft_lv199

이런식으로 c,b 두개가 있고 파일명앞에 r이 붙었는데 .. 이건 어느파일이 먼저 생성된건지도 모르겠지만

둘다 crete로 생성된건지도 모르겠습니다.  그냥 눈에 보이는데로 적고는 있는데 ...;;;;

그리고 저 파일 용량 나타나는곳이  기존 파일들은 128 0x0000131 이런식으로 나오는데 쭉 보면

128은 고정이고 뒤에 문자가 16진수인것 같아요 첫번째파일은 0x000000으로 시작해 0x00015f 까지

쭉 있네요..제가 만든건 그냥 1048584192 이런식으로 나오는데


by 이런잭쓴 [2014.05.12 10:12:59]

아마 이럴듯 싶습니다.

지금 만드신 테이블스페이스는 파일시스템 위에 테이블스페이스 데이터파일을 만든 것입니다.

-rw-r----- 1 oracle dba 1048584192 May 8 ....      용량을 1000M을 줬구요

데이터파일을 file system 에 만들었던것이 있었으면(운영중인파일이) 상관없으실텐데요. 

Raw device 쓰시기에 아마 잘못 만들었을 가능성도 있으십니다.

 

아래의 파일들이  Row_device일 텐데요 ~ ! C는 문자 장치를 나타내고 B는 블럭장치를 말합니다.

즉 별도의 디스크라 말할수 있겠네요 . 테이블스페이스 데이터파일이 아닌 디바이스(디스크)

그러나 테이블스페이스생성시  데이터파일 위치 및 이름은 /dev/kor/rgife_dft_lv199 이렇게 나오죠. 

crw-rw---- 1 oracle dba 128 0x00015f .... rgife_dft_lv199

brw-rw---- 1 oracle dba 128 0x00015f .... gife_dft_lv199

이 raw_device 사용중이시라면 운영 MAP을 아마 보유하고 계실겁니다.

미사용 Raw_device를 찾아 크기에 맞추어 테이블스페이스 생성하시면 되겠습니다.

 

 

 

 

얕은지식으로 적어 보았네요.. 위의 내용들이 확실치는 않습니다.

 
 
SQL문을 포맷에 맞게(이쁘게) 등록하려면 Code() 버튼을 클릭하여 SQL문장을 작성 하시면 됩니다.
 소스                 포맷스타일글자 크기         
 
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입