database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 1390 게시물 읽기
No. 1390
Re: [질문] imp 할때 에러가 납니다. lob segment를 할당하지 못한다는 말이 나오네요
작성자
김규태
작성일
2000-08-24 14:02
조회수
20,205

보통 exp 의 옵션 중에서 compress 가 있는데 디폴트로 yes 입니다.

이 의미는 모든 세그먼트를 하나의 extent로 합치겠다는 의미입니다.

즉 100MB의 테이블이 있는데 extent 수가 100개 였다면

새로 만들어지는 테이블은 100MB ( 또는 보다 큰 )인 하나의

extent로 만들어 집니다. 이 경우 데이타베이스/테이블스페이스/테이블

들이 최소의 공간으로 재구성되는 효과가 있지요.

그래서 같은 크기의 테이블스페이스라도 imp 시에 공간이

부족해서 이런 에러가 종종 발생합니다.

 

이런 현상을 예방하려면 exp 시에 compress=n 로 하시든가

미리 이전과 동일한 storage parameter를 갖는 세그먼트들을

만들어 두시고 imp 해야 합니다.

 

그리고 현 상태에서 에러가 발생했다면 만약 이 LOB 테이블의 인덱스만

문제가 된다면 데이타를 truncate 하시고 이 segment만 imp 하면 됩니다.

반드시 imp 이전에 DAMEIL 테이블스페이스의 공간을 늘려주셔야 하구요.

 

만약 복잡한 constraint 관계가 얽혀있고, 이 LOB 세그먼트가 다른 테이블들에

참조되고 있다면 다른 데이타도 Parent key 가 존재 하지 않으므로

imp가 복잡한 양상으로 꼬일 수도 있습니다.

이럴 경우는 에러를 보고 모든 에러를 없애 주어야 하는데,

간단하게 하려면 모든 것을 없애고 처음부터 compress=n 로

exp/imp를 다시 하는 것이 속편하지요.

 

8/24일에 다음 내용을 추가합니다.

바로 위에서 compress=n 로 하시면 당연히 exp/imp는 편리하지만

만약 많은 유저가 사용하는 큰 DB라면 DB reorg 하시는 것이

좋습니다.

즉 조금 불편하더라도 세그먼트들의 상태를 살펴서 Strorage Parameter를

재조정하고 먼저 세그먼트들을 적당하게 만들어 준 후에

imp 하시는 것이 성능 향상과 Storage 관리에 좋습니다.

 

참고하세요.

 

 

 

 

 

::문태준 님께서 쓰시길::

 

> IMP-00058: ORACLE error 1691 encountered

> ORA-01691: unable to extend lob segment YSGUY.SYS_LOB0000002996C00013$$ by 48753 in tablespace D

> AMEIL

> IMP-00028: partial import of previous table rolled back: 179858 rows rolled back

> Import terminated successfully with warnings.

>

> 위의 내용을 보고 oerr 가지고 확인을 해보았습니다. 다음과 같더군요.

>

>

> [oracle@db2 oracle]$ oerr imp 00058

> 00058, 00000, "placeholder for OCI error "

> // *Cause: filler

> // *Action: filler

>

> [oracle@db2 oracle]$ oerr ora 01691

> 01691, 00000, "unable to extend lob segment %s.%s by %s in tablespace %s"

> // *Cause: Failed to allocate an extent for lob segment in tablespace.

> // *Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more

> // files to the tablespace indicated.

>

> [oracle@db2 oracle]$ oerr imp 00028

> 00028, 00000, "partial import of previous table rolled back: %lu rows rolled back"

> // *Cause: Import encountered an Oracle error while trying to import a table.

> // *Action: Look up the accompanying Oracle message in the ORA message

> // chapters of this manual and take appropriate action. Then, if

> // necessary, re-import the table.

> //

>

>

> 이 문제는 blob을 저장할 공간이 없다는 말인가요?

>

> 오라클 에러메시지에서도 위 글 이외에는 자세하게 말을 해주는 것이 없네요.

>

> 좀 이상한게 exp한곳과 imp 하는곳이 서버는 다르지만 tablespace는 똑같이 구성을 하였고 크기도 같

> 습니다. 이것을 백업해서 옮기려고 하니 에러가 나서요. 이전에는 잘 되었었는데 최근 갑자기 tablespac

> e의 공간이 늘고나서 옮기려고 하니 이런 문제가 생기네요.

[Top]
No.
제목
작성자
작성일
조회
1396Parse error: parse error in ........ on line 79
unihappy
2000-08-22
17038
1389오라클 사용자 추가..
찬양
2000-08-22
10357
1392┕>Re: 오라클 사용자 추가..
김규태
2000-08-22 01:47:43
11268
1388[질문] php에서 clob에 한글을 사용 못하나요?
dontgo
2000-08-21
9738
1391┕>Re: [질문] php에서 clob에 한글을 사용 못하나요?
김규태
2000-08-22 01:43:23
10876
1399┕>Re: [질문] php에서 clob에 한글을 사용 못하나요?
매니아
2000-08-24 10:13:15
10761
1387[질문] imp 할때 에러가 납니다. lob segment를 할당하지 못한다는 말이 나오네요
문태준
2000-08-21
12134
1390┕>Re: [질문] imp 할때 에러가 납니다. lob segment를 할당하지 못한다는 말이 나오네요
김규태
2000-08-24 14:02:59
20205
13843개나 됩니다...
김기대
2000-08-20
9957
1382커널컴파일 꼭 해야하나요?...
홍성민
2000-08-19
10669
1383┕>Re: 커널컴파일 꼭 해야하나요?...
백철현
2000-08-19 22:51:43
11285
1381sqlldr... loader 실행하면 에러가 나요.... ㅠ.ㅠ
초보
2000-08-19
12175
1386┕>Re: sqlldr... loader 실행하면 에러가 나요.... ㅠ.ㅠ
김규태
2000-08-21 11:10:25
13043
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다