작은 공간,하지만 꿈이있는...

크리에이티브 커먼즈 라이선스
Creative Commons License


4월 9일 Oracle + Sun Transforming the Industry 있었습니다
뒤늦게 알아서 가진 못했지만 김재벌님 블로그
(http://solatech.tistory.com) 에서
인상적인 사진 보았습니다





"우리는 이기기 위해 이 자리에 왔습니다." 참 인상 깊네요~
저 문구를 보면서 갑자기 아래의 문구가 떠올랐습니다 



오라클 사이트에 어느곳에서 손쉽게 볼수있는 문구이죠.

ORACLE / SUN 둘다 좋아하는 벤더사로써 정말 멋있으며
Larry Ellison 회장의 자신감에 더욱더 믿음이 가네요
 
저작자 표시 비영리 동일 조건 변경 허락
Posted by FKF_태랑
Oracle l 2010/05/08 02:06
TAG oracle, SUN

TRACKBACK :: http://www.commit.co.kr/trackback/89 관련글 쓰기

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License



order by 나 Goup by 등의 정렬이 필요로 하는 부분이 발생되면
우선 pga영역에서 sort(정렬)작업을 하게 됩니다

pga의 sort area의 용량을 넘어건 정렬작업은 디스크를 이용하여
하게 되는데 이때 사용되것이 임시 테이블스페이스 입니다

따라서 반드시 존재해야하는 테이블스페이스 이죠


임시테이블 스페이스의 종류부터 애기하자만

- 일반테이블의 임시테이블스페이스화 이용
- 임시 테이블 스페이스
- 지역 관리 임시테이블 스페이스
   (Locally Management Temporary Tablespace)

각각의 차이을 확인해 보면

- extent 활당해체
 일반 테이블스페이스 : SMON에 의해수행됨
 임시 테이블스페이스 : 수행하지않음
 지역관리 임시테이블스페이스 : 수행하지않음

 : 일반 테이블스페이스를 임시테이블스페이스로 사용하게 되면
 유저 별로 임시 segment를 생성하여 사용하게되어 sort작업 종료시
 임시 segment를 활당해체하는 작업이 동반하게 됩니다
 세그먼트 활당해제는 SMON 백그라운드에 의해 수행됩니다

임시테이블스페이스와 지역관리 임시테이블스페이스는
하나의 임시 세그먼트를 모든 유저가 공유하여 sort 작업을
하기에 임시 segment 활당해제는 하지 않습니다



- Disk access 방식 
 일반 테이블스페이스 와 임시테이블스페이스 둘다 일반적인 access
 지역관리 임시테이블 스페이스는 Direct access 방식사용

:  PGA의 sort area 사이즈를 넘어선 sort작업시 임시테이블스페이스를
이용시에 일반 테이블 스페이스와 임시테이블 스페이스는 SGA의
데이터 버퍼캐쉬를 경유해 유저 프로세스에게 전달 됩니다

하지만 지역관리 임시테이블스페이스는 SGA를 이용하지않고
유저 프로스세스와 Direct Access를 수행할수 있어 속도가빠르고
부하를 줄일수 있습니다



- 복구
일반 테이블스페이스 : 복구 필요
임시 테이블스페이스 : 복구 필요
지역관리 임시테이블스페이스 : 복구 불필요

: 임시 테이블스페이스는 실질적인 데이터가 저장되어있지않지만
 장애로 인한 복구시 임시 테이블스페이스도 복구를 수행하게 됩니다
그로인해 복구시간이 증가 하게 됩니다

그로인하여 오라클은 지역관리 임시테이블스페이스에 대해서는
장애시 복구를 수행하지않아도 DB를 복구 할수있도록 되어있고
DB복구후 임시테이블스페이스를 재생성만 하면 됩니다

위의 예와 여러가지 측면에서 임시 테이블스페이스는
지역관리 임시테이블스페이스로 생성하는것이 좋습니다

http://dbsecurity.egloos.com/9430985 참고한 쿼리를
수행하면 Temporary Tablespace의 용량과 방식등의 정보를 알수있는데요



쿼리를 수행하게 되면 아래 스크린샷과 같이 확인 할수 있습니다(클릭하면 크게보임)


기본적으로 생성이 되어있는 Temporary Tablespace가
Locally Management  방식으로 생성되어있는것을 확인할수 있습니다



임시 테이블 스페이스 생성
위에서 애기한것처럼 extent방식을 지역관리 방식으로 생성하게 되면

Extent 크기 자동활당 방식
SQL> create temporary tablespace temp2
tempfile '/home/oracle/oradata/testdb/temp2.dbf' size 100m
extent management local autoallocate;

Extent 크기 동일
SQL> create temporary tablespace temp2
tempfile '/home/oracle/oradata/testdb/temp2.dbf' size 100m
extent management local uniform size 1m;


기본 임시 테이블 스페이스 변경
SQL> alter database default temporary tablespace temp2;

변경 확인
SQL> select * from database_properties where property_name like '%TEMP%';


Temporary Tablespace 삭제
SQL> drop tablespace temp2;
drop tablespace temp2
*
ERROR at line 1:
ORA-12906: cannot drop default temporary tablespace


SQL> drop tablespace temp;

Tablespace dropped.



블로그 내용 다운받기


페도라 한국 사용자 모임

페도라 한국 사용자 모임 태랑의 포스팅글입니다
  파이어폭스에 최적화 되어있습니다


이 포스트가 유용하셨다면 구독하세요 Add to Google

블로그코리아에 블UP하기

저작자 표시 비영리 동일 조건 변경 허락
Posted by FKF_태랑
Oracle l 2010/04/17 18:58

TRACKBACK :: http://www.commit.co.kr/trackback/83 관련글 쓰기

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License


--- 10046 Trace Event (7.3 이상)

 

level 0 : SQL_TRACE=FALSE 와 동일.

level 1 : SQL_TRACE=TRUE 와 동일 일반적인 Trace 정보 제공(default)

level 4 :level 1 + bind 변수 정보

level 8 : level 1 + wait event 정보

level 12 : level 1 + bind 변수 + wait event 정보

 

 

--- event 활성화

alter session set SQL_TRACE=TRUE;   
/*
밑에서 events 를기술해줘서 레벨12를주면
/*  SQL_TRACE=true 를안줘도 된다


alter system set SQL_TRACE=TURE;   
/* system
단위로 변경하게 되면 시스템부하가 심각할수 있음



ALTER SESSION SET EVENTS '10046 trace name context = forever, level 12' ;


alter session set tracefile_identifier='mytrace';      
/*  User Trace
를 찾기 쉽게 네이밍 한다.

 

 

--- SQL 실행

SELECT * FROM sales

WHERE time_id ='16-DEC-98' AND cust_id=2000;

 

 

--- event 비활성화         

alter session set SQL_TRACE=FALSE;

ALTER SESSION SET EVENTS '10046 trace name context off';

 

 

--- 생성된 trace file 확인

 admin/db_sid/udump mytrace.trc 이름으로 위치해 있습니다

udump위치를 모르면 show parameter user_dump  로 알수있습니다

 


혹은 아래 쿼리로 파일을 조회할수 있습니다

 

col "User Trace File" format a70

 

SELECT = d.value||'/'||lower(c.instance_name)||'_ora_'||b.spid||'.trc' "User Trace File"

FROM v$session a, v$process b, v$instance c, v$parameter d,

(select * from v$mystat where rownum =1) e

WHERE a.paddr =b.addr AND a.sid = e.sid AND d.name = 'user_dump_dest' ;

 

 

User Trace File

-----------------------------------------------------

/home/oracle/admin/testdb/udump/testdb_ora_2839.trc

 



 --- trace file
변환 및 조회

 
tkprof tracefile outputfile sys=no explain=유저/비밀번호

 

 -- tracefile : 생성된 유저 trace 파일이름

 -- outputfile : TKPROF 수행후 출출 되는 파일이름

 -- sys : 대상 SQL을 수행하기 위해 오라클이 내부적으로

수행하는 SQL에 대한 정보 추출여부

 -- expain : 추출하길 원하는 대상 지정

 


포스팅 다운받기  




페도라 한국 사용자 모임

페도라 한국 사용자 모임 태랑의 포스팅글입니다
  파이어폭스에 최적화 되어있습니다


이 포스트가 유용하셨다면 구독하세요 Add to Google

블로그코리아에 블UP하기

저작자 표시 비영리 동일 조건 변경 허락
Posted by FKF_태랑
Oracle l 2010/04/14 15:59
TAG oracle

TRACKBACK :: http://www.commit.co.kr/trackback/80 관련글 쓰기

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License



네이x Prodba 에서 구한 자료입니다






페도라 한국 사용자 모임

페도라 한국 사용자 모임 태랑의 포스팅글입니다
  파이어폭스에 최적화 되어있습니다


이 포스트가 유용하셨다면 구독하세요 Add to Google

블로그코리아에 블UP하기

저작자 표시 비영리 동일 조건 변경 허락

'Oracle' 카테고리의 다른 글

temporary tablespace(임시 테이블 스페이스)  (0) 2010/04/17
ORACLE 10046 trace event 생성  (0) 2010/04/14
ORACLE 10g Hidden Parameter  (0) 2010/04/14
ORACLE DB link의 생성과 삭제  (0) 2009/11/29
create database 시 undo 설정  (0) 2009/11/25
썬서버사면 오라클이 공짜?  (0) 2009/11/02
Posted by FKF_태랑
Oracle l 2010/04/14 15:42
TAG oracle

TRACKBACK :: http://www.commit.co.kr/trackback/79 관련글 쓰기

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License



dblink 를 생성전 tnsnames.ora 에서 추가합니다

 

리눅스기준

$ORACLE_HOME/network/admin  위치에 tnsnames.ora 파일이 있습니다


db_alias =

  (DESCRIPTION =

          (ADDRESS = (PROTOCOL = TCP)(HOST = 접속하려는곳주소)(PORT = 1521))

                     (CONNECT_DATA =

               (SERVER = DEDICATED)

       (SERVICE_NAME = 접속대상DB SID)

                             )  

                         )

 

db_alias testdb2 로 지정하고 접속할주소는 testdb2.com 이며 해당 db SID orcl 이라면

 

아래와같이 추가 해주면 됩니다


testdb2
=

  (DESCRIPTION =

          (ADDRESS = (PROTOCOL = TCP)(HOST = testdb2.com)(PORT = 1521))

                     (CONNECT_DATA =

               (SERVER = DEDICATED)

       (SERVICE_NAME = orcl)

                             )  

                         )



DB LINK 생성

  CREATE [PUBLIC] DATABASE LINK link_name

         [CONNECT TO CURRENT_USER]

         [USING 'connect_string']

      


 
CREATE DATABASE LINK <link_name>

  CONNECT TO <연결하고자 하는 user>
IDENTIFIED BY <
연결하고자 하는 user password>

  USING '원격 db alias'

  

이렇게 생성하면 생성한 유저만 이용이 가능하며 동일한데



아래와 같이 public 옵션이들어가면 누구나 이용가능하게 된다

 

CREATE PUBLIC DATABASE LINK <link_name>

  CONNECT TO <연결하고자 하는 user>
IDENTIFIED BY <
연결하고자 하는 user password>

USING '원격 db alias'



삭제시에도 생성된 형태에 따라 삭제 방법이 약간 다릅니다

누구나 사용이 가능한 public 형태로 존재 한다면


drop public database link db_link
이름;

 

 

 

생성된 사용자만 이용가능한 private 하게 되어있다면

해당유저로 접속해서


drop database link db_link
이름;           하면 됩니다

 


일반 유저가 DB LINK 생성권한 부여

grant create database link to 유저명;


 

data dictionary 에서 자세한 내용 조회 가능합니다


select * from dba_db_links;


간단한 사용법은
select 컬럼명 from
테이블명@db_link


포스팅 다운로드





페도라 한국 사용자 모임

페도라 한국 사용자 모임 태랑의 포스팅글입니다
  파이어폭스에 최적화 되어있습니다


이 포스트가 유용하셨다면 구독하세요 Add to Google

블로그코리아에 블UP하기

저작자 표시 비영리 동일 조건 변경 허락
Posted by FKF_태랑
Oracle l 2009/11/29 21:55

TRACKBACK :: http://www.commit.co.kr/trackback/74 관련글 쓰기

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License



초기화 파라미터 환경구성

  ① UNDO_MANAGEMENT

    - 테이타베이스의 Undo 모드를 자동 모드로 사용 할지 수동 모드를
     사용할지 여부를 결정 합니다.    

    - AUTO 또는 MANUAL 값 중 하나로 설정할 수 있으며 초기화 파라미터
      파일에서 설정해야 합니다.

    - 데이터베이스가 운영중에는 UNDO_MANAGEMENT 를 동적으로 
      변경할 수 없습니다.

    - AUTO로 설정하게 되면 데이터베이스는 자동 Undo 관리 모드로
      설정되며 undo 테이블스테이스가 필요합니다.


파리미터상 예문
undo_management=AUTO 
혹은 
undo_management=MANUAL




  ② UNDO_TABLESPACE

    - 사용할 특정 UNDO 테이블스페이스를 지정 합니다.

    - 최소한 하나의 UNDO 테이블 스페이스 생성이 필요 합니다.

    - 초기화 파일에서 설정하거나 데이터베이스의 운영중에도 ALTER SYSYTEM 명령을 사용하여 동적으로 변경할 수 있습니다.


파라미터상 예문
undo_tablespace=UNDOTBS1




  ③ UNDO_RETENTION

    - 일관성 읽기를 위해 제공되는 Undo 데이타의 보유 기간을 결정합니다.

    - 초기화 파일에서 설정하거나, ALTER SYSTEM 명령을 사용하여
     동적으로 수정할 수 있습니다.

    - 이 parameter는 초 단위로 지정됩니다. 기본값은 900초이며, 이는
       Undo 데이타를 15분 동안 보유합니다.

   ※ UNDO_RETENTION을 설정한 후에도 UNDO 테이블스페이스의 크기가
     너무 작으면 지정한 시간 동안 Undo 데이타가 보유되지 않습니다.

      UNDO_RETENTION 파라미터는 현재 Undo 테이블스페이스에 UNDO_RETENTION 기간 동안 발생하는 모든 트랜잭션을 수용할 수 있을 만큼 충분한 커야 합니다.


  ④ UNDO_SUPPRESS_ERRORS

    - 이 파라미터를 사용하면 자동 Undo 관리 모드에서 수동 관리 모드 작업 시 에러가 발생하는 것을 방지합니다.

      즉, ALTER ROLLBACK SEGMENT ONLINE, SET TRANSACTION USE ROLLBACK SEGMENT 문을 수행하면 ORA-30019 에러가 발생하는 것을 방지합니다.

* 9i 로 오면서 undo 세그먼트에 대한 명령어가 바꼈기 때문에 발생하는 에러를 막아줍니다.  
* 8i 시절 사용자들이 9i 에서 8i 의 명령어를 사용할 경우 발생하는 에러를 막아주는 파라미터 값




3,4은 파라미터에 기술하지않아도 데이터베이스는 생성됩니다

수동으로 데이터 베이스 생성시

 create database testdb
   undo tablespace UNDOTBS1
  datafile ’/home/oracle/oradata/testdb/undotbs01.dbf’ SIZE 150M
 autoextend on maxsize unlimited



참조 :
http://zinichi.tistory.com/249




페도라 한국 사용자 모임

페도라 한국 사용자 모임 태랑의 포스팅글입니다
  파이어폭스에 최적화 되어있습니다


이 포스트가 유용하셨다면 구독하세요 Add to Google

블로그코리아에 블UP하기

저작자 표시 비영리 동일 조건 변경 허락
Posted by FKF_태랑
Oracle l 2009/11/25 07:51

TRACKBACK :: http://www.commit.co.kr/trackback/73 관련글 쓰기

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License



아침부터 메일한통이 흠짓놀라게 만들었습니다
마치 최신휴대폰 공짜 이런식의 광고메일의 느낌이랄까요

얼마짜리 서버이길래 오라클이 공짜일까 혹은 얼마나 공격적인 마케팅이길래 하고
봤죠

저렴하드라구요(?) ㅡ_ㅡ;;

그러면서 문뜻생각이 드는것이 합병되었다는 소식들었을때 부터 생각했던것이
떠오르더라구요 합병이 완료가 되면 썬 서버에 오라클을 함게 세트 상품식으로
마케팅을해 판매를 촉진시킬거라고... 메일보니 그생각이 문뜩 드네요

둘다 좋아하는 벤더사이고 썬서버의 부활을 바라는 저로써 환영이죠
합병기사나고 HP와 IBM에 많은 타격을 받았으니 이제 슬슬 반격을 해야할
시간이겟죠 암튼 썬 / 오라클 둘다 화이팅 입니다

 

 

 

저작자 표시 비영리 동일 조건 변경 허락
Posted by FKF_태랑
Oracle l 2009/11/02 11:33

TRACKBACK :: http://www.commit.co.kr/trackback/70 관련글 쓰기

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License

운영 중 바로 변경이 가능한 파라미터는 v$parameter에서는
ISSYS_MODIFIABLE
값이 'IMMEDIATE' 'DEFERRED'일 경우입니다

변경 가능한 파라미터 체크 해봅니다

 

SQL> select name,issys_modifiable from v$parameter;

FLASE: static parameter scope=spfile로만 값을 변경 가능합니다

즉 값을 변경해도 이후 startup 시부터 영향을 미칩니다

IMMEDIATE: 값을 변경하면 현재 session부터 바로 영향을 받게 됩니다 .

DEFERRED: 변경된 값이 이후 접속되는 session부터 영향을 줍니다

 

SQL> select name,issys_modifiable from v$parameter

      where issys_modifiable like 'DEFE%'

 

NAME                                           ISSYS_MOD

--------------------------------------------------

backup_tape_io_slaves                  DEFERRED

audit_file_dest                                DEFERRED

object_cache_optimal_size            DEFERRED

object_cache_max_size_percent   DEFERRED

sort_area_size                               DEFERRED

sort_area_retained_size                 DEFERRED

olap_page_pool_size                      DEFERRED

 

7 rows selected.

 

많은 파라미터중 7개만 deferred 가 가능하다는걸 알수 있습니다

 

이중 object_cache_optimal_size 를 변경 해보도록 하겠습니다

object_cache_optimal_size는 캐시 크기가 최대 크기를 초과할 때
세션 객체 캐시를 어느 크기로 축소할 지

지정합니다. 사용 가능한 값: 10K에서 운영 체제 특정 최대값까지입니다.
기본값 : 100K 입니다

 

SYS:RACDB1>show parameter object_cache_optimal_size     

NAME                                                 TYPE           VALUE

------------------------------------ --------------- object_cache_optimal_size                integer        102400

현재는 102400byte -> 100KB 입니다

 

처음에는 scope=both 로 테스트를 하겠습니다
1번 노드에서 204800byte로 변경 하겠습니다

SQL>alter system set object_cache_optimal_size=204800

deferred

scope=both

sid='*'

 

여기에서 중요한점은 deffered옵션을 scope 후에 기입하면 에러가뜹니다

scope 옵션전에 deffered 를 써주어야 합니다

 

변경후 조회 해보면 변경을 시도한 노드1은 그대로 입니다

SYS:RACDB1>show parameter object_cache_optimal_size

NAME                                                 TYPE           VALUE

------------------------------------ ----------- ---

object_cache_optimal_size                integer        102400

 

 

접속해 있던 2번노드에서 조회를 해보면

SYS:RACDB2>show parameter object_cache_optimal_size

NAME                                                 TYPE           VALUE

------------------------------------ ----------------- object_cache_optimal_size                integer        102400

역시 파라미터 변경전 접속되어 있던 세션이라 변경이 적용 되지않았습니다

 

 

2번노드로 다른세션으로 접속을 하고 난후 조회를 해보면

SYS:RACDB2-2>show parameter object_cache_optimal_size

NAME                                                 TYPE           VALUE

------------------------------------ ---------------------object_cache_optimal_size                integer        204800

 

1번노드의 다른세션으로 접속을 하고난후 조회 해보면

SYS:RACDB1-2>show parameter object_cache_optimal_size

NAME                                                 TYPE           VALUE

------------------------------------ --------------------object_cache_optimal_size                integer        204800

 

변경후 접속된 세션부터 deferred 옵션이 적용되어 변경된
파라미터값이 인식되는걸 확인할수 있습니다

 

1번 인스턴스에서 startup force 로 해서 재시작해서
재구동된후에도 파라미터값이 유지되는지 확인

해보겠습니다

 

SYS:RACDB1>startup force

SYS:RACDB1>show parameter object_cache_optimal_size

NAME                                                 TYPE           VALUE

------------------------------------ ------------------- object_cache_optimal_size                integer        204800

 

재시작후에도 파라미터값이 유지됨을 알수 있습니다

 

 

 

다시 원래대로 102400 으로 돌린후 이번에는 scope=spfile 로 해보겠습니다

 

SQL>alter system set object_cache_optimal_size=204800

deferred

scope=spfile

sid='*';

 

변경을 시도한 1번 인스턴스에는 당연히 변경되지않았으며

SYS:RACDB1>show parameter object_cache_optimal_size

NAME                                                 TYPE           VALUE

------------------------------------ -------------------object_cache_optimal_size                integer        102400

 

 

기존에 접속해 있던 2번 노드도 변경이 되지않음을 알수있습니다

SYS:RACDB2>show parameter object_cache_optimal_size

NAME                                                 TYPE           VALUE

------------------------------------ ------------------object_cache_optimal_size                integer        102400

 

 

1번노드의 다른세션에서 새로접속하여 조회를 해보면 새로접속했음에도
값이 변경되지않았음을
알수있으며


SYS:RACDB1-2
>show parameter object_cache_optimal_size             

NAME                                                 TYPE           VALUE

------------------------------------ ---------------------object_cache_optimal_size                integer        102400

 

2번노드의 다른 새롭게 접속한 세션도 값이 변경되지않았음을 확인 할수있습니다

SYS:RACDB2-2>show parameter object_cache_optimal_size             

NAME                                                 TYPE           VALUE

------------------------------------ -----------------------object_cache_optimal_size                integer        102400

테스트 결과로 spfile로 했을때는 deferred 옵션을 써도 세션레벨로
불가하고 재구동이 필요하다는 것을
알수 있습니다

 

 

다시 102400로 돌리고 scope=memory를 테스트해보겠습니다

이번에도 1번노드와 2번노드는 접속되어있는 상태이며 1-2
2-2
세션은 변경후 접속후 확인하겠습니다

 

SQL>alter system set object_cache_optimal_size=204800

deferred

scope=memory

sid='*';

 

변경을 시도했던 1번노드는 값이 변경되지않았습니다

SYS:RACDB1>show parameter object_cache_optimal_size             

NAME                                                 TYPE           VALUE

------------------------------------ ------------------object_cache_optimal_size                integer        102400

 

 

접속되어있던 2번노드도 값이 변경 되지않았습니다

SYS:RACDB2>show parameter object_cache_optimal_size             

NAME                                                 TYPE           VALUE

------------------------------------ ---------------------object_cache_optimal_size                integer        102400

 

새롭게 접속한 1번노드의 다른 세션은 변경된값이 적용받은걸 확인할수 있으며

SYS:RACDB1-2>show parameter object_cache_optimal_size             

NAME                                                 TYPE           VALUE

------------------------------------ ----------- -----

object_cache_optimal_size                integer        204800

 

새롭게 접속한 2번노드의 다른 세션은 변경된 값이 적용됬음을 알수 있습니다

SYS:RACDB2-2>show parameter object_cache_optimal_size             

NAME                                                 TYPE           VALUE

------------------------------------ ----------- ------

object_cache_optimal_size                integer        204800

 

 

이로써 both memory는 새롭게 접속한 세션부터는 변경된
파라미터값을 받을수 있지만

spfile deferred 옵션을 사용해도 재구동이 필요하다는 것을 알수 있습니다


포스팅 다운받기


저작자 표시 비영리 동일 조건 변경 허락
Posted by FKF_태랑
Oracle l 2009/10/30 21:37

TRACKBACK :: http://www.commit.co.kr/trackback/69 관련글 쓰기

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License


직접 오라클서버를 설치하여 SQL*PLUS를 이용하여 접속하거나

오라클 CLIENT툴인 TOAD나 ORANGE등으로 이용하여 사용
접속하는 방법과 같은 오라클사의 instance client를 이용하여
접속하는 방법입니다

서버단에 오라클 서버가 설치되어있는상태에서 telnet이나 ssh로
하여 os접속후 sqlplus 로 접속하는것이 아닌
네트워크 상으로 바로 sqlplus로 접속하는 것입니다

그런 client툴중 오라클사가 제공하는 instance client를 이용해 보죠 

www.oracle.com에 보시면 오른쪽에 있는 다운로드메뉴중
>VIEW ALL DOWNLOADS를 클릭하면




오른쪽에  instance Client라고 있습니다



본인에게 맞는 아키텍처로 선택해주시구요




필히 필요한것이 BASICSQL*PLUS입니다


다운받은후 한곳에 압축을 풉니다

이과정이 귀찮을분을 위해 링크띄웁니다(ㅡ_ㅡ;;)
클릭


먼저 리눅스/유닉스 설치&세팅 방법입니다

/test 라는곳에 압축을 풀었다고 했을때


자신의 쓰는 shell에서 패스 및 library 환경변수를 잡아줘야 합니다
bash쉘기준으로 .bash_profile  를 수정해줍시다
없다면 본인 홈디렉토리에서  vi .bash_profile 로 생성하면 됩니다
(기타쉘은 알아서 ㅡ_ㅡ;;)

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

export PATH
SQL_PLUS=/test; export SQL_PLUS
PATH=$SQL_PLUS:$PATH; export PATH
LD_LIBRARY_PATH=$SQL_PLUS; export LD_LIBRARY_PATH
TNS_ADMIN=/test; export TNS_ADMIN;
NLS_LANG=American_America.KO16KSC5601; export NLS_LANG

자신에 맞게 수정하여 사용하셔도 됩니다.
불펌금지가 되어있음으로 일일이 치기 귀찮을분을위해 위내용
저장되어있는 텍스트 입니다



이제 tnsnames.ora 를 만들어보죠

접속할DB의 SID명=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 접속할곳주소)(PORT = 포트번호-기본 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = 접속할곳SID)
    )
  )

일일이 치기 귀찮을분들을 위해 불펌방지가 되어있음으로
이파일을 받으셔서 수정하시기 바랍니다 



ERROR: ORA-12514: TNS:listener does not currently know of service requested
in connect  descriptor

에러가 난다면
(SERVICE_NAME = 접속할곳SID)  부분을
(SID=접속할곳SID명)  으로 tnsnames.ora 파일을 변경 해주세요



모르신다면 서버쪽에서 $ORACLE_HOME/network/admin
에 listener.ora 를 참조하여 SID와 포트를 알아내시기 바랍니다

윈도우
2개의 파일을 받아서 압축을 한곳에 푼후 임의 곳에 놓습니다 저는 c:\ 에 넣어놓겠습니다
디렉토리명은 instantclient_11_1 이 되겠습니다
c:\instantclient_11_1      <--경로명

환경변수 PATH 추가를 해야합니다
내컴퓨터에서 오른쪽 마우스버튼 클릭   ->  고급  -> 환경변수  -> 시스템 변수
path 에   c:\instantclient_11_1 를 추가 해줍니다  그다음

레지스트리 등록  HKEY_LOCAL_MACHINE\SOFTWARE에 키 추가 : ORACLE

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE에
문자열 추가 : NLS_LANG - .UTF8 (토드에서 한글 깨질 때는 KOREAN_KOREA.KO16MSWIN949)
문자열 추가 : TNS_ADMIN - 설치경로 (여기에 tnsnames.ora 파일 넣어준다.)
문자열 추가 : ORACLE_HOME -  설치경로



그럼접속을 해보죠(tnsnames.ora 이용)


sqlplus id/password@SID


sysdba권한으로 접근하고자 한다면

sqlplus sys@SID as sysdba 치면 비번물어봅니다

그때 sys비번 넣어주면 sysdba권한으로 접속 됩니다

안될때에는 서버쪽 listener.ora에 sid 확인해보시고

lsnrctl status로 리스너 동작하는지 보시고

lsnrctl start 리스너명
으로 올려주신후 접속해보시기 바랍니다


tnsnames.ora 생성하지않고&이용하지않고 접속
sqlplus id/passwd@ip:포트번호/SID(서비스명)
sqlplus scott/tiger@211.111.111.111:1521/testdb


포스팅 다운로드




페도라 한국 사용자 모임

페도라 한국 사용자 모임 태랑의 포스팅글입니다
  파이어폭스에 최적화 되어있습니다


이 포스트가 유용하셨다면 구독하세요 Add to Google

블로그코리아에 블UP하기

?
저작자 표시 비영리 동일 조건 변경 허락
Posted by FKF_태랑
Oracle l 2009/05/17 18:51

TRACKBACK :: http://www.commit.co.kr/trackback/48 관련글 쓰기

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License



아시는분은 아는 저의 Sun사에 대한 무한한 사랑이 드디어 정말 좋은 소식으로

저에게 왔네요
젭알 IBM은 아니야 스팍과 솔라리스가 이 정년 이대로 없어진다는건가!!
이러면서 AIX로 옴겨타야 하는고민까지 해봤던 주인장입니다

오라클DBA준비중이면서 오라클공부중인 저에겐 정말 좋은소식이네요
반 MS진형 벤더사이자 제가 정말좋아하는 두벤더사
끼리의 인수는 좋은 일인듯합니다


정말 확실한 솔루션인 스팍위에 솔라리스를 언고
오직 Java만을위한 Java Pool 버퍼영역을 제공하는
오라클과 자바의 환상적인 퍼포먼스를 기대해봅니다

------------------------------기사 원문 ------------------------------------------
오라클이 썬마이크로시스템즈를 인수한다.

오라클이 약 74억달러에 썬마이크로시스템즈를 인수키로 합의했다고 블룸버그 통신이 20일(현지시간) 보도했다.
주당 인수금액은 9.5달러로 지난 17일 썬마이크로시스템즈의 종가 6.69달러에 약 42%의 프리미엄이 붙은 것이다.

오라클의 사프라 카츠 사장은 "이번 합병이 이뤄지면 첫해에 오라클의 영업이익이
15억달러 늘어나고
두번째 해에는 20억달러 이상늘어날 것"이라며 기대감을 나타냈다.

오라클은 양사의 이사회가 만장일치로 이번 합병을 승인했다며 올 여름에 합병이 완료될것이라고 밝혔다.

이달초 썬마이크로시스템즈는 IBM과의 합병이 성사 직전까지 갔다가 결렬된 바 있다.
(참다행이다)

------------------------------기사원문끝-------------------------------------

http://www.oracle.com/sun/index.html
오라클사 공식 발표

http://www.sun.com/third-party/global/oracle/index.jsp
Sun사 발표





이 포스트가 유용하셨다면 구독하세요 Add to Google



블로그코리아에 블UP하기
저작자 표시 비영리 동일 조건 변경 허락
Posted by FKF_태랑
IT/News! l 2009/04/21 07:56

TRACKBACK :: http://www.commit.co.kr/trackback/40 관련글 쓰기

댓글을 달아 주세요

1 2 



카테고리

전체보기 (89)
넓은 세상의 이야기들 (3)
나의 이야기 (1)
Solaris (15)
Oracle (14)
Linux (41)
JAVA / C / 그외 개발언어 (1)
IT (10)
DB (4)