본문 바로가기

개발 관련 지식/오라클(Oracle)

[오라클] 대용량 insert 문 처리 시 주의사항(rollback 문제도 포함) 보호되어 있는 글입니다. 더보기
[오라클] 접속 session 및 process 확인 쿼리문 * 접속 session 및 process 확인 쿼리문 SELECT * FROM V$Resource_limit where resource_name in ('processes', 'sessions'); processes : 프로세스 수sessions : 세션 수 CURRENT_UTILIZATION : 현재 접속 수MAX_UTILIZATION : 오라클 기동 시점부터 지금까지 최대 접속 수INITIAL_ALLOCATION : init.ora 파라메터에서 설정한 수치 더보기
[오라클] 테이블별 용량 확인 방법 * 테이블별 용량 확인 방법 select owner,segment_name,segment_type,sum(bytes)/1024/1024 as MBfrom dba_segmentswhere segment_type='TABLE'and segment_name = '[USER명]'GROUP BY owner,segment_name,segment_type; [참고] segment_type 조건절에 위와 같이 'TABLE' 을 넣으면 테이블 용량만 조회되고, 'INDEX' 를 넣으면 인덱스 용량이 조회된다. 더보기
[오라클] ORA-21561 : OID generation failed 문제 해결 * ORA-21561 : OID generation failed 문제 해결 * 현상: sqlplus 를 통해 외부 장비의 DB 에 접속하려 하였으나, ORA-21561 : OID generation failed 에러가 발생 * 원인: /etc/hosts 내의 자신의 호스트명이 없을 경우 * 해결1) hostname 명령어를 통해 호스트명을 확인한다.2) /etc/hosts 내의 아래와 같이 내용을 추가한다.127.0.0.1 localhost [호스트명] 더보기
[오라클] 오라클 ALTER TABLE 명령어 * 오라클 ALTER TABLE 명령어 - 테이블 column 추가 ALTER TABLE [테이블명] ADD([추가할 컬럼명] [데이터 타입]); ex) ALTER TABLE TEST_SONG ADD(TEST_TXT VARCAHR2(10)); - 테이블 column 명 변경 ALTER TABLE [테이블명] RENAME COLUMN [이전 컬럼명] TO [변경할 컬럼명]; ex) ALTER TABLE TEST_SONG RENAME COLUMN TEST_TXT TO TEST_TEXT; - 테이블 데이터 타입 변경 ALTER TABLE [테이블명] MODIFY([컬럼명] [변경할 데이터 타입]); ex) ALTER TABLE TEST_SONG MODIFY(TEST_TEXT NUMBER(10)); - 테이블 .. 더보기
[오라클] CPU 부하 SQL문 확인 방법(pid 이용) * CPU 부하 SQL문 확인 방법(pid 이용) 1. top 명령어 or ps -ef 를 통해 pid 를 확인 2. sql 접속하여 SQL 문 실행 select /*+ use_hash(a,b,c) */ a.username, a.program, a.machine, a.module, b.spid, a.sid, a.serial#, a.sql_hash_value, d.PHYSICAL_READS, d.BLOCK_GETS, c.sql_text from v$session a, v$process b, v$sql c, v$sess_io d where b.spid = '&pid' and b.addr = a.paddr and a.sid = d.sid and a.sql_hash_value = c.hash_value(+) a.. 더보기
[오라클] PLAN TABLE 생성 과정(10g) * PLAN TABLE 생성 과정(10g) 1. PLAN TABLE 생성 1) ORACLE_HOME/rdbms/admin 디렉토리 이동 2) PLAN 을 사용하고자 하는 USER 로 SQLPLUS 접속 3) @utlxplan.sql 4) PLAN TABLE 생성 확인 2. PLUSTRACE ROLE 생성 1) ORACLE_HOME/sqlplus/admin 디렉토리 이동 2) "/as sysdba" (admin 계정으로 SQLPLUS 접속) 3) @plustrce.sql 4) PLUSTRACE ROLE 생성 확인 3. PLUSTRACE ROLE 권한 부여 1) GRANT plustrace TO [사용할 user명] 4. 실행 계획 사용 1) PLAN 사용할 USER 로 SQLPLUS 접속 2) SET AU.. 더보기
[오라클] 오라클 10g 클라이언트 설치 및 NET 구성 방법 * 오라클 10g 클라이언트 설치 및 NET 구성 방법 1. 설치 파일 다운로드 2. 설치 1) setup.exe 파일 실행 2) 다음 버튼 클릭 3) [설치 유형 선택]에서 설치할 유형을 선택 후 다음 버튼 클릭 (기본적으로 관리자 유형을 설치한다) 4) [홈 세부 정보 지정] 에서 설치할 경로를 입력한 후 다음 버튼 클릭 5) [요약] 에서 설치할 내용을 확인한 후 설치 버튼 클릭 6) 설치가 완료되면, 아래와 같은 화면이 나타나는데 [기본 구성 수행] 버튼을 선택하고 다음 버튼 클릭 7) 설치 완료 3. NET 구성(Net Manager) 1) 시작 > 모든 프로그램 > Oracle - OraDb10g_home1 > 구성 및 이전 툴 > Net Manager 실행 2) 아래와 같은 화면이 나타나면,.. 더보기
[오라클] 오라클에서 sleep 사용하기(DBMS_LOCK) * 오라클에서 sleep 사용하기(DBMS_LOCK) [권한] GRANT execute ON DBMS_LOCK TO [스키마명]; [문법] EXEC dbms_lock.sleep(10); 더보기
[오라클] SQL Loader (Field in data file exceeds maximum length) * SQL Loader (Field in data file exceeds maximum length) * 개요 : SQL Loader 를 이용하여 데이터를 업로드하던 도중, [Field in data file exceeds maximum length] 오류가 발생하였다. * 해결 방법 : SQL Loader 의 경우 control 파일에서 char 형태의 컬럼의 길이가 255 character 가 넘는 경우, 위와 같은 오류가 발생한다. 아래와 같이 control 파일 내의 컬럼 사이즈를 지정해주면 해결할 수 있다. 컬럼명 char(사이즈) TestCol1 char -> TestCol1 char(300) 더보기