work/oracle 썸네일형 리스트형 ORACLE instant client 설정 및 ODBC 설정 (32비트) 32비트 머신에서 컴파일된 프로그램을 64비트 머신에서 설정한 ODBC를 사용하는 경우 문제가 발생한다. 그래서, 64비트 머신에서 32비트용 ODBC 설정을 해야한다. 1. 첨부파일을 D:\instantclient_10_2 에 압축해제 2. 윈도우 환경 변수 설정 ORACLE_HOME=D:\instantclient_10_2 TNS_ADMIN=D:\instantclient_10_2 ( tnsnames.ora 파일이 위치할 폴더 ) PATH=D:\instantclient_10_2 ( 기존 패스에 추가 ) 3. odbc_install.exe 실행 4. tnsnames.ora 설정 5. ODBC 설정 - 32비트 머신인 경우 제어판->관리도구->데이터 원본 (ODBC) 실행 - 64비트 머신인 경우 32비트 .. 더보기 [Oracle] commit 데이터 복구 오라클 DB를 사용중 delete문을 잘못 이용하여 지워야 하지 말아야 할 데이터를 지웠을 경우.. 거기다가 commit 까지 완료했을 경우 다행이 복구 할 수 있는 방법이 존재했다. SELECT * FROM TEST AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '30' MINUTE); 위의 명령어를 사용하면 TEST 테이블에 30분전의 상태를 보여주게 된다. 만약 DATA를 삭제한 시간이 30분이 지나지 않았다면 삭제하기 전의 DATA를 확인 할 수 있을 것이다. 그렇다면 위의 명령어를 서브쿼리로 하여 INSERT 해주면 된다. INSERT INTO TEST SELECT * FROM TEST AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '30' MI.. 더보기 오라클 힌트 사용예 출처 : http://piyoro.tistory.com/39 -------------------------------------------------- select /*+ index( idx_col_1 ) */ name, age, hobby from member -------------------------------------------------- *오라클 힌트 사용표 INDEX ACCESS OPERATION 관련 HINT HINT 내용 사용법 INDEX INDEX를 순차적으로 스캔 INDEX(TABLE명, INDEX명) INDEX_DESC INDEX를 역순으로 스캔 INDEX_DESC(TABLE명, INDEX명) INDEX_FFS INDEX FAST FULL SCAN INDEX_FFS(TABLE명,.. 더보기 오라클 JOB 설정 1) 일단 초기화 파라미터에 job_queue_processes 를 1이상 설정한다. 2) job등록 variable jobno number begin dbms_job.submit(:jobno, 'a;',sysdate, 'Trunc(sysdate, ''MI'') + (1/(24*60))',FALSE); commit; end; / 위에 예제의 경우 a 라는 프로시져를 1분간격으로 실행하는 job를 등록한 예제 입니다. select * from user_jobs를 보시면 해당 job이 등록되어 있을 겁니다. 자세한 내용은 오라클 블루틴이나 document의 dbms_job패키지 spec을 살펴보시기 바립니다. **** job_queue_processes 변경 방법**** 1. sqlplus "/as sysd.. 더보기 오라클 날짜 연산 select to_date('20070312000000','yyyymmddhh24miss') from dual; -- 문자를 날짜로 select to_char(sysdate, 'yyyymmddhh24miss') from dual; -- 날짜를 문자로. select sysdate + 1 from dual; -- 내일 select sysdate + 30 from dual ; -- 30일 후... select sysdate + 1/24 from dual; -- 한시간 후. select sysdate + 1/24/60 from dual; -- 1분 후 ....... select sysdate - 1 from dual; -- 어제 select sysdate - 30 from dual ; -- 30일 전... se.. 더보기 오라클, MSSQL 함수 비교 문자열 함수 Function Oracle SQL Server Convert character to ASCII ASCII ASCII String concatenate CONCAT (expression + expression) Convert ASCII to character CHR CHAR Return starting point of character in character string (from left) INSTR CHARINDEX Convert characters to lowercase LOWER LOWER Convert characters to uppercase UPPER UPPER Pad left side of character string LPAD N/A Remove leading blank sp.. 더보기 DB Link 2 일반적으로 DB link 를 생성하기 위해서는 Client 쪽의 tnsnames.ora 파일에 등록이 되어야 합니다. 하지만 다음과 같이 tnsnames.ora 에 등록할 내용을 직접 사용해서 db link 를 생성할 수 있습니다. CREATE DATABASE LINK link_test CONNECT TO scott IDENTIFIED BY tiger USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.23.1.13)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ORCL)))' 오라클 서버에 접속하기 위해서는 tnsnames 을 이용하거나 oracle names 를 이용할 수 있습니다. 이 방법은 오라클 서버에 접속하기 위해서 해당 tn.. 더보기 DB Link 생성하기 //----------------------------------------------------------------- 접속을 시도하는 데이터베이스의 tnsnames.ora를 수정한다. # vi /etc/hosts #접속하려는 데이타베이스의 아이피 192.168.255.1 test_db # vi tnsnames.ora LINKDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = test_db)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = LINKeDB) ) ) //------------------------------------------------------------------ DB L.. 더보기 Full table scan을 하고 있는 쿼리를 알아내는 Query 여러가지 방법이 있겠습니다만.. 첫째로 머리에 휙 떠오르는건, trace를 떠 보는거겠군요. 고기에 해당하는 답변은 이미 제가 올렸습니다. 젤 밑에다 붙여드리죠. 그런데 이 방법의 단점은 '이미 서버상에서 돌고 있는 쿼리를 찾아내야 한다'는 거죠. 두번째는 각종 툴을 사용해야 하겠죠. 이렇게 하면 현재 서버상에서 돌고 있는 쿼리들을 쉽게 찾아 낼 수 있습니다. 뭐 오렌지니 DBMAX니 하는 것들 많죠? 그치만 그건 돈 들여서 사야하는거니깐... OEM아시죠? Oracle Enterprise Manager입니다. 이건 오라클을 사서 쓰는 고객이라면 누구나 Oracle Client CD에서 쉽게 설치할 수 있는거죠. 요거를 설치 하시고 왼쪽에 쭉 붙어있는 메뉴 아이콘에서 "진단모음"을 누르시던지.. 아님 화.. 더보기 Partitioning-in-Oracle Partitioning in Oracle. What? Why? When? Who? Where? How? - Partitioning in Oracle ( Page 2 of 3 ) Partitioning enables tables and indexes or index-organized tables to be subdivided into smaller manageable pieces and these each small piece is called a "partition". From an "Application Development" perspective, there is no difference between a partitioned and a non-partitioned table. The applicat.. 더보기 DB 삭제하는 방법(Unix) ================================================================================ Suppose that you have Oracle & Unix 1. Connect to your database as SYSTEM and run the next script: gen_rm_db.sql - for Oracle 7 or Oracle 8 or gen_rm_db8.sql - for Oracle 8i. Each of them generates Unix script (rm_db.sh or rm_db8.sh) to remove all data files, temp data file (for Oracle 8i), log files and control fil.. 더보기 오라클9i에서 svrmgr 없읍니다....sqlplus "/as sysdba" 라고 접속하면...됩니다. svrmgrl 에서 connect internal 으로 오라클을 띄우는 것을 sqlplus 로 접속하면 됩니다..단, sys 로 접속해야 됩니다. 그래서 sqlplus "/as sysdba" 로 접속하면 이것이 바로 svrmgrl 입니다. 더보기 plan_table 만드는법 oracle -> rdms ->admin? utlxplan.sql 파일의 스크립트를 실행한다. 더보기 blob 관련 //empty_blob()이 꼭 필요.. 1. insert into testtable values (1, empty_blob()); 2. example) statement = conn.createStatement(); resultSet = statement.executeQuery( " select * from testtable"); if (resultSet.next()) { oracle.sql.BLOB blob = ((OracleResultSet)resultSet).getBLOB(1); } OutputStream outstream = blob.getBinaryOutputStream(); ByteArrayInputStream ba = new ByteArrayInputStream(fileContent); i.. 더보기 오라클 설치 관련 ▶ 관제 시스템의 Oracle Trouble Shooting 1. Oracle의 비상복구 : backup OS disk의 Oracle로 부터 restore(tar 또는 기타의 방법 모두 좋다) 받는다. earth # mkdir /mnt/home earth # mount /dev/dsk/c1t11d0s6 /mnt/home earth # cd /mnt/home/oracle earth # tar cvf - . | (cd /home/oracle ; tar xvf -) a ... x ... ... 2. 기타 Oracle에서 발생할 수 있는 문제의 trouble shooting 2.1 Oracle 기동 시 control file을 못찾는 문제 2.1.1 dd 명령어를 이용하는 편법 : Control file의 경로.. 더보기 이전 1 2 다음