문서유형ㅣ장애해결
분야ㅣ 유틸리티
적용제품버전ㅣ 6FS07
문서번호ㅣ TUTTS001
현상
Tibero 6 FS07_CS_2005 (build 194603) 바이너리에서 dba 권한이 없는 user에서 table tbexport 수행 시 8033 에러가 발생하는 현상에 대해 설명합니다.
참고8033 에러는 일반 DB 계정에서 tbexport를 실행할 때 발생하며, dba_part_indexes와 dba_idx_partitions 뷰를 참조할 때 발생하는 문제입니다.
TEST
[시나리오]
SQL>conn sys/tibero
=================
SQL>create tablespace TS_DATA1 datafile '/home/tibero/tibero6/database/tibero/ts_data1.dtf' size 10M autoextend on;
SQL>create tablespace TS_DATA2 datafile '/home/tibero/tibero6/database/tibero/ts_data2.dtf' size 10M autoextend on;
SQL>create user peter identified by peter;
SQL>grant connect, resource to peter;
SQL>conn peter/peter
=================
SQL>drop table dept;
SQL>create table dept (deptno varchar(30) not null,
dname varchar(30),
city varchar(30)
) tablespace TS_DATA1 ;
SQL>alter table dept add primary key (deptno);
SQL>create index ix_dname on dept(dname) tablespace TS_DATA1 ;
SQL>insert into dept values('10','ACC','SEOUL');
SQL>insert into dept values('20','SEL','PUSAN');
SQL>insert into dept values('30','MAN','TAEGU');
SQL>commit;
SQL>drop table emp;
SQL>create table emp (empno varchar(30) not null,
ename varchar(30),
deptno varchar(30) not null,
email varchar(30)
) tablespace TS_DATA1 ;
SQL>alter table emp add constraint pk_emp primary key (empno);
SQL>alter table emp add constraint fk_emp foreign key (deptno) REFERENCES dept(deptno);
SQL>create index ix_ename on emp(ename) tablespace TS_DATA1 ;
SQL>insert into emp values('001','PJH','10','naver');
SQL>insert into emp values('002','XXH','10','daum');
SQL>insert into emp values('003','KIM','20','paro');
SQL>insert into emp values('004','HON','20','LG');
SQL>insert into emp values('005','TWO','30','SAM');
SQL>commit;
SQL>select * from emp;
SQL>select * from dept;
[tbexport 수행]
$ tbexport username=peter password=peter sid=tibero file=/tmax/test/273931/exp273931.dat table=emp,dept logdir=/tmax/test/273931/273931.log loglvl=debug tbexport 6.0 Copyright 2015 TmaxData Co., Ltd. All Rights Reserved. the TABLE: emp,dept: Thu Nov 11 16:32:41 KST 2021 Export character set: MSWIN949 Export national character set: UTF-16 exporting table: "PETER"."EMP" exporting table: "PETER"."DEPT" [1] PETER.DEPT 3 rows exported. [0] PETER.EMP 5 rows exported. java.sql.SQLException: JDBC-8033:Specified schema object was not found. at line 11, column 15 of null: from dba_part_indexes a, ^ at com.m.internal.jdbc.err.MInternalError.makeSQLException(Unknown Source) at com.m.internal.jdbc.err.MInternalError.newSQLException(Unknown Source) at com.m.internal.jdbc.msg.common.MInternalMsgError.readErrorStackInfo(Unknown Source) at com.m.internal.jdbc.msg.MInternalMsgEreply.deserialize(Unknown Source) at com.m.internal.jdbc.comm.MInternalStream.readMsg(Unknown Source) at com.m.internal.jdbc.comm.MInternalCommType4.prepareExecute(Unknown Source) at com.m.internal.jdbc.driver.MInternalPreparedStatementImpl.executeCompleteSQL(Unknown Source) at com.m.internal.jdbc.driver.MInternalPreparedStatementImpl.executeInternal(Unknown Source) at com.m.internal.jdbc.driver.MInternalPreparedStatementImpl.executeQuery(Unknown Source) at com.m.internal.jdbc.driver.MInternalPreparedStatement.executeQuery(Unknown Source) at com.m.expimp.exporter.AbstractModeTable.setIndexPartition(AbstractModeTable.java:1213) at com.m.expimp.exporter.v6.ModeTable6.exportTableIndex(ModeTable6.java:600) at com.m.expimp.exporter.AbstractModeTable.exportTable(AbstractModeTable.java:175) at com.m.expimp.exporter.AbstractModeTable.start(AbstractModeTable.java:99) at com.m.expimp.exporter.v6.ExportInfo6.exportModeTable(ExportInfo6.java:405) at com.m.expimp.exporter.AbstractExportInfo.exportMode(AbstractExportInfo.java:120) at com.m.expimp.exporter.AbstractExportInfo.start(AbstractExportInfo.java:89) at com.m.expimp.exporter.ExportMain.main(ExportMain.java:142) JDBC-8033:Specified schema object was not found.
원인
일반 DB계정으로 사용자 모드, 테이블 모드 export시 dba_part_indexes, dba_idx_partitions 을 참고해서 JDBC-8033 에러가 발생하는 현상으로, schema 종속적인 객체도 dba_ 뷰로 조회하기 때문에 dba 권한이 없는 스키마의 경우 8033 에러가 발생합니다.
해결
패치를 적용해 해결합니다. (적용패치: FS07_130428a_expimp)
주의티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.