전체 글 327

ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version 43 into a target database with TSTZ version 32 조치

EXPDP 받은 DB의 TSTZ 버전이 IMPDP 할 DB의 TSTZ 버전과 맞지 않을 때 나오는 에러입니다. 1. 아래에서 해당 하는 버전의 패치를 받아 적용https://support.oracle.com/epmos/faces/DocContentDisplay?id=2767770.1 2. 아래 문서 참조하여 조치https://docs.oracle.com/en/database/oracle/oracle-database/19/nlspg/datetime-data-types-and-time-zone-support.html#GUID-8815B03F-473E-4E77-919B-7A3066442C21 Database Globalization Support Guide docs.oracle.com ※ 현재 DST 관련 값..

카테고리 없음 2024.08.27

error while loading shared libraries: libreadline.so.5: cannot open shared object file 해결 방법

CentOS 7 에서 Rocky 8 등으로 특정 서비스 이관시, 위와 같은 오류가 발생하기도 합니다.이때 아래와 같이 소스를 직접 컴파일하여 해결해 볼 수 있습니다.(readline 5 설치경로 지정 : --prefix=/usr/local 은 원하는대로 변경 가능)# dnf groupinstall "Development Tools" -y # dnf install ncurses-devel wget -y# wget https://ftp.gnu.org/gnu/readline/readline-5.2.tar.gz# tar -xzvf readline-5.2.tar.gz# cd readline-5.2# ./configure --prefix=/usr/local# make# make install # sudo ln -s..

카테고리 없음 2024.08.22

캐릭터셋 차이에 따른 Oracle DB 이관 시 문자열 길이 초과 문제 해결 방법

1. 구DB DMP 파일에서 메타데이터(테이블 구조 등)만 신DB에 IMPORT(exclude, remap_tablespace 등은 필요에 따라 생략)$ impdp \'/ as sysdba\' directory=[DMP파일디렉토리] dumpfile=[DMP파일명] exclude=STATISTICS schemas=[대상스키마1, 대상스키마2, ...] remap_tablespace=%:[변경할테이블스페이스명] content=METADATA_ONLY;  2. BYTE 타입의 문자열을 CHAR 타입으로 바꿔주는 SQL문 추출 후, 해당 결과를 재실행하여, 각 테이블의 컬럼 타입 변경SELECT  'ALTER TABLE ' || owner || '.' || table_name || ' MODIFY (' || c..

DB 2024.08.21

DB 링크 이관을 위한 SQL-PLUS 스크립트 추출 SQL문

(운영/개발DB 암호가 다른 경우와 같이) 비밀번호가 다른 DB로 이관 작업 시,결과로 나온 SQL문에 "" 부분을 실제 암호를 넣어 실행할 수 있도록 만든 SQL문입니다.WITH excl AS (SELECT 'PUBLIC' username FROM DUAL UNION ALL SELECT 'SYS' username FROM DUAL)SELECT 'CONN /AS SYSDBA' sql FROM DUALUNION ALLSELECT NULL FROM DUALUNION ALLSELECT * FROM ( SELECT 'DROP ' || DECODE (OWNER, 'PUBLIC', 'PUBLIC ') || 'DATABASE LINK ' || DB_LINK || ';' || CHR(13) || CHR(10) |..

DB 2024.07.26

Oracle DB 계정 암호(암호화값) 확인

sys 계정 또는, DBA 계정에 sys.user$ SELECT 권한 부여 후 조회 가능합니다. 다른 DB에 기존 비밀번호를 그대로 사용하고자 할 때, PASSWORD_VERSIONS 값이 동일한지 확인/변경 후, PWD_SQL문 결과를 다른 DB에서 실행하면 됩니다. [PASSWORD_VERSIONS 관련 설정 확인]* 아래는 ojdbc5.jar 이상 사용 가능, PASSWORD_VERSIONS=10G 로 맞추는 설정입니다. (ojdbc14.jar 등은 8~9 등)vi $ORACLE_HOME/network/sqlnet.oraSQLNET.ALLOWED_LOGON_VERSION_SERVER=10SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10이후, 리스너 재기동 [비밀번호 확인 SQL문..

DB 2024.07.24

일괄 DB 커넥션 확인 (jdbc url, id, password)

ID, 비밀번호를 전체적으로 점검할 일이 있을 때 만들어서 사용한 것입니다.(단, DB 정책에 따라 잦은 로그인 실패 시 계정이 잠길 수 있으므로 유의해야 합니다.) 1. Excel로 아래과 같은 형태로 작성 후 COPY-PASTE 하여 input.tsv 파일로 생성 (탭으로 분리된 값)jdbc:oracle:thin:@1.2.3.4:1521/DBNAME1ID1PWD1jdbc:oracle:thin:@1.2.3.5:1521/DBNAME2ID2PWD2 2. JAVA 프로그램 컴파일하여 실행import java.io.BufferedReader;import java.io.FileReader;import java.sql.Connection;import java.sql.DriverManager;import java...

DB 2024.07.18

Oracle SCAN Listener 주의 사항

SCAN listener 에 IP 가 아닌 hostname 으로 설정하게 되면,Client 쪽에서 접속 할때 client 의 hosts 파일 설정을 참조합니다. 가령, hosts 파일에 아래와 같이 설정되어 있고,1.1.1.1 db11.1.1.2 db2 SCAN listener 에 db1, db2 로 등록한다면,Client 에서 TOAD 등으로 접속할 때, 1.1.1.1, 1.1.1.2 로 접속 시도합니다. (신규 장비의 DB IP 만 기존 DB IP로 교체하여 전환할 경우 특히 주의해야 합니다.)

DB 2024.07.02

Rocky, CentOS Redhat 계열 방화벽 관리

서버 방화벽의 기본 zone인 public에 대해 많이 사용하는 명령어 위주로 기재합니다.(Zone 단위로 관리도 가능하나 복잡해서 배제)root 계정으로 실행합니다. 1. 방화벽 켜기/끄기* Whitelist 기반으로서 켜자마자 추가적인 접속이 차단되므로 주의 필요 (현재 접속은 유지)systemctl start firewalldsystemctl stop firewalld 2. 기존 설정내역 확인firewall-cmd --list-all 3. 정책 추가1) Source 제한 없이 허용 포트/서비스 추가 (택 1), 아래는 80 또는 http 추가 예시firewall-cmd --zone=public --permanent --add-port=80/tcpfirewall-cmd --zone=public --p..

OS/CentOS&Rocky 2024.06.27

Oracle View, Function, Procedure, Package 소스 추출

방법 개요 : expdp from DB → impdp to file → file text 검색용도: WM_CONCAT 등 19c 업그레이드 시 영향도 파악 1. 일별 백업본이 있으면 아래 expdp 절차 생략1) SELECT * FROM dba_directories; 하여 expdp 백업경로 정보 확인 (없으면 생성)2) expdp 실행 (각각의 이름 및 full, parallel, cluster 옵션은 필요시 변경)expdp \'/ as sysdba\' directory=백업경로명 dumpfile=백업파일명_%U.dmp logfile=백업로그파일명.log full=y parallel=4 cluster=n3) content=metadata_only 로 impdp 하여 소스 파일 추출impdp \'/ as..

DB 2024.06.25