본문 바로가기

Data Layter/TIBERO

(8)
DB 날려먹었는데, sys 스키마 하위 데이터가 없을때 누군가가 개발환경에서 db를 날려먹었는데 sys계정 하위에 시스템 테이블들도 다 없는 경우가 있다. /tibero/scripts/system.sh 돌려주면 된다! `conn $id_passwd@$svr_sid;` 라인에서 문제생기면 `conn $id_passwd@tibero;`로 바꿔주면 된다.
JDBC-5074 JDBC-5074:Given string does not represent a number in proper format. 정말 화나는 티베로 버그이다. 인터넷을 검색해보면 오라클은 날짜 자동 형변환해주고, 티베로는 안해줘서 생기는 오류라고 나온다. 이런 경우에도 분명 JDBC-5074가 발생한다. 그러나! 아래와 같이 쿼리를 짰다고 가정하자 INSERT INTO TB_WORKS_USER_CATEGORY SELECT TB_WORKS_USER_CATEGORY_SEQ.NEXTVAL AS USER_CATEGORY_ID ,T.* ,'' MOD_USER ,'' MOD_DATE FROM (SELECT T1.USER_ID AS USER_ID ,'WORKS_CM_BASIC' AS USER_CATEGORY_NAME ,'..
Error (TBR-12033) : Lock acquisition failed in nowait mode 1. 트랜젝션을 발생시키는 session id 찾는다 select * from V$TRANSACTION 2. SID, 시리얼번호, SQL번호 select sid, serial#, sql_id, PREV_SQL_ID from v$session where sid = :sess_id 3. 장시간 connection 되어 있는 쿼리를 확인 한다. select * from v$sqltext where sql_id= :PREV_SQL_ID or :sql_id 4. kill 세션 alter system kill session( SID, SERIAL);
5072: Failure converting NUMBER to or from a native type. 티베로에서 DDL을 수행할 때 "JDBC-5072 Failure converting NUMBER to or from a native type” error in tibero" 와 같은 오류 메시지를 볼 수 있다. 처음 보면 당황한다. 테이블에 데이터가 존재하기 때문에 나는 버그라고 착각하는데 이건 그냥 티베로 버그다. _DD_TBL 테이블의 ROW_CNT가 NULL이어서 NUMBER가 아니기 때문에 오류가 난 것으로 파악된다. 해결방법 우선 SYS 계정으로 접속해야 한다. 단일 테이블이 문제인 경우 1.오류가 난 테이블의 OBJECT_ID를 검색한다. SELECT OBJECT_ID FROM DBA_OBJECTS WHERE OBJECT_NAME = '(TABLE_NAME)'; 2. 검색된 OBJECT_ID들..
pk unique index 삭제 다른테이블의 기본키를 외부키로 참조한 경우 중복값을 허용해야하는데 UNIQUE INDEX가 걸려있어서 인덱스를 삭제하려고 하면 ORA-02429 cannot drop index used for enforcement of unique/primary key 라는 에러메시지와 함께 삭제를 실패하는 경우가 있다. 이것은 인덱스를 삭제하지 말고 제약조건을 삭제해야한다 조회를 해보자 SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = '(테이블 이름)' 어떤 제약조건인지 볼 수 있을 것이다. 제약조건을 삭제하면 된다. ALTER TABLE 테이블명 DROP CONSTRAINT (제약조건 이름)
Tibero_tibero is stopped or disabled. Please confirm the service state or event logs (Application / System) Tibero_tibero is stopped or disabled. Please confirm the service state or event logs (Application / System) 개발환경으로 쓰고 있는 pc 를 계속해서 재부팅 했더니 tbboot를 하면 위와 같은 메세지가 나온다 도스창을 관리자로 열어서 tbboot를 실행하면됨
CMD에서 .sql파일 실행 방법 절대경로를 이용하여 sql파일을 실행할 때는 아래와 같이 @'절대경로\파일명.sql' 방식으로 실행한다. SQL> @'D:\programs\proObject\DB_SCRIPT\개발\Create_PO7_Table.sql'
티베로 사용자 계정 생성 및 권한 부여 1. tibero home으로 이동한 후 sys 계정을 접속한다. 비밀번호는 설치할 때 입력한 값이다. 2. 생성할 유저의 ID/PW를 설정한다. 3. 생성한 유저에게 권한을 부여한다. 4. 생성한 계정으로 접속해 본다. 5. tibero admin 압축을 풀고 실행하여 접속해본다.