ORA-29275 부분 다중 바이트 문자 해결 방법

 

TO_SINGLE_BYTE 함수를 사용하여 문제되는 컬럼에 사용하면 된다.

 

 

예시)
SELECT TO_SINGLE_BYTE(컬럼명)
FROM 테이블명
;

 

 

 

🙌 댓글, 공감, 공유는 큰 힘이 됩니다! 😄

 

 

 

 

 

 

참조 : docs.oracle.com

개인 사용자(개발자)가 접속하는 계정 패스워드를 변경할 때 참고하시면 좋는 내용입니다.

 

DBA에게 요청하지 않고 EXPIRED 전이나 변경하고 싶을 때 사용
⚠️절대 운영중인 서비스 계정🚫에 Replace하면 DBA가 극대노 할 수 있음😂

 

## DBMS 개인 계정 EXPIRED 확인 및 사전 조치 방법


# EXPIRY_DATE 컬럼에 EXPIRED 날짜 확인
SELECT USERNAME, EXPIRY_DATE
FROM USER_USERS;


# 개인 계정 변경하기
ALTER USER <본인계정명>
IDENTIFIED BY "<바꿀패스워드>"
REPLACE "<OLD패스워드>"
;

# 예시
ALTER USER A12345678
IDENTIFIED BY "honggildong12!@"
REPLACE "honghong12!@";



 

/*--------------------------------
   데이터파일 HWM 확인하는 쿼리
--------------------------------*/
SQL> set lines 200
SQL> col tablespace_name format a15
SQL> col file_name format a45
 
SQL> SELECT
            TABLESPACE_NAME,
            FILE_ID,
            FILE_NAME,
            DFSIZEMB,
            HWMMB,
            DFFREEMB,
            TRUNC((DFFREEMB/DFSIZEMB)*100,2) "% FREE",
            TRUNC(DFSIZEMB-HWMMB,2) "RESIZEBLE"
   FROM
   (
      SELECT
           DF.TABLESPACE_NAME TABLESPACE_NAME,
           DF.FILE_ID FILE_ID,
           DF.FILE_NAME FILE_NAME,
           DF.BYTES/1024/1024 DFSIZEMB,
           TRUNC((EX.HWM*(TS.BLOCK_SIZE))/1024/1024,2) HWMMB,
           DFFREEMB
      FROM
           DBA_DATA_FILES DF,
           DBA_TABLESPACES TS,
      (
           SELECT FILE_ID, SUM(BYTES/1024/1024) DFFREEMB
           FROM DBA_FREE_SPACE
           GROUP BY FILE_ID
      ) FREE,
      (
           SELECT FILE_ID, MAX(BLOCK_ID+BLOCKS) HWM
           FROM DBA_EXTENTS
           GROUP BY FILE_ID
      ) EX
      WHERE DF.FILE_ID = EX.FILE_ID
      AND DF.TABLESPACE_NAME = TS.TABLESPACE_NAME
      AND DF.FILE_ID = FREE.FILE_ID (+)
      ORDER BY DF.TABLESPACE_NAME, DF.FILE_ID
    ) ;

 

 

🙌 댓글, 공감, 공유는 큰 힘이 됩니다! 😄

 

참조 : https://stelliosdba.blogspot.com/2012/03/ora-03297-file-contains-used-data.html

 

 

 

 

# Session별 temp 사용량 측정 
SELECT T.SQL_ID
     , ROUND((T.BLOCKS * 8192)/1024/1024,2) AS "BYTES(MB)"
     , S.USERNAME
     , SEGTYPE
     , EVENT
     , LOGON_TIME
     , SID
     , SERIAL#
     , STATUS
     , PROGRAM
     , SQL.SQL_TEXT
  FROM V$SESSION S JOIN V$TEMPSEG_USAGE T ON S.SADDR = T.SESSION_ADDR JOIN V$SQL SQL ON T.SQL_ID = SQL.SQL_ID;
;

# session 별 temp segments 조회
select *
 from v$session s JOIN v$tempseg_usage t ON s.saddr = t.session_addr;

 

 

🙌 댓글, 공감, 공유는 큰 힘이 됩니다! 😄

+ Recent posts