본문 바로가기
반응형

Oracle38

XMLTYPE 컬럼 ?? 오라클 컬럼 타입 중에 XMLTYPE 라는 녀석이 있다. 일반적인 쿼리로 조회를 하면 컬럼데이터에 (ORAXML) 이라고 찍힐 뿐이다... .... 어쩌라고 ㅡㅡ 이 놈들 데이터를 확인하려면 좀 다른 구문이 필요하다. TBL_NAME 테이블에 xml_col_name 이란 녀석의 내용을 확인하고자 한다면 요렇게 날려준다. SELECT XMLSERIALIZE(CONTENT xml_col_name AS VARCHAR2(2000)) FROM TBL_NAME; 말 그대로 XML 형식으로 저장이 되어 있는걸 확인 할 수 있다. 내용을 확인 했으면 그 중에 한 놈을 찍어서 뽑아 보도록 하자. 아래와 같이 날리면 testValue 라는 항목의 값만 가지고 온다. SELECT extractValue(xml_col_nam.. 2008. 7. 3.
CHAR형과 VARCHAR형 타입 JOIN 시 거지 같은 경우 완전 거지 같은 경우 DB2에서 오라클로 전환하면서 생긴거.. A 테이블에는 CHAR 형태로 되어 있고 B테이블에는 VARCHAR형태로 되어 있는 컬럼이 있다. 이 놈 두개를 JOIN을 해서 거시기 하는 건데.. DB2에서 쓰던 쿼리를 그대로 쓰면... 값이 안 나온다. 당췌 원인을 모르다가.. 혹시나 싶어서 데이터 길이를 제어 봤다. (LENGTH 함수 이용) 한놈은 3 이고 한놈은 6이다.... 뭐 하는 짓이야 ㅡㅡ 눈에 보이는 거는. .똑같아 보이지만 길이가 다르다면 공백이 포함 되어 있다는 뜻이니까.. 해서.. 비교시에 A.COL1 = B.COL2 이렇게 쓰던 것을.. 이렇게 바꿨다. A.COL1 = RTRIM(B.COL2) .... 개 삽질이다... 2008. 6. 5.
테이블 제약조건,타입을 찾아 보자 뭐.. 대단한건 아니고 간단하게 제약조건(PK,FK....)을 찾아 보는 겁니다. 사용할 테이블은 user_cons_columns 와 inner join user_constraints 입니다. 두개를 조인한 이유는... desc 해서 컬럼명을 보면 알 겁니다... 이런 무책임한 -_-;;; select cc.constraint_name,c.constraint_type from user_cons_columns cc inner join user_constraints c on cc.constraint_name = c.constraint_name all_도 있고 dba_도 있지만 user_를 쓴건.. 너무 많이 나오면 골치 아프니까 내꺼만 보자~ 뭐 이런 취지입니다. 2008. 4. 3.
오라클 한 줄 Tip 커맨드 창에서 sqlplus 실행 시 윈도우 도스 창 처럼 cls 명령어로 화면 클리어 시키기 SQL> $cls 2008. 3. 6.
오라클9i , 아카이브 모드로 변경 .... 설명 없슴다.. 순서대로 .. 순서대로 -_-;;; 포스트하기도 지겹네 이제.. 포스팅 왜 하는지 모르겄음.. 방문자는 꾸준한데... 댓글도 없고.. 딴거도 엄꼬... 혼자 북치고 장구치고 에헤라 디야~ 막나가기로 했음 -_- SQL> alter system set log_archive_start=true scope=spfile; 시스템이 변경되었습니다. SQL> alter system set log_archive_dest='D:\oracle\oradata\archive'; 시스템이 변경되었습니다. SQL> alter system set log_archive_format='redo%s.log' scope=spfile; 시스템이 변경되었습니다. SQL> shutdown immediate 데이터베이.. 2008. 3. 5.
오라클 parameter 파일 수정하기 오라클 parameter 파일 수정하기 SGA_MAX_SIZE를 수정할 경우 PFILE에서 텍스트 작업을 해 주는 경우가 있다. (SPFILE은 텍스트 코드가 아니므로 텍스트 수정해서 저장하면 깨진다) 이때, 텍스트 수정을 위해 PFILE을 생성해서 PFILE로 시작시켜 보자. 1. ORACLE\admin\[SID]\pfile 에 있는 init.ora.xxxxxx 파일을 복사해서 2. ORACLE\ora92\database 에 붙여 넣는다. 3. SPFILE[SID].ora 파일의 이름을 변경한다. SPFILE[SID].ORA.OLD 처럼.. 4. shutdown 5. 복사해온 파일의 이름을 init[SID].ora로 변경한다. 6. startup 요거를 다시 SPFLIE로 만들려고 하면 create s.. 2008. 3. 3.
오라클 테이블 복사 오라클에서 테이블 복사하는 쿼리문 1. 생성과 동시에 데이터 카피하기(복사) CREATE TABLE COPY_TB AS SELECT * FROM ORI_TB 2. 기존 테이블에 데이터만 가져오기 INSERT INTO COPY_TB SELECT * FROM ORI_TB 약간 응용해서 들어가면~ 테이블을 생성했는데 다른 테이블스페이스로 옮기고 싶을때. 테이블을 다른 테이블스페이스로 지정하고 미리 생성해 둡니다. CREATE TABLE COPY_TB (A NUMBER, B VARCHAR2(10)) TABLESPACE COPY_TBS 그리고 기존 테이블의 내용을 새로 생성한 테이블에 쑤셔 넣습니다. INSERT INTO COPY_TB SELECT * FROM ORI 이게 이상해 보이지만... exp/imp로 하.. 2008. 2. 28.
오라클 심심풀이용 SQL문 퀴즈 scott이 가지고 있는 EMP 테이블을 가지고 장난질을 좀 쳐 보기로 합시다. EMP테이블에는 hiredate라고 입사년도가 있습니다. 그걸 가지고~ 아래와 같은 모양으로 출력되게 해 봅시다~ TOTAL 1980 1981 1982 1987 ---------- ---------- ---------- ---------- ---------- 15 1 10 2 1 잠시 생각하셨나요? ㅎㅎ 굳이 옆으로 출력할 필요가 없다면 간단하게 이런식으로 출력할 수 있습니다. SQL> select to_char(hiredate,'YYYY'),count(*) from emp group by to_char(hiredate,'YYYY'); TO_C COUNT(*) ---- ---------- 1980 1 1981 10 1982 .. 2008. 2. 20.
로그마이너로 쿼리 히스토리를 뒤져 보자! 로그 마이너라는 기능을 사용해서 리두 로그 파일을 이용하여 기존에 사용했던 쿼리의 히스토리를 확인 해 볼 수 있다. 모든 작업은 SYS로 접속해서 하자. 1. 초기화 파라메터 파일에서 'UTL_FILE_DIR'을 지정한다. utl_file_dir='C:\oracle\logmnr' 요래 저장을 하고 그리고 리스타트 한다. 2. 다음의 SQL문을 차례로 실행 시키다. SQL> @C:\oracle\ora92\rdbms\admin\dbmsrpr.sql 패키지가 생성 되었습니다. SQL> @C:\oracle\ora92\rdbms\admin\prvtrpr.sql 라이브러리가 생성되었습니다. 패키지 본문이 생성되었습니다. 3. 그리고 패키지를 실행 시킨다. 생성할 파일명과 아까 설정한 경로를 지정해 준다. SQL> .. 2008. 1. 21.
데이터 파일 Drop 시키기! 데이터 파일 DROP 시키기 오라클을 스타트업 시키는데 다음과 같은 에러가 났다. ---------------------------------------------------------- SQL> startup ORACLE 인스턴스가 시작되었습니다. Total System Global Area 167772160 bytes Fixed Size 1247900 bytes Variable Size 83887460 bytes Database Buffers 79691776 bytes Redo Buffers 2945024 bytes 데이터베이스가 마운트되었습니다. ORA-01157: 데이터 5 파일을 식별 또는 잠금 할 수 없습니다- DBWR 추적 파일을 보십시오 ORA-01110: 5 데이터 파일: 'C:\KEI_.. 2008. 1. 21.
오라클 프로시저 처음부터 끝까지 예제 뭐.. 이건 어느 강좌 들으면서 레포트로 나왔던 건데... 프로시져를 실행하기 위한 준비부터 차근차근 다 기술해 보았다. 왼팔에 기부쓰 하고.. 이게 뭐 하는 짓이여 ㅡㅡ;; 팔 아퍼 ㅠㅠ -- ################### -- 테스트 환경 구축 -- ################### -- 테이블스페이스 생성 create tablespace test datafile 'D:\oracle\product\10.0.2\oradata\kei\test.dbf' size 10M -- 유저 생성 create user kei identified by kei default tablespace test -- 권한 부여 grant connect,resource to kei -- 접속 connect kei/kei --.. 2007. 12. 11.
오라클에서 MSSQL의 TOP과 같은 기능을 해 보자. MSSQL에서는 select TOP 10 * from table 과 같은 식으로 상위 10개의 결과만 반환하는 TOP이라는 기능이 있다. 근데.. 오라클에서는... ㅡㅡ?? 다른 방법이 있는지는 모르겠는데... 난 요래 한다. select * from table where rownum 2007. 12. 8.
반응형