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

크리에이티브 커먼즈 라이선스
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 purityboy
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 purityboy
Oracle l 2009/11/25 07:51

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

댓글을 달아 주세요

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



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

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

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

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

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

 

 

 

저작자 표시 비영리 동일 조건 변경 허락
Posted by purityboy
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 purityboy
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)
    )
  )

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


모르신다면 서버쪽에서 $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 purityboy
Oracle l 2009/05/17 18:51

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

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License
크게 오라클에 접속 하는 방법에는 두가지가 있을 수 있다. 그 중 하나는 텔넷등을 이용해서 운영체제에 먼저 접속을 한후 데이터베이스에 접속하게 되는 경우이고 다른 하나는  툴을(Toad/Golden/Sqlplus) 이용하여 데이터베이스에 직접 접속하는 방법이 있다. 툴을 이용할 경우 오라클 넷을 이용하게 된다.


 오라클 넷은 다음과 같은 특징을 갖는다.

 0. 프로토콜에 독립성
 0. 광범위한 플랫폼 지원
 0. 추적 및 진단 제공
 0. 기본 보안 제공


 이러한 오라클 넷을 사용하기 위해서는 4가지 이름 지정 방식 중 하나를 선택하여야 한다. 보통 로컬 이름 방식이 보편적으로 사용되어 진다.

 이름 지정 방식에는 다음과 같은 4가지가 있다.

 0. 호스트 이름 방식
  :: 대상 DB의 호스트 이름 또는 IP를 이용하여 접속
 
 0. 로컬 이름 방식
  :: 클라이언트에 존재하는 Tnsnames.ora 파일에 등록된 대상 DB의 정보를 이용하여 접속하는 방식이다.
 
 0. 디렉토리 이름 지정 방식
  :: 별도로 존재하는 디렉토리 서버에서 DB의 정보를 모두 관리하는 방식이다.
 
 0. Oracle Names 방식
  :: 오라클에서 제공하는 디렉토리 이름 지정 방식


 오라클 넷을 사용하기 위해서는 다음의 5개의 파일이 필요하다.

 0. ldap.ora
  :: 디렉토리 서비스를 사용할 경우 클라이언트와 DB서버에 존재하며 해당 디렉토리 서버를 액세스 할 수 있는 정보를 저장한다.

 0. names.ora
  ::  Oracle Names 방식의 오라클 디렉토리 이름 지정 방식을 이용할 경우 서버에서 모든 DB 정보를 저장하고 있는 파일이다.

 0. tnsname.ora
  :: 클라이언트에 존재하며, DB의 정보를 저장하고 있는 파일로 로컬 이름 방식을 사용할 경우 이용하게 된다.

 0. listener.ora
  :: DB 서버에 존재하는 파일로 접속을 요청하는 클라이언트와 실제 DB를 연결해 주는 역할을 수행하는 리스터 프로세스의 정보를 저장하는 파일이다.

 0. sqlnet.ora
  :: 클라이언트와 DB 서버 양쪽에 존재하는 파일로 오라클 넷의 옵션 설정 저장

 오라클 넷을 구성하는 파일들은 리눅스/유닉스의 경우 $ORACLE_HOME/network/admin에 존재하며,
Windows의 경우 %ORACLE_HOME%/network/admin 애 존재한다.


 다음은 로컬 이름 방식에서 구조 및 절차이다.


 1) 접속 요청을 하게되면 클라리언트에 유저 프로세스가 생성된다. 해당 유저 프로세스는 그림에서 1과 같이 지정된 위치에 존재하는 tnsnames.ora 파일로 부터 접속하고자 하는 데이터베이스에 대한 정보를 획득한다.
 (tnsnames.ora 파일에는 접속하고자 하는 DB의 서버와 IP, 포트 등 접속을 위한 기본 정보들이 기록 되어 있다.)

 2) 1)에서 획득한 정보로 접속을 시도 하면 listener.ora 파일의 정보를 이용해 미리 기동되어 있는 리스너 프로세스가 그림에서 2와 같이 유저 프로세스 요청을 수신한다.

 3) 리스너 프로세스는 해당 요청을 처리하기 위해 그림에서 3과 같이 서버프로세스를 가동 시킨다.

 4) 리스너 프로세스는 해당 서버 프로세스에 대한 정보를 유저 프로세스에게 전달한다.

 5) 서버 프로세스의 정보를 전달받은 유저프로세스는 리스너와 연결을 끊고 그림에서 5와 같이 서버 프로세스와 직접 통신하면서 작업에 대한 결과를 받는다.

 결국 로컬 이름 방식에서는 클라이언트의 tnsmanes.ora 파일과 DB서버의 listener.ora 파일만 올바르게 설정되고 존재하면 접속이 가능하다.

출처: http://afeleia.tistory.com/55
저작자 표시 비영리 동일 조건 변경 허락
Posted by purityboy
Oracle l 2009/01/18 15:46

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

댓글을 달아 주세요

  1. 김사랑  댓글주소  수정/삭제  댓글쓰기

    김사랑
    블로그 잘 보았습니다. 많은 발전 있으시길 바랍니다. ^-^
    저는 히트나라닷컴 무료홈페이지에서 무료로 블로그를 운영하고 있습니다. 제 블로그도 방문부탁 드립니다.
    제 홈피는 http://cash.u.to 이구요
    무료홈페이지는 http://blog.hnara.com 입니다.

    2009/01/18 21:38

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

오라클을 시작하면서 배우게 되었던 ed기능 임시 버퍼에 기록되어
수정하고 다시 바로 적용할수있는 편한 기능인데 윈도우 환경에서 하다가
유닉스 에서 해보려니 안되는것이 아닌 윈도우와는 다른 방법으로 이용하더라..
하지만 처음에는 몰라서 구글링을 한참 했었던기억이...ㅎㅎ

방법은
sql>ed 치면 프롬프트가 먼가를 치라고 기다리고 있다 그러면

!vi afiedt.buf(기본파일이름 set 으로 다른이름으로 지정해놓았다면 다른이름으로) 하게되면 vi가 열리게 된다 수정후 :wq저장해주고 나와서

q   <--를 눌러주면 다시 오라클로 복귀가 된다 그리고
/   를눌러주면 다시 쿼리가 실행

그럼 저장된 sql파일은 어떻게 수정할까 창하나 더띠워놓고 수정해도 되겠지만
난 @ 파일.sql로 읽어들인다음

sql>ed로 읽어들인다음
!vi afiedt.buf   수정후
save 파일.sql로 저장해버리는 방법을 사용하기도 한다


**수정**
oracle 사용자 .bashrc 나 .bash_profile  이나 /etc/profile  에
export EDITOR=vi   라고 기록해주면
OS 기본 editor가 vi 로 인식되어 ed 를 치면 바로 vi 로 넘어 갑니다





페도라 한국 사용자 모임

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


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

블로그코리아에 블UP하기

저작자 표시 비영리 동일 조건 변경 허락
Posted by purityboy
Oracle l 2009/01/18 14:50

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

댓글을 달아 주세요

1 

카테고리

전체보기 (73)
넓은 세상의 이야기들 (3)
나의 이야기 (1)
Solaris (15)
Oracle (9)
Linux (35)
JAVA / C / 그외 개발언어 (0)
IT (9)
DB (1)