본문 바로가기

오라클21

오라클 UPDATE myBatis 생성함수 ver2.1 앞단과 뒷단을 잘라서 생성하여, 칼럼이 많은 경우에 발생하는 버퍼사이즈 오류를 해결CREATE OR REPLACE FUNCTION FN_DEV_UPDATESQL (tableName VARCHAR2, isComt VARCHAR2 DEFAULT 'Y', isTail VARCHAR2 DEFAULT 'A') RETURN VARCHAR2IS returnSql VARCHAR2(4000); enterStr VARCHAR2(4000); textHead VARCHAR2(4000); colName VARCHAR2(4000); colText VARCHAR2(4000); colType VARCHAR2(4000); inptText VARCHAR2(4000); tableText V.. 2024. 6. 27.
DataTable 칼럼 생성 쿼리 우리 회사용 WITH VMAIN AS ( SELECT 'dtList' AS tableName FROM DUAL ) SELECT ' DevExpHelper.addColumn(' || VMAIN.tableName || ', "' || LOWER(SUBSTR(REPLACE(INITCAP(REPLACE(MCOLS.COLUMN_NAME, '_', ' ')), ' ', ''), 1, 1)) || SUBSTR(REPLACE(INITCAP(REPLACE(MCOLS.COLUMN_NAME, '_', ' ')), ' ', ''), 2) || '", "' || CCOLS.COMMENTS || '");' FROM VMAIN , USER_TAB_COLUMNS MCOLS , USER_COL_COMMENTS CCOLS WHERE M.. 2024. 4. 3.
JDBC rollback failed; nested exception is java.sql.SQLException: Connection is closed 여러 요인이 있겠지만, 이번에 겪은 문제는 MERGE문 실행 중 해당 오류가 발생하는 것이었다. CREATE INDEX IX_BCI_SPCTMAIN01 ON BCI_SPCTMAIN (HSPT_KEY ASC, CLAM_SQNO ASC); DROP INDEX IX_BCI_SPCTMAIN01; INDEX 생성시 CLAM_SQNO DESC로 설정하였는데, INDEX가 생성되면서 발생한 오류가 있어, 해당 오류가 발생하는 것인지, 역순으로 정렬을 잡아서 해당 오류가 발생하는지는 잘 모르겠다. INDEX 정렬을 정순으로 재 생성하니까, 오류가 발생하지 않았다. 내용 확인을 더 해보고 싶었지만, 시간이 없어 다음 기회에.. 2023. 12. 28.
PK 리빌드 SELECT 'ALTER INDEX ' || INDEX_NAME || ' REBUILD;' FROM USER_INDEXES WHERE TABLE_OWNER = 'MEPS_BIL' AND INDEX_NAME LIKE 'PK_%'; 업무시간에 실행하면, 이런 오류가 발생할 수 있다. 2023. 12. 9.
오라클 LOCK 확인 SELECT DISTINCT SS.PREV_EXEC_START , LO.SESSION_ID , SS.SERIAL# , D0.OBJECT_NAME , SS.MACHINE , SS.PROGRAM , ST.ADDRESS , ST.PIECE , ST.SQL_TEXT FROM V$LOCKED_OBJECT LO , V$SESSION SS , DBA_OBJECTS D0 , V$SQLTEXT ST WHERE LO.SESSION_ID = SS.SID AND LO.OBJECT_ID = D0.OBJECT_ID AND SS.SQL_ADDRESS = ST.ADDRESS ORDER BY SS.PREV_EXEC_START , LO.SESSION_ID , SS.SERIAL# , ST.PIECE; -- ALTER SYSTEM KILL.. 2023. 12. 6.
ORA-00054 테이블을 삭제하려니, 이런 오류가 떴다. ORA-00054: 리소스가 사용 중이어서 NOWAIT가 지정되었거나 시간 초과가 만료된 상태로 획득합니다. ---------------------------------------------------- DROP TABLE BCI_----- 락걸린 것을 찾아 죽이자. SELECT a.session_id AS SESSION_ID , b.serial# AS SERIAL_NO , a.os_user_name AS OS_USER_NAME , a.oracle_username AS ORACLE_USERNAME , b.status AS STATUS FROM v$locked_object a , v$session b WHERE a.session_id = b.sid; ALTER sy.. 2023. 4. 28.