본문 바로가기

반응형

전체 글

oracle - SQL Server vs Oracle 함수 비교 SQL Function Reference: Oracle vs. SQL Server Customized Onsite SQL TrainingWebucator offers customized onsite SQL training for groups. Find out more, click here... *same for both databases Math Functions Function Oracle SQL Server Absolute value ABS ABS Arc cosine ACOS ACOS Arc sine ASIN ASIN Arc tangent of n ATAN ATAN Arc tangent of n and m ATAN2 ATN2 Smallest integer >= value CEIL CEILING Cos.. 더보기
oracle - rowid와 rownum의 용도 및 예제 rowid와 rownum의 용도 및 예제 1. rowid와 rownum의 정의와 사용법을 알고 싶습니다.. rowid : 테이블에 있는 해당 로우를 찾기위해 사용되는 논리적인 정보 ROWID를 분석해보면 AAAArs AAD AAAAUa AAA ------ --- ------ --- 1 2 3 4 1) 6자리 : 데이터 오브젝트 번호 2) 3자리 : 상대적 파일 번호 3) 6자리 : 블록 번호 4) 3자리 : 블록내의 행 번호 어떤곳에서는 "물리적인 정보"라고 적혀있기도 하지만, 곰곰히 생각해보면 물리적인 정보보다는 오라클이 사용하는 "논리적인 정보"라고 보는것이 맞다고 생각됩니다. rownum : 결과집합에 대한 가상의 순번 따라서 같은 SQL이라고 하더라도, 다른 rownum 을 가질수 있다. 2.각각.. 더보기
oracle에서 hint의 사용 oracle에서 hint의 사용 Hint란? select문을 실행시키면 DB의 옵티마이져가 조건절 또는 join절 등을 고려하여 액세스 경로를 결정한다. 이때 옵티마이저에게 모든 것을 맡기지 않고 사용자가 원하는 보다 좋은 액세스 경로를 선택할 수 있도록 하는 것이 Hint이다. 힌트의 사용 방법 힌트를 사용하는 방법은 "/*+ */"와 "--+"의 두 가지 방법이 있다. /*+ */ 여러 라인에 걸쳐 기술할 때 사용. --+ 오직 한 라인에만 기술할 수 있고 칼럼은 반드시 다음 라인에 기술해야 한다. 예제 : kkaok이라는 테이블이 있고 kkaok_indx라는 인덱스를 힌트에 사용한다고 가정한다. SELECT /*+ INDEX(kkaok kkaok_indx) */ name,content FROM kk.. 더보기
oracle - Optimizer Mode Setting 방법 Optimizer Mode Setting 방법 --------------------------1. Instance 수준의 셋팅 방법--------------------------- DB의 설정 파일(initSID.ora or spfileSID.ora)에 전체적으로 적용이 되도록 정의하는 방법이며 다음과 같이 기술하며 OPTIMIZER MODE는 REUL, CHOOSE, ALL_ROOWS, FIRST_ROWS와 같은 종류가 있습니다. CHOOSE인 경우 한테이블이라도 Analyzed되어 있는 경우엔 비용기반 접근 방식을 이용하는 것이며 RULE인 경우 규칙기반 접근 방식을 사용, ALL_ROWS인 경우 비용기반 옵티마이저의 한 방법이며 모든 ROW들을 처리한다고 할 때 그 비용을 최소화 하는 방법으로 실행.. 더보기
oracle - Nested Loop Join과 Sort Merge Join Nested Loop Join과 Sort Merge Join Nested Loop Join Nested Loop Join이란 먼저 어떤 테이블의 처리범위를 하나씩 액세스하면서 그 추출된 값으로 연결할 테이블을 조인하는 방식이다. 1. 특징 1) 순차적으로 처리된다. 선행테이블(Driving table)의 처리범위에 있는 각각의 로우들이 순차적으로 수행될 뿐만 아니라 테이블간의 연결도 순차적이다. 2) 먼저 액세스되는 테이블(Driving Table)의 처리범위에 의해 처리량이 결정된다. 3) 나중에 처리되는 테이블은 앞서 처리된 값을 받아 액세스된다. 즉, 자신에게 주어진 상수값에 의해 스스로 범위를 줄이는 것이 아니라 값을 받아서 처리범위가 정해진다. 4) 주로 랜덤 액세스 방식으로 처리된다. 선행 테.. 더보기
oracle - mysql to oracle(perl) #!/usr/bin/perl -w$|++;################################################################################# Migrate rt3 tablespaces from mysql to oracle.# Could Easily Be adapted for postgres as well# This assumes that you have the new system installed and the required Oracle Tables have been created and# Of course that they are the same names as the original mysql tables.# This script could be opt.. 더보기
oracle - MERGE/ CASE/ NULLIF MERGE/ CASE/ NULLIF ▶ 테스트를 위한 테이블 생성 - 완전히 똑같은 테이블이 생성되는 것은 아니다. (데이터 백업용으로 적합할듯)CREATE TABLE emp_testAS SELECT * FROM emp WHERE deptno = 10; ▶ MERGE - 한번에 조건에 따라 INSERT,UPDATE 가 가능합니다. - 해당 ROW가 있으면 UPDATE, 없으면 INSERT 문장이 실행 됩니다. ◈ syntax 설명 - INTO : DATA가 UPDATE되거나 INSERT될 TABLE이름을 지정 합니다. - USING : 대상 TABLE의 DATA와 비교한 후 UPDATE 또는 INSERT할 대상이 되는 DATA의 SOURCE 테이블 또는 뷰를 지정 - ON : UPDATE나 INSERT를.. 더보기
Oracle - Index와 관련된 힌트들 Index와 관련된 힌트들 이미 앞선 여러 강좌에서 인덱스와 관련된 힌트를 살펴보았지만... 이번엔 묶어서 간단히 개념을 살펴보도록 하겠습니다. 개발을 하다보면 SQL문을 자주 사용하게 되는데... 최소한 Toad등에서 Query에 대해 Plan한번만 떠 보세요... 그러면 그 쿼리가 어느 정도의 성능을 내는지는 대충 짐작하실 수 있습니다. 그런 다음 테이블의 인덱스를 적절히 사용하는지 확인만 하면 최소한 나쁜 쿼리는 작성하지 않게 됩니다. (인덱스를 사용하는 경우가 최선의 성능을 보장 하지는 않습니다) 아래 내용을 참고하시고 사용하는 DB가 오라클이라면 반드시 힌트에 대해 관심을 가지시기 바라구요 옵티마이저 수행 경로가 정상적인 경우와 비정상인 경우 성능 차이는 장난 아닙니다. 심지어 10배 이상 나는.. 더보기
oracle - 오라클(ORACLE) DB사전(DICTIONARY) 정리 오라클(ORACLE) DB사전(DICTIONARY) 정리 All_all_tables : user가 access할수있는 모든 TableAll_catalog : user가 access할수있는 모든 Table, Views, synonyms, sequenceAll_clusters : user가 access할수있는 모든 clustersAll_col_comments : user가 access할수있는 모든 Table,Views에 대한 칼럼commentsAll_col_privs : user에게 또는 Public에게 허용된 모든 칼럼에 대한 권한.All_col_privs_made : user가 부여한 칼럼에 대한 권한.All_col_privs_recd : user에게 또는 Public에게 허용된 모든 칼럼에 대한 권한... 더보기
oracle - DB 링크 및 스냅샷 DB 링크 및 스냅샷 1. DB 링크원격지에 있는 데이타베이스와 연결하는 것이져....(^^)이것은 우선적으로 고려해야 될 사항이 있는데염... (1) 원격지 DB가 연결해도 된다는 허락을 해야 함다. DBA 권한오라클 환경 설정에 보면 분산 트랙잭션이란 항목이 있는디 숫자를 적당히 주심 됨다. (아마 Default로 적당히 설정되어 있을 것임다.) (2) 내가 사용하는 DB에서 원격지 DB를 찾을 수 있어야 함다.tnsname에 원격지 오라클이 등록이 되어 있나 확인함다. (3) DB링크를 만들어 버림 됨다. (롱타입은 문제 있슴다 주의하셈) create public database link 링크명connect to 원격지 접속 아이디 identified by 원격지 접속 비밀번호using ' tnsn.. 더보기

반응형