728x90
반응형
리눅스에 설치된 오라클 접속

리눅스에 오라클을 설치한후에 리눅스에서 오라클 접속이 되는지 확인해 봅시다.

먼저 sysdba에 접속해서 데이타베이스를 구동시킵니다.

Database 의 시작과 종료는 반드시!! Oracle 계정으로 수행해야 합니다.
[root@localhost oracle]# su oracle
[oracle@localhost oracle]$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
[데이타 베이스를 시작합니다.]

또는
[root@localhost oracle]# su oracle
[oracle@localhost oracle]$ sqlplus "/ as sysdba"
SQL> startup
[데이타 베이스를 시작합니다.]


아래는 구동 장면입니다.



반대로 데이타 베이스를 종료하려면
SQL> shutdown 하면 됩니다.

쿼리를 하나 날려봅시다. 현재 오라클 버전 알아내는 쿼리입니다.

SQL> SELECT * FROM v$version;


자이제 구동이 되었으니 아래 정보를 가진 DB로 접속해 봅시다.
(아이디: scott, 비번:tiger, ORACLE_SID:orasid, DB명:ORADB)

1. 지정한 DB에 접속합니다.

$ sqlplus scott/tiger@ORADB

또는

$ sqlplus /nolog
> connect
scott/tiger@ORADB

간단히 ORADB가 디폴트이므로 connect scott/tiger 해도 됩니다.

sysdba에서 버전 확인해 본것처럼 여기서는 무슨 테이블들이 현재 생성되어있는지 봅시다.
SQL> select * from tab;




이렇게까지 확인하신데 성공하였다면 오라클서버룰 모두 성공적으로 설치하신것입니다.

마지막으로, 윈도우에서 vmware로 리눅스를 설치하고 리눅스에 오라클까지 설치하였습니다. 윈도우에서 설치한 오라클에 접속해 봅시다.
이것은 윈도우에서 개발시에 유닉스머신의 오라클에 접속하는것과 똑같은 환경이 만들어 졌다는 얘기입니다.
마음대로 테스트 해볼수 있는 오라클 서버가 생겼네요 기쁘지요?

윈도우에서 접속할수 있게 하려면 아래 4단계 리스너를 실행해서 외부에서 접속할수 있게 합니다.

4. 외부에서 접속할수 있게 하려면
$ lsnrctrl start
이렇게 리스너를 실행해 주면 아래와 같이 나오면서 실행이 됩니다.



5. 리눅스 IP를 확인하고 윈도우에서 ping이 가는지 확인합니다.

핑이 잘가는군요. 그렇다면 리눅스 오라클에 접속할 준비가 되었습니다.

6. C:\ora\network\ADMIN\tnsnames.ora 화일에 아래 내용을 추가합니다.
SID값을 ora9로 했을경우 아래와 같이 수정한다.
물론 페도라설치에서는 ORASID로 했으니 ORASID로 해주시면 됩니다.

LOCAL_ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.192.129)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ora9)
)
)

여기서 또하나의 접속방법이 있는데 글로벌 DB명을 사용하는것인데 아래처럼 하면 됩니다.

LOCAL_ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.192.129)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORASID)
)
)


빨갛게 된 부분만 자신의 환경값으로 변경합니다.
LOCAL_ORACLE는 SCOTT/TIGER@LOCAL_ORACLE 같이 @뒤에 적힌 접속할때 쓰는 이름이므로 아무렇게나 주시고 토드접속시 사용하시면 됩니다.
IP는 아까 ping 쳤을때 아이피를 적으시면 되고 SID는 오라클 설치시 입력한 SID를
입력하면 됩니다. 모르시겠다면 .bashrc 의 ORACLE_SID를 확인해 보십시요.
이것이 같지 않으면 애초에 접속도 안되었을테니 꼭 같을수 밖에 없습니다.

7. 마지막으로 오라클 접속을 위해 토드를 실행합니다.

오른쪽 상단의 Database를 LOCAL_ORACLE 를 선택하고
아이디 패스워드는 scott 와 tiger 를 입력하고 Connect 합니다.

접속이 되었습니다. 빈창이 보일것입니다.
아까 리눅스에서 접속해서 한 쿼리를 똑같이 날려봅시다.

쿼리를 입력후 F9(실행)를 누릅니다.
select * from tab;



테이블 목록이 리눅스에서 본것과 똑같이 나오는군요. 성공하셨습니다.

혹시, ORA-12560: TNS:프로토콜 어댑터 오류 가 난다면 토드나 오라클 문제가 아니다. 보안이 걸려있어서 생긴 문제이다.
토드등에서 이렇게 에러가 난뒤에 리눅스에서 lsrnctl status 해보면 instance가 2개로 늘어나있는것이 보인다. 접속시도는 했다는 증거이다.
이것때문에 하루를 헤맷는데, 이전리눅스에서 방화벽사용을 하지 않았기 때문에 겪어보지 못했기 때문이었다.
해결방안은 X윈도우 메뉴-시스템설정-보안수준에서
그 외의 포트란에 1521:tcp 라고 추가한다. 아래 그림은 추가확인하고 다시 실행하면 1521과 똑같은 LISTENER로 대체된것이다.
/etc/service 에 1521관련해서 다음과 같이 맨 위에다가 추가했줬었다.


Xtel 1313/tcp
LISTENER 1521/tcp
LISTENER 1521/udp
Support 1529/tcp

이제 토드처럼 외부에서 접속할때 오류가 나지 않을것이다.

토드는 오라클의 테이블과 인덱스 등 여타의 기능들을 편하게 사용할수 있게 만든 케이스툴입니다.
따라서 직접 터미널에서 sqlplus로 사용하여도 되지만, 토드같은 케이스툴을 이용하는것도 좋습니다. 다만 sqlplus의 경우에서도 사용하는 법은 기본적으로 알고는있는것이 좋습니다. 우리가 vc++ 같은 툴을 사용해서 개발을 편하게 하지만, gcc나 g++ , xlc 같은 유닉스 머신에서 사용하는 컴파일러 툴을 따로 알아야 하는 것과 마찬가지입니다.

수고하셨습니다.

작성자 : www.geometricTools.net 버찌
복사해 가실경우 출처를 꼭 기재하시길 바랍니다.


728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,