목록Programming/Oracle (41)
C#,Delphi,Oracle,MSSQL 개발자블로그
2-Tier와 3-Tier의 비교 2-Tier와 3-Tier를 분류하고자 하는 구분은 크게 H/W관점과 S/W 관점에서 나눌 수가 있다. S/W 관점에서 보면, 1장에서 설명한 미들웨어 중에서 데이터베이스 미들웨어를 사용한 아키텍쳐를 '2-Tier' 라 하고, 그 외의 미들웨어를 사용하면 '3-Tier' 아키텍쳐라고 볼 수 있다. ㅇ 2-Tier와 3-Tier의 설명 티어를 구분할 때, H/W 관점에서도 볼 수 있으나, 아래는 S/W 관점에서의 2-Tier와 3-Tier를 비교 설명한 것이다. (1) 2-Tier : 클라이언트 사이드에 프리젠테이션/비즈니스 로직을 작성하고, 서버 사이드에는 데이터베이스가 위치한다. - 예: 4GL 툴(파워빌더, 비쥬얼 베이직, 델파이 등)에서 SqlNet(Oracle),..
dual은 펑션이나 계산식을 테이블 생성없이 수행해 보기 위한 용도로 사용하는 일종의 'dummy'테이블이다. 어떤 값이 들어있는 것이 아니라 임시의 공간이라고 생각하면된다. dual 테이블이 존재하는 이유는 함수에 대한 쓰임을 알고 싶을 때 특정 테이블을 생성할 필요없이 dual 테이블을 이용하여 함수의 값을 리턴받을 수 있다. 이렇게 사용되는 dual테이블은 자신이 속해있는 sys스키마에서만 사용하는게 아닌 만큼 public 시노님(synonym)으로 생성하여 오라클에 있는 모든 계정에서 사용이 가능하다. 추가로 dual테이블의 몇 가지 특징을 정리하면 다음과 같다. - dual 테이블은 오라클에서 자동으로 생성되는 테이블이다. - dual 테이블은 sys 스키마에 있지만 모든 사용자가 엑세스할 수 ..
오라클서버는 한번 설치를 하고나면, 서버를 이용하든 안하든 컴퓨터를 부팅할 때마다 자동으로 실행이 된다. 성능이 좋은 컴퓨터는 별 상관이 없을지 모르나, 성능이 좋지 않은 컴퓨터의 경우 컴퓨터의 속도 저하를 불러올 수 있어, 컴퓨터의 오라클서버를 사용하지 않는다면, 평소에 오라클 서비스를 꺼두고 사용하는 것이 좋다. 그런데, 이 때, 다시 서버를 사용할 일이 있어 켜서 쓰려고 할 때, 서비스를 제대로 켜지 않으면, 이런 오류가 날 수 있다. - 원인 : Oracle Server가 시작이 안되 있어 DB에 접속할 수 없는 현상. - 해결 : 내컴퓨터에서 우클릭 -> 관리 -> 서비스 -> 에서 다음 파일을 실행한다. (11g 기준.) OracleDBConsoleorcl (이건 안켜도 될 수 있음) Orac..
varchar와 varchar2는 모두 가변형 길이를 말한다. 예를들어 ' varchar(100) ' 만큼 선언을 해 주어도, 이 데이터타입에 입력된 데이터가 10byte밖에 안되면, varchar(100) 으로 선언했어도 varchar는 10byte만큼의 길이밖에 가지지 않게 된다. 그밖의 차이점은 다음과 같다. - varchar : mysql, mssql 에서 사용하는 형식. 문자길이 255까지 가능. - varchar2 : Oracle에서 사용하는 형식. 4000바이트(한글2000자, 영문 4000자)까지 저장 가능. number(x,y)의 의미. x : 정밀도 y : 배율 정밀도 : 소수점의 오른쪽과 왼쪽에 저장될 수 있는 전체 자릿수의 최대값 배율 : 소수점의 오른쪽에 저장될 수 있는 최대 자릿..
오라클 EXISTS함수, NOT EXISTS, MINUS 함수 1. 오라클 NOT IN, NOT EXISTS, MINUS의 효과적인 튜닝방법 - 데이터 제한 조건은 인덱스를 사용 - 데이터 불러오는 양을 적게한다. - 사용자 ORACLE FUNCTION은 자제 - 무조건 FULLTABLESCAN(이하 FTS)이 나쁜것은 아님 - NOT IN보다는 IN사용 권장 - NOT EXISTS 보다는 EXISTS사용 권장 - UNION보다는 UNION ALL사용 권장 2. EXISTS 실행조건 2.1 EXISTS 조건은 subquery 에 해당하는 row가 적어도 한 개 이상 존재할 경우가 충족되는 경우 SELECT가 실행된다. 2.2 EXISTS 조건은 유효한 SQL 문장인 select, inset, update..
패키지(package)는 오라클 데이터베이스에 저장되어 있는 서로 관련있는 PL/SQL 프로지져와 함수들의 집합 이다. 패키지는 선언부와 본문 두 부분으로 나누어 진다. 패키지 선언절 문법 - 선언절은 패키지에 포함될 PL/SQL 프로시저나, 함수, 커서, 변수, 예외절을 선언 한다. - 패키지 선언부에서 선언한 모든 요소들은 패키지 전체에 적용 된다. - 즉 선언부에서 선언한 변수는 PUBLIC 변수로 사용 된다. 패키지 본문 문법 - 패키지 본문은 패키지에서 선언된 부분의 실행을 정의 한다. - 즉 실재 프로시져나 함수의 내용에 해당하는 부분이 온다. 아래는 네 개의 프로시저를 하나의 패키지로 생성하는 아주 간단한 예제이다. 프로시저명 프로시저 기능 all_emp_info 모든 사원의 사원 정보 (사..
정부 정책상 비밀번호는 복호화가 안되어야 한다고 한다. 다행히도 오라클에서 단방향 암호화 패키지가 존재한다. DBMS_CRYPTO.HASH : 10g부터 지원한다고 함. 사용법은 굉장히 간단하다. view source print? 1.SELECT RAWTOHEX(DBMS_CRYPTO.HASH(TO_CLOB(TO_CHAR('암호화할 내용')), 파라미터) 2.FROM DUAL; 파라미터에 들어가는 내용은 암호화 하는 알고리즘을 정하는것이다. MD4 : 1 MD5 : 2 SH1 : 3 단, DBMS_CRYPTO 패키지 사용권한이 필요하다. SYSDBA계정으로 들어가 사용하고자 하는 계정으로 GRANT를 먼저 날려줘야 한다. 출처 : http://elecfactory.tistory.com/63
오라클에 SYSDBA로 접속한 다음 SELECT USERNAME FROM DBA_USERS WHERE USERNAME = '찾고자하는 아이디' 모든 아이디를 다 보고 싶으면 WHERE가 있는 라인을 제외하고 쿼리를 실행해본다. 아이디가 있으면 검색된 아이디가 나오고 없으면 아무것도 나오지 않는다. DBA_USERS 테이블의 USERNAME 컬럼은 실제로 우리가 ORACLE에 접속할때 사용하는 아이디이다. DBA_USERS 테이블에 USER_ID 컬럼이 있는데 이것은 오라클 시스템에서 유저에 부여하는 번호이므로 우리가 접속하는 유저 아이디와 혼동하지 말것. DBA_USERS 페이블에는 오라클 유저가 모두 등록되어있고 유저에 대한 정보를 알려주는 몇몇 테이블이 있으니 테이블을 보고 참고하면 괜찮을듯함 출처 ..
오라클 클라이언트를 설치하는 방법입니다. 아래 과정을 순서대로 따라하시면 쉽게 오라클 클라이언트 설치를 할 수 있습니다. 1. 먼저 오라클 클라이언트 설치파일을 다운로드하기 위해 오라클 홈페이지(http://www.oracle.com/index.html)로 이동한 후 Downloads - Oracle Databases 메뉴로 이동합니다. 2. 설치하려는 PC의 환경에 맞게 다운로드할 파일의 우측에 있는 See All 버튼을 클릭합니다. 윈도우 64비트 환경에 11g 클라이언트를 설치할 예정입니다. (See All 버튼을 클릭하면 클라이언트 설치파일만 다운로드 할 수 있습니다.) 3. 라이센스 동의 Accept License Agreement를 클릭해야 다운로드 진행이 가능합니다. 체크 후 클라이언트 파일..
★ Oracle DB를 설치하면 안에 Client가 포함되어 있다. (tnsnames.ora도 생성됨.) 1. http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 접속한다. 2. Accept License Agreement 클릭한다. 3. 자신의 컴퓨터 OS에 맞는 오라클 설치 파일을 선택한다. 자신의 컴퓨터가 64bit라면 x64, 32bit라면 x86을 선택하여 File 1, 2 를 모두 클릭하여 다운받는다. 저자는 windows 7에 64bit이다. 4. 파일을 다운 받기 위해서는 로그인을 해야한다. 계정이 없다면 회원가입을 하자. 5. 파일을 복사한다. 저자는 바탕화면에 다운받았다. 다운로드 받은 wi..