2012. 7. 11. 11:33

[Oracle] Windows 2008 R2 64bit 에서 Oracle ODBC 설정

Windows 2008R2 64Bit 에서 Oracle 11R2 Client를 설치하고 ODBC 창에서 추가를 하는데 Driver가 보이지 않는다.

 

 

C:\Windows\SysWOW64 에서 odbcad32.exe 를 찾아서 실행하면 된다.

 

 

64Bit에서 32Bit 용을 깔면 32Bit 으로 구성 ... ( ODBC 를 사용하는 프로그램도 )
64Bit에서 64Bit 용을 깔면 64Bit 으로 구성 ... ( ODBC 를 사용하는 프로그램도 )

 

* c:\oracle 폴더 속성에서 [보안]탭 클릭 후 IIS계성 추가~!

IWAM_XXXXX or IIS.....

 

 

2012. 7. 11. 10:53

[Oracle] Windows 64bit 오라클 Client 설치

클라이언트를 설치하는 입장에서 서버의 버전은 중요하지 않다.

만약 서버가 10g라해도 과감히 11g 클라이언트를 설치해도 무방하다.

오히려 11g 클라이언트가 더 잘된다.

닷넷에서 오라클 연결 시에도 다른거 필요없이 오라클 클라이언트만 깔아주면 된다.

일단 오라클 사이트에가서 클라이언트 프로그램을 다운로드 한다.

http://www.oracle.com/technology/software/products/database/oracle11g/111060_win64soft.html

 

 

### 오라클 삭제 ###

 

1. 시작 메뉴에서 오라클 삭제

시작 -> Oracle 메뉴 -> Universal installer -> 제품설치 해제 -> 모두 체크 제거

2 . 레지스트리 삭제
시작 -> 실행 -> regedit
1) - HKEY_Local_Machine\software\Oracle폴더 삭제.
2) - HKEY_Local_Machine\system\ControlSet001\Services\Oracle 관련서비스(폴더) 삭제
3) - HKEY_Local_Machine\system\ControlSet002\Services\Oracle 관련서비스 삭제
4) - HKEY_Local_Machine\system\CurrentControlSet\Services\Oracle 관련서비스 삭제
=> Oracle 관련 값은 모두 제거해야 한다.

3. Reboot

4. 환경 변수에서 오라클 관련 모두 삭제(내컴에서 오른 버튼 속성에 고급)

5. 탐색기에서
- 설치 파티션 : \Oracle폴더 (기본 C:\oracle)
- 부트 파티션 : \Program files\Oracle폴더

부트 파티션 삭제 시 oci.dll이 삭제 되지 않을 수 있다. 그때는 도스 커맨드에서

net stop msdtc 를 수행하여 msdtc 서비스를 멈춘다음, delete를 시도하여 보면, 삭제가 된다.
이후, net start msdtc를 통해서 다시 서비스를 가동할 수 있다.

 


### 오라클 설치 ###

 

* 받은 파일의 압축을 풀고 install에서 setup을 실행한다.

* 관리자가 필요한 사람은 관리자를 설치하고 그냥 런타임을 선택한다.

* 베이스 디렉토리는 C:\oracle 이라고 한다

* 프로그램 설이 디렉토리는 C:\oracle\product\버전...(기본으로 나오는 패스를 사용)

* 설치가 끝나면 리부팅 한번 해준다.(별 필요없지만 왠지 해주면 좋다)

* 기존의 trsnames.ora 파일 있더라도 갖다 놓지 않는다. 버전이 올라가면서 약간..다르다.

* 시작메뉴에서 오라클로 가서 Net Manager 를 수행한 후 서비스를 하나 등록한다.

* 등록하고 NetManager를 종료하면 저장할까 물어볼때 저장한다.

* 그러면 오라클 폴더의 Network/Admin 폴더 아래에 trsnames.ora 파일이 생성된다.

* 파일을 열어보면 나름대로 규칙을 가지게 되어있는데 그 형태를 유지해서 기존 서비스들도 만들어 넣는다.

* 다시 NetManager를 띄워서 하나의 서비스를 선택하고 왼쪽 툴바에 테스트 버튼을 눌러서 접속 테스트를 해본다. (접속 테스트 할때 아뒤랑 패스워드를 제대로 넣어줘야 테스트가 가능하다.)

닷넷에서 접속이 되는 지 확인 하기.

* windows 폴더 아래에 assembly 폴더를 탐색기로 열어보면 Oracle.DataAccess 파일이 보인다. 버전을 확인해 보면 Version=2.111.6.0 대충 이렇다.

* web.config 파일을 열어서 <add assembly="Oracle.DataAccess, Version=2.111.6.0, Culture=neutral, PublicKeyToken=89B483F429C47342" /> 를 추가 해 준다.

 

 

2012. 6. 19. 15:36

[Oracle] Toad vs Oracle Product Release History

 

 

2012. 6. 12. 18:15

[MS-SQL] AUTO COMMIT 해제 방법

MS-SQL SERVER 2005

 

도구 > 옵션 > 쿼리 실행 > SQL SERVER > ANSISET IMPLICIT_TRANSACTIONS

 

체크 후 COMMIT / ROLLBACK 가능하다.

 

단, COMMIT / ROLLBACK 실행 이전까지 테이블 락이 잡혀서 외부에서 사용이 불가능하다.

 


TIP >>

 

오라클의 경우 UPDATE, DELETE, INSERT 문을 실행하고 COMMIT, ROLLBACK를 지정할수가 있다.

 

오라클 초기 설치시 자동으로 COMMIT 을 하지 않기 때문이다.
 

이에 비해 MS-SQL은 자동 COMMIT 을 한다.
 
COMMIT 실행하지 않아도 자동으로 시스템에서 COMMIT 을 하기 때문이다.

(물론 설정을 바꿀수는 있지만 그렇게 사용하는 사람은 많지 않을 것이다. )


ROLLBACK 을 할수 있는 경우는


BEGIN TRAN

  UPDATE ....


위에 예처럼 BEGIN TRAN를 사용하여 UPDATE, DELETE, INSERT 한 후,

 

데이터가 이상이 없으면 COMMIT, 이상이 있는 경우 ROLLBACK을 하면 된다.

 

항상 DELETE, UPDATE 시 BEGIN TRAN을 사용하는 것을 권장한다.

 

'Database / Sql' 카테고리의 다른 글

[Oracle] Windows 64bit 오라클 Client 설치  (0) 2012.07.11
[Oracle] Toad vs Oracle Product Release History  (0) 2012.06.19
[Oracle] User 권한 보기  (0) 2012.03.27
[Oracle] DATA DICTIONARY VIEW  (0) 2012.02.29
[Oracle] DBA_USER 확인  (0) 2012.02.23
2012. 3. 27. 13:37

[Oracle] User 권한 보기

ORACLE에서 모든 사용자의 권한

SELECT * FROM DBA_ROLE_PRIVS

 

현재 세션에 부여된 권한

SELECT * FROM USER_SYS_PRIVS

 

DBA에 부여된 권한

SELECT * FROM DBA_SYS_PRIVS

 

특정 ROLE에 부여된 시스템 권한

SELECT * FROM ROLE_SYS_PRIVS

 

특정 테이블에 부여된 권한

SELECT * FROM ROLE_TAB_PRIVS

 

사용자에 의해 엑세스 가능한 ROLE

SELECT * FROM USER_ROLE_PRIVS

 

사용자가 부여한 객체 권한

SELECT * FROM USER_TAB_PRIVS_MADE

 

사용자가 객체의 열에 대해 부여한 객제 권한

SELECT * FROM USER_COL_PRIVS_MADE

 

특정 열에 대해 사용자가 부여한 객체권한

SELECT * FROM USER_COL_PRIVS_RECD

 

해당 유저의 LIMIT 권한

SELECT P.PROFILE, P.RESOURCE_NAME, P.LIMIT

FROM DBA_USER U, DBA_PROFILES P

WHERE P.PROFILE = U.PROFILE

AND USERNAME = 'USER_NAME'

 

'Database / Sql' 카테고리의 다른 글

[Oracle] Toad vs Oracle Product Release History  (0) 2012.06.19
[MS-SQL] AUTO COMMIT 해제 방법  (0) 2012.06.12
[Oracle] DATA DICTIONARY VIEW  (0) 2012.02.29
[Oracle] DBA_USER 확인  (0) 2012.02.23
[Oracle] SESSION 수 체크  (0) 2012.02.23
2012. 3. 27. 09:35

[Unix] chmod 와 chown

chown 으로 해당 디렉토리의 소유자를 변경하고

chmod 로 각 디렉토리의 퍼미션을 설정하여 파일의 보안 설정을 높일수 있음.

chmod : 파일의 소유자/소유그룹/다른사용자의 파일 권한(읽기/쓰기/실행) 변경

chown : 파일의 소유자와 소유 그룹을 변경

● chown [옵션(cfvR)] 소유자:소유그룹 파일명

ex) chown -R user1:group1 aaa -> aaa 및 하위 파일까지의 모든 소유자를 user1 / 소유그룹을 group1 로 변경

chown user1 aaa.txt -> aaa.txt 파일의 소유자를 user1로 변경

chown :group1 aaa.txt -> aaa.text 파일의 소유 그룹을 group1 로 변경

chmod [옵션(cfvR)] [퍼미션설정] 파일명

퍼미션 설정

심볼릭으로 퍼미션 설정

[ugoa...][[+-=][rwxXs-tugo...]...][,...]

1 2 3 ,로 재귀

1 : u(소유자) g(그룹) o(다른 사용자) a(모든 사용자) / 생략시 모든 사용자로 간주

2 : +(권한부여) -(권한박탈) =(원래권한)

3 : r(읽기) w(쓰기) x(실행 / 디렉토리일 경우 접근허용)

X(다른 사용자에게 실행 권한이 있는 파일의 실행)

s(소유자와 그룹만 실행)

u(소유주 권한)

g(그룹권한)

o(다른 사용자 권한)

, 로 위의 설정 재귀 반복

ex) chmod u+w aaa.txt -> 소유자(u) 에게 쓰기권한(w) 을 더한다(+)

8진수를 이용 퍼미션 설정

읽기권한 : 4 (100)

쓰기권한 : 2 (010)

실행권한 : 1 (001)

읽기 + 쓰기 : 6(4 + 2)

읽기 + 실행 : 5(4 + 1)

읽기 + 쓰기 + 실행 : 7 (4 + 2 + 1) 이런식으로 설정

ex) ls -al

- rw- --- r-- 1 user1 group1 6 12월 19 22:01 aaa.txt

1   2    3    4  5    6         7    8         9            10

1 : 타입( - : 파일 / d : 디렉토리)

2 ~ 3 : 퍼미션 설정 값

2 : 소유자 권한 ( 읽기/쓰기/실행)

3 : 그룹 권한 ( 읽기/쓰기/실행)

4 : 다른사용자 권한 ( 읽기/쓰기/실행)

5 : 링크수

6 : 소유자

7 : 그룹

8 : 파일크기

9 : 만든 날짜/시간

10 : 파일 이름

ex) chmod 777 aaa.txt -> 소유자 / 그룹 / 다른사용에게 모든 퍼미션을 허용

- rwx rwx rwx 1 user1 group1 6 12월 19 22:01 aaa.txt

    2    3    4

 

2012. 3. 26. 14:28

[AIX] 서버 디스크 구성 정보 확인

1. 서버에서 사용중인 PV 보기
 > lspv
 
 [elsprd] root:/# lspv
  hdisk0          00c3fdc0cbc9f580                    rootvg          active
  hdisk1          00c3fdb0d268e133                    rootvg          active
  hdisk2          00c3fdb0d776ce8a                    prd_datavg      active
  hdisk3          00c3fdb0d776cf2d                    prd_datavg      active
  hdisk4          00c3fdb0d776cfd1                    prd_datavg      active
  hdisk5          00c3fdb0d776d06d                    prd_datavg      active
  hdisk6          00c3fdb0d776d112                    prd_datavg      active
  hdisk7          00c3fdb0d776d1b1                    prd_datavg      active
  hdisk8          00c3fdb0d776d256                    prd_datavg      active
  hdisk9          00c3fdb0d776d2fa                    prd_datavg      active
  hdisk10         00c3fdc011e14255                    None 

2. 사용중인 PV가 내장디스크인지 외장디스크인지 확인
 > lsdev -Cc disk
 
 [elsprd] root:/# lsdev -Cc disk
  hdisk0  Available 05-08-00 SAS Disk Drive
  hdisk1  Available 05-08-00 SAS Disk Drive
  hdisk2  Available 02-00-02 1815     DS4800 Disk Array Device
  hdisk3  Available 02-00-02 1815     DS4800 Disk Array Device
  hdisk4  Available 02-00-02 1815     DS4800 Disk Array Device
  hdisk5  Available 02-00-02 1815     DS4800 Disk Array Device
  hdisk6  Available 02-00-02 1815     DS4800 Disk Array Device
  hdisk7  Available 02-00-02 1815     DS4800 Disk Array Device
  hdisk8  Available 02-00-02 1815     DS4800 Disk Array Device
  hdisk9  Available 02-00-02 1815     DS4800 Disk Array Device
  hdisk10 Available 05-08-00 SAS Disk Drive
 
3. 각 PV의 사용량 확인
 > lspv hdisk0
 
 [elsprd] root:/# lspv hdisk0
  PHYSICAL VOLUME:    hdisk0                   VOLUME GROUP:     rootvg
  PV IDENTIFIER:      00c3fdc0cbc9f580 VG IDENTIFIER     00c3fdc000004c0000000116cc1fa5a4
  PV STATE:           active                                    
 STALE PARTITIONS:   0                        ALLOCATABLE:      yes
  PP SIZE:            256 megabyte(s)          LOGICAL VOLUMES:  13
  TOTAL PPs:          546 (139776 megabytes)   VG DESCRIPTORS:   2
  FREE PPs:           267 (68352 megabytes)    HOT SPARE:        no
  USED PPs:           279 (71424 megabytes)    MAX REQUEST:      1 megabyte
  FREE DISTRIBUTION:  57..00..00..101..109                      
 USED DISTRIBUTION:  53..109..109..08..00
                  
4. 서버에서 사용중인 vg 이름 보기
 > lsvg
 
 [elsprd] root:/# lsvg
  rootvg
  prd_datavg
 
5. 서버에서 사용중인 vg의 상세정보 보기
 > lsvg [vg명]
 
* 현 사용량 및 남아있는 공간 확인 가능
 
 [elsprd] root:/# lsvg rootvg
  VOLUME GROUP:       rootvg                   VG IDENTIFIER:  00c3fdc000004c0000000116cc1fa5a4
  VG STATE:           active                   PP SIZE:        256 megabyte(s)
  VG PERMISSION:      read/write               TOTAL PPs:      1092 (279552 megabytes)
  MAX LVs:            256                      FREE PPs:       564 (144384 megabytes)
  LVs:                13                       USED PPs:       528 (135168 megabytes)
  OPEN LVs:           12                       QUORUM:         1
  TOTAL PVs:          2                        VG DESCRIPTORS: 3
  STALE PVs:          0                        STALE PPs:      0
  ACTIVE PVs:         2                        AUTO ON:        no
  MAX PPs per VG:     32512                                    
 MAX PPs per PV:     1016                     MAX PVs:        32
  LTG size (Dynamic): 1024 kilobyte(s)         AUTO SYNC:      no
  HOT SPARE:          no                       BB POLICY:      relocatable

6. 해당 vg에 mount 정보 보기
 > lsvg -l [vg명]
 
 [elsprd] root:/# lsvg -l rootvg
  rootvg:
  LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
  hd5                 boot       1     2     2    closed/syncd  N/A
  hd6                 paging     157   314   2    open/syncd    N/A
  hd8                 jfs2log    1     2     2    open/syncd    N/A
  hd4                 jfs2       16    32    2    open/syncd    /
  hd2                 jfs2       16    32    2    open/syncd    /usr
  hd9var              jfs2       8     16    2    open/syncd    /var
  hd3                 jfs2       16    32    2    open/syncd    /tmp
  hd1                 jfs2       4     8     2    open/syncd    /home
  hd10opt             jfs2       8     16    2    open/syncd    /opt
  lg_dumplv           sysdump    30    30    1    open/syncd    N/A
  loglv00             jfslog     1     2     2    open/syncd    N/A
  lv00                jfs        1     2     2    open/syncd    /var/adm/csd
  fslv00              jfs2       20    40    2    open/syncd    /resource

'기타' 카테고리의 다른 글

배치(bat) 파일 만들기  (0) 2014.08.05
Windows 열려있는 포트 확인법  (0) 2014.02.06
Windows 7 비밀번호 암호 초기화/해제/제거  (0) 2013.12.10
[Unix] chmod 와 chown  (0) 2012.03.27
2012. 2. 29. 15:29

[Oracle] DATA DICTIONARY VIEW

DATA DICTIONARY VIEW : 현재 사용자가 가지고 있는 모든 테이블에 대한 메타정보를 보여줌


## 전체 테이블
SELECT * FROM TAB;


## 현재 사용자가 액세스 할 수 있는 관계형 테이블
SELECT * FROM ALL_TABLES;


## 사용자가 소유한 테이블을 조회
SELECT * FROM USER_TABLES;
SELECT * FROM USER_OBJECTS;
SELECT * FROM USER_CATALOG;


## 테이블 코멘트
SELECT * FROM USER_TAB_COMMENTS;


## 컬럼 코멘트
SELECT * FROM USER_COL_COMMENTS;


## DB 객체별 SEGMENT 할당 용량 조회
SELECT * FROM USER_SEGMENTS;

'Database / Sql' 카테고리의 다른 글

[MS-SQL] AUTO COMMIT 해제 방법  (0) 2012.06.12
[Oracle] User 권한 보기  (0) 2012.03.27
[Oracle] DBA_USER 확인  (0) 2012.02.23
[Oracle] SESSION 수 체크  (0) 2012.02.23
[Oracle] LOCK 해제  (0) 2012.02.23
2012. 2. 23. 10:29

[Oracle] DBA_USER 확인

SELECT *
  FROM DBA_USERS
 WHERE DEFAULT_TABLESPACE NOT IN ('SYSAUX','SYSTEM');

'Database / Sql' 카테고리의 다른 글

[Oracle] User 권한 보기  (0) 2012.03.27
[Oracle] DATA DICTIONARY VIEW  (0) 2012.02.29
[Oracle] SESSION 수 체크  (0) 2012.02.23
[Oracle] LOCK 해제  (0) 2012.02.23
[Oracle] 쿼리문 처리 과정  (0) 2012.02.16
2012. 2. 23. 10:22

[Oracle] SESSION 수 체크

SELECT COUNT(*)
  FROM V$SESSION A, V$PROCESS B
 WHERE A.PADDR=B.ADDR;


SELECT COUNT(*)
  FROM V$SESSION A, V$PROCESS B
 WHERE A.PADDR=B.ADDR
   AND A.SCHEMANAME = 'TABLE_NAME';

'Database / Sql' 카테고리의 다른 글

[Oracle] DATA DICTIONARY VIEW  (0) 2012.02.29
[Oracle] DBA_USER 확인  (0) 2012.02.23
[Oracle] LOCK 해제  (0) 2012.02.23
[Oracle] 쿼리문 처리 과정  (0) 2012.02.16
[Oracle] USER_SOURCE  (0) 2011.12.27