SQLPLUS에서 외부 스크립트 실행하기
-S : uses silent mode
예) sqlplus -S scott/tiger < /data/script/test.sql
'프로그래밍??? > 오라클' 카테고리의 다른 글
SQL%ROWCOUNT 편리함 ^^ (0) | 2012.04.04 |
---|---|
PLSQL문법 정리 (0) | 2012.04.04 |
프로시저 내에서 트리거 생성 쿼리 (0) | 2012.02.27 |
oracle client를 통한 접속 (0) | 2011.12.07 |
instant client 설치하기 (0) | 2011.12.07 |
프로시저 내에서 트리거 생성 쿼리
'프로그래밍??? > 오라클' 카테고리의 다른 글
SQL%ROWCOUNT 편리함 ^^ (0) | 2012.04.04 |
---|---|
PLSQL문법 정리 (0) | 2012.04.04 |
SQLPLUS에서 외부 스크립트 실행하기 (0) | 2012.04.04 |
oracle client를 통한 접속 (0) | 2011.12.07 |
instant client 설치하기 (0) | 2011.12.07 |
oracle client를 통한 접속
*** 개인적으로 테스트를 위해 윈도우에 오라클을 깔고 테스트를 했다.
*** 마지막 단계에서 막힌것은 방화벽...
*** 고급 설정에서 인바운드의 1521포트를 풀어주면서 해결...
1. Toad 툴을 이용한 접속
PC에 win32_11gR1_client 설치하시면 설치 디렉토리 아래 network/ADMIN이라는 폴더가 생깁니다.
그 아래 들어가면 SAMPLE 이라는 하위 폴더에 tnsnames.ora 라는 파일이 있고
해당화일을 문서편집기로 열어 해당부분을 확인 수정한 후 아래 내용을 추가합니다.
해당이름 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 해당아이피)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 해당sid)
)
)
위 내용을 저장후 내용이 추가된 tnsnames.ora 을 network/ADMIN 폴더를 이동 합니다.
그런 뒤 토드 실행하면 "해당이름"이 자동으로 잡힙니다.
이제 접속 ID,비번을 입력하면 해당 DB를 확인할 수 있습니다.
2. 오라클 Client를 설치 않고 오라클서버 접속
첫번째 방법은 Instant Client를 pc에 설치하고 명령프롬프트 창을 이용한다.
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
오라클 공식 홈페이지에서 다운을 받는다.
▒ Instant Client Package - Basic
▒ Instant Client Package - JDBC
▒ Instant Client Package - SQL*Plus
1.위의 세가지 압축파일을 다운후 폴더를 하나 만들고 같은 폴더에 압축해제한 파일을 모아둔다.
2.Basic을 압축해제하면 oci.dll 이나오는대 이것을 C:\WINNT\SYSTEM32 폴더안에 복사시킨다.
3.파일을 모아둔 디렉토리를 환경변수의 PATH에 등록시킨다.
ex)C:\Ora\instantclient_10_2 이경로를 path에 등록
4.세팅이 끝났으면 시작->실행->cmd로 들어가서 sqlplus를 타이핑해본다.
5.사용자 인증 문자열의 구성은 다음과 같다.
Dos 창에서 다음처럼 서버에 접속합니다. ip는 임의의 ip를 사용했습니다.
C:\sqlplus username/password@mymachine.mydomain:port/service_name
C:\sqlplus dj01/dj01@123.123.100.32:1521/testdb.world
SQL>conn system/manager@123.123.100.32:1521/testdb.world
리눅스에서는 먼저 SHELL 설정을 해주자.
# vi /etc/profile.d/oracle.sh
export ORACLE_HOME=/oracle
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/oracle
export TNS_ADMIN=/oracle
export PATH=$PATH:/oracle
이제 tnsnames.ora 파일을 oracle 디렉토리 안에 넣어주자.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
대부분 chcon.. 어쩌구로 해결가능.. 귀찮으면 아예 꺼버리고 작업해도 된다.
(추가 작업시에 SELINUX를 켜고 작업했을 때 sqlplus를 구동하기 위해서 했던 작업들)
[root@localhost ~]# chcon -t textrel_shlib_t '/oracle/libnnz11.so'
[root@localhost ~]# chcon -t textrel_shlib_t '/oracle/libnnz11.so'
[root@localhost ~]# chcon -t textrel_shlib_t '/oracle/libclntsh.so.11.1'
[root@localhost ~]# chcon -t textrel_shlib_t '/oracle/libsqlplus.so'
[root@localhost ~]# chcon -t textrel_shlib_t '/oracle/libsqlplusic.so'
# sqlplus scott/****@orcl
3. 웹 관리툴 이용한 접속
오라클 데이터베이스에 접속하는 방법(Oracle을 실행하는 방법)
방법1) sqlplus : Telnet 이용(즉, TCPIP, IPX/SPX, LU6.2, AppleTalk등)
방법2) isqlplus : 웹이용(즉, Internet Explorer, Netscape등)
【예제】사용자 oracle로 로그인하여 다음 명령을 실행시킨다.
이미 auto booting script로 isqlplus가 작동중이면 이 예제는 건너 뜀
$ cd bin
$ isqlplusctl start ☜ isqlplus를 시작할 경우
$ isqlplusctl stop ☜ isqlplus를 종료할 경우
$
【예제】
1) iSQLPlus URL
웹브라우저 위치 http://192.168.0.1:5560/isqlplus
2) iSQLPlus DBA URL
웹브라우저 위치
http://192.168.0.1:5560/isqlplus/dba
3) Enterprise manager 10g Database Control URL
웹브라우저 위치
http://192.168.0.1:5500/em
4) Ultra Search URL
웹브라우저 위치
http://192.168.0.1:5620/ultrasearch
5) Ultra Search Administration Tool URL
웹브라우저 위치
http://192.168.0.1:5620/ultrasearch/admin
--------------------------------------------------------------------------------
PORT 번호는 오라클을 설치할 때 결정되는데 이를 확인하려면, $HOME/install/portlist.ini에서 확인할 수 있다.
오라클 Client 설정 - 캐릭터셋 설정하기
regedit 에서...
HKEY_LOCAL_MACHINE/software/oracle/HOME0/ 의
NLS_LANG AMERICAN_AMERICA.US7ASCII
=> 이래야 한글이 안깨져보이네;;
'프로그래밍??? > 오라클' 카테고리의 다른 글
SQL%ROWCOUNT 편리함 ^^ (0) | 2012.04.04 |
---|---|
PLSQL문법 정리 (0) | 2012.04.04 |
SQLPLUS에서 외부 스크립트 실행하기 (0) | 2012.04.04 |
프로시저 내에서 트리거 생성 쿼리 (0) | 2012.02.27 |
instant client 설치하기 (0) | 2011.12.07 |
instant client 설치하기
참조글 : http://oradim.blogspot.com/2009/08/getting-started-with-occi-linux-version_16.html
OCCI(Oracle C++ Call Interface)를 사용하기 위해 오라클의 instance client를 깔고자 했다.
그러나... 말도 안되는 여러 삽질 끝에... 바다가 보내준 저 링크를 따라 했다.
아주 쉽게 되더라. ㅠ.ㅠ
특히, 인터넷에 많이 있는 occi.h는 어디에 있는가에 대한 질문의 답도 있다.
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm<= 여기 들어 있다.
일단 오라클 홈페이지로 가서 세가지를 다운 받는다.
oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm (꼭 받을 필요는 없다. 그러나 쓸만하다. ^^ )
rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm <= 이렇게 해주면 설치 된다.
그러나 여기에도 걸림돌이 하나 있었으니... libaio가 없다고 뜨는 것이었다.
먼지 모르겠는데... 뒤져보니 비동기 io 관련 라이브러리다.
yum install libaio-0.3.105-2.x86_64 <= 이것을 통해서 설치 완료
위의 인스턴스 rpm들을 모두 설치한 후에...
쉘에 몇가지 명령들을 설치한다.
-----------------------------------------------------------------------------------------------------
** vi .bash_profile **
#oracle occi
ORACLE_BASE=/usr/lib/oracle <== 오라클 베이스 디렉토리 설정
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/11.2/client64 <== 오라클 홈 설정
export ORACLE_HOME
export TNS_ADMIN=/usr/lib/oracle/11.2/client64/network <== 개인적으로 만든 디렉토리 tnsnames.ora 파일 위치
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin <== path 추가
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:$ORACLE_HOME/lib <= 라이브러리 링크 디렉토리
export LD_LIBRARY_PATH
-----------------------------------------------------------------------------------------------------
source .bash_profile <== 실행하여 적용 시킨다
바다가 알려준 부분인데 언어 설정부인듯 하다.
아직 정확히 이해하지는 못했다.
-----------------------------------------------------------------------------------------------------
*** vi /etc/profile.d/oracle_env.sh ***
#NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
NLS_LANG=KOREAN_KOREA.KO16MSWIN949
-----------------------------------------------------------------------------------------------------
이정도 해주면 기본적으로 occi를 사용할 기본 환경이 구축된다.
'프로그래밍??? > 오라클' 카테고리의 다른 글
SQL%ROWCOUNT 편리함 ^^ (0) | 2012.04.04 |
---|---|
PLSQL문법 정리 (0) | 2012.04.04 |
SQLPLUS에서 외부 스크립트 실행하기 (0) | 2012.04.04 |
프로시저 내에서 트리거 생성 쿼리 (0) | 2012.02.27 |
oracle client를 통한 접속 (0) | 2011.12.07 |