시스템 -> 시스템 보호-> 고급 -> 환경변수 -> 시스템 변수의 path 에
C:\oraclexe\app\oracle\product\10.2.0\server\BIN; 추가
C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN
C:\Documents and Settings\Administrator>cd\
C:\>sqlplus /nolog
로그인없이 SQL*PLUS 접속 (접속은 하되 로그인은 하지 않는다 [/nolog])
SQL*Plus: Release 10.2.0.1.0 - Production on 화 11월 16 10:41:26 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> show user 현재 접속된 유저확인
USER은 ""입니다 현재 유저를 접속하지 않아서 유저가 ""로 표기됨
SQL>
SQL> connect scott/dbatiger
연결되었습니다.
connect라는 명령어로 DB접속 사용자 scott, 비밀번호 dbatiger , 반드시 "/"기호사용
SQL>
SQL> connect sys/java302$ as sysdba
연결되었습니다.
connect라는 명령어로 관리자로 DB에 접속 as sysdba
SQL>
SQL> shutdown immediate
현재 진행중인 transaction은 rollback 시켜라
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
마운트의 사전적의미는 저장장치를 접근할 수 있는 경로를 디렉터리 구조에 편입시키는 작업을 말한다.
DB가 닫히고 마운트가 해제되었다는 것은 내 서버(Server)에 접근을 막았다는 의미~
ORACLE 인스턴스가 종료되었습니다.
Oracle Istance는 정적으로 메모리의 일정 공간을 차지하며, Oracle 프로세스로 구성
SQL>
SQL> connect sys/java302$ as sysdba
휴지 인스턴스에 접속되었습니다.
SQL>
SQL> startup 오라클서버 구동
ORACLE 인스턴스가 시작되었습니다.
Total System Global Area 272629760 bytes
Fixed Size 1248504 bytes
Variable Size 79692552 bytes
Database Buffers 188743680 bytes
Redo Buffers 2945024 bytes
데이터베이스가 마운트되었습니다.
데이터베이스가 열렸습니다.
SQL>
SQL>
SQL> show user
USER은 "SYS"입니다
SQL>
SQL> select status from v$instance;
현재 사용자가 소유한 Object 목록 확인
Select 칼럼 이름, from 데이블 이름 ;
STATUS
------------
OPEN
SQL> connect scott/dbatiger scott라는 사용자가 연결되고 sys는 자동으로 연결해제
연결되었습니다.
SQL>
SQL> show user
USER은 "SCOTT"입니다
SQL>
SQL> connect hr/asd 기존 scott 사용자를 연결해제하고 hr이라는 사용자로 연결
ERROR:
ORA-28000: the account is locked 비밀번호 오류 메시지
경고: 이제는 ORACLE에 연결되어 있지 않습니다.
SQL>
SQL>
SQL> connect sys/java302$ as sysdba 사용법: CONN [로그온] [AS {SYSDBA|SYSOPER}]
연결되었습니다. 관리자로 접속 sys
SQL>
SQL> alter user hr account unlock; hr라는 계정으로 사용자변경
사용자가 변경되었습니다.
SQL>
SQL> alter user hr identified by dbalion; hr 계정에 비번 dbalion으로 등록
사용자가 변경되었습니다.
현재 사용자는 sys와 hr로 2개의 사용자가 등록되어 있음
SQL>
SQL> connect hr/dd
ERROR:
ORA-01017: invalid username/password; logon denied 사용자와 비밀번호가 틀렸다는 오류 메시지
경고: 이제는 ORACLE에 연결되어 있지 않습니다. 위에 오류로 사용자가 비어있음
SQL>
SQL>
SQL> connect sys/java302$ as sysdba 관리자로 접속
연결되었습니다.
SQL>
SQL> alter user hr identified by dbalion; - " ; "를 써야함
사용자가 변경되었습니다.
SQL>
SQL> show user
USER은 "SYS"입니다
SQL>
SQL> connect hr/dbalion
연결되었습니다.
SQL>
SQL> show user
USER은 "HR"입니다
SQL>
SQL> connect sys/java302$ as sysdba
연결되었습니다.
hr이라는 계정은 연결이 해제되고 sys라는 관리자로 다시 접속
SQL>
SQL> show user
USER은 "SYS"입니다
SQL>
SQL> cls
SP2-0042: 알 수 없는 명령어 "cls" - 나머지 줄 무시.
SQL>
SQL> host 잠시 운영체제로 가는 명령어 운영체제에서 다시 돌아오려면 exit로 돌아온다
Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
C:\>
C:\>exit
SQL> host dir host를 쓰고 명렁어를써도 SQL상에 표시됨
SQL>
SQL> disconnect 접속된 사용자의 접속끊기
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options에서 분리되었습니다.
SQL>
SQL> host ipconfig c:\상의 명령어 ipconfig를 실행
Windows IP Configuration
Ethernet adapter 로컬 영역 연결:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 220.76.176.81
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 220.76.176.254
SQL>
SQL>
SQL> create user moonsuhoidentified by suho0114;
moonsuho라는 사용자를 생성 비밀번호 suho0114
사용자가 생성되었습니다.
SQL>
SQL> show user 아직까진 moonsuho라는 사용라를 connect하지 않음
USER은 "SYS"입니다
SQL>
SQL> grant create session to moonsuho; 접속이 안되어서 권한부여
Session 사용자가 사용자 아이디와 암호를 사용하여 오라클서버에 접속함에 따라 생성되는 일종의 연결
Grant를 명렁어로 moonsuho 라는 사용자에게 권한을 부여함
권한이 부여되었습니다.
SQL>
SQL> show user
USER은 "SYS"입니다
SQL>
SQL> conn moonsuho/suho0114 moonsuho를 사용자로 접속
연결되었습니다.
SQL>
SQL> show user
USER은 "MOONSUHO"입니다 관리자 sys의 접속을 해제하고 moonsuho라는 사용자로 접속
SQL>
SQL> select * from global_name; 전역 데이터베이스 이름을 확인하기
GLOBAL_NAME
-------------------------------------------------------------------------------
JAVA81.IEI.OR.KR
SQL>
SQL> host cls 화면정리 명렁어
======================================================
원격 오라클 서버에 접속하는 방법
=======================================================
- 오라클 서버에서 해야 할 일
1-1. 리스너 서비스(Listener Service)가 구동 중인지 확인해야 한다.
손님 나이트 클럽
삐끼 웨이터 (일반, 전담)
오라클사용자(클라이언트) 오라클 서버
리스너 서비스 (Listener Service) 오라클 서버 서비스 (Oracle Server Service)
- 공유서버(Shared Server) , 전용서버(Dedicated Server)
네트워크를 이용하여 클라이언트에서 오라클 서버로 연결하기 위한 오라클 네트워크 관리자이다. 만약 로컬 데이터베이스가 아니고 네트워크로 연결된 원격 데이터베이스 서버에 연결하려면 원격 데이터베이스 서버는 그 리스너를 기동해야 한다. 즉, 서버가 클라이언트의 요청을 들을 수 있도록 그 리스너를 시작하는 것이다. 이러한 리스너의 시작과 종료, 또 그 상태를 확인하는 오라클 데이터베이스 관리 툴이 바로 오라클 리스너(lsnrctl)이다.
리스너 서비스 작동여부 확인 (삐끼가 잘 활동하는지 확인)
SQL> host
Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
C:\>lsnrctl status 리스너 서비스의 현재 상태를 조회하는 것이다.
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 16-11월-2010 12:01:17
Copyright (c) 1991, 2005, Oracle. All rights reserved.
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))에 연결되었습니다
리스너의 상태
------------------------
별칭 LISTENER
버전 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
시작 날짜 16-11월-2010 10:39:02
업타임 0 일 1 시간. 22 분. 18 초
트레이스 수준 off
보안 ON: Local OS Authentication
SNMP OFF리스너 매개변수 파일 C:\oracle\product\10.2.0\db_1
\network\admin\listener.ora
리스너 로그 파일 C:\oracle\product\10.2.0\db_1\network\log\listener.log
끝점 요약 청취 중...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=class302-10)(PORT=1521)))서비스 요약...
"PLSExtProc" 서비스는 1개의 인스턴스를 가집니다.
"PLSExtProc" 인스턴스(UNKNOWN 상태)는 이 서비스에 대해 1 처리기를 가집니다.
"java81.iei.or.kr" 서비스는 1개의 인스턴스를 가집니다.
"java81" 인스턴스(READY 상태)는 이 서비스에 대해 1 처리기를 가집니다.
"java81XDB.iei.or.kr" 서비스는 1개의 인스턴스를 가집니다.
"java81" 인스턴스(READY 상태)는 이 서비스에 대해 1 처리기를 가집니다.
"java81_XPT.iei.or.kr" 서비스는 1개의 인스턴스를 가집니다.
"java81" 인스턴스(READY 상태)는 이 서비스에 대해 1 처리기를 가집니다.
명령이 성공적으로 수행되었습니다- 정상적으로 수행되었다.
C:\>
C:\>lsnrctl status > d:\오라클수업\리스너상태보기.txt -> 결과물이 txt파일로 저장됨
C:\>
C:\>lsnrctl stop 리스너서비스를 중지시키는 것이다.
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 16-11월-2010 12:07:25
Copyright (c) 1991, 2005, Oracle. All rights reserved.
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))에 연결되었습니다
명령이 성공적으로 수행되었습니다
C:\>
C:\>lsnrctl status 리스너서비스를 상태를 다시확인
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 16-11월-2010 12:08:24
Copyright (c) 1991, 2005, Oracle. All rights reserved.
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))에 연결되었습니다
TNS-12541: TNS:리스너가 없습니다.
TNS-12560: TNS:프로토콜 어댑터 오류
TNS-00511: 리스너가 없습니다.
32-bit Windows Error: 2: No such file or directory
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=class302-10)(PORT=1521)))에 연결되었습니다
TNS-12541: TNS:리스너가 없습니다.
TNS-12560: TNS:프로토콜 어댑터 오류
TNS-00511: 리스너가 없습니다.
32-bit Windows Error: 61: Unknown error
C:\>
C:\>
C:\>lsnrctl start 리스너서비스를 시작(구동)하는 것이다.
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 16-11월-2010 12:09:33
Copyright (c) 1991, 2005, Oracle. All rights reserved.
시작 tnslsnr: 잠시만 기다리세요...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
시스템 매개변수 파일은 C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
입니다
C:\oracle\product\10.2.0\db_1\network\log\listener.log (으)로 로그 메시지를 기록
했습니다
리스닝이: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
리스닝이: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=class302-10)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))에 연결되었습니다
리스너의 상태
------------------------
별칭 LISTENER
버전 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produc
tion
시작 날짜 16-11월-2010 12:09:36
업타임 0 일 0 시간. 0 분. 3 초
트레이스 수준 off
보안 ON: Local OS Authentication
SNMP OFF리스너 매개변수 파일 C:\oracle\product\10.2.0\db_1
\network\admin\listener.ora
리스너 로그 파일 C:\oracle\product\10.2.0\db_1\network\log\listener.log
끝점 요약 청취 중...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=class302-10)(PORT=1521)))
서비스 요약...
"PLSExtProc" 서비스는 1개의 인스턴스를 가집니다.
"PLSExtProc" 인스턴스(UNKNOWN 상태)는 이 서비스에 대해 1 처리기를 가집니다.
명령이 성공적으로 수행되었습니다
C:\>
C:\>
만약에 오라클서버의 IP 주소가 변경되어지만 반드시 리스너서비스를 수정해서 구동하도록 해주어야 한다.
%oracle_home% \NETWORK\ADMIN\ listener.ora
위, 아래 똑 같은 현재 오라클 홈 주소
C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora "리스너서비스를 구동시켜주는 환경파일"
---------------------------------------------------------------------------------------------------------------------------------
listener.ora 파일의 메모장 내용 listener가 구동되는 환경이 설정되어있는파일
----------------------------------------------------------------------------------------------------------------------------------
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 220.76.176.81)(PORT = 1521))
# IP로 바꾼다
# (ADDRESS = (PROTOCOL = TCP)(HOST = class302-10)(PORT = 1521))
# 원래는 변하지 않는 컴퓨터 이름을 쓴다.
)
)
----------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------
(HOST = 220.76.176.81)와 같이 IP Address를 변경 후 저장한다.
리스너 서비스의 Port Number를 기본값인 1521에서 1523으로 변경하고자 한다.
원래 listener.ora의 내용 (HOST = class302-10)(PORT = 1521)) 에서
(HOST = 220.76.176.81)(PORT = 15213) 변경
리스너 서비스를 중지 했다가 다시 시작해야 한다.
즉, c:\lsnrctl stop c:\lsnrctl start 한다.
====================================================================
컴퓨터 이름 = NetBIOS Name이라 한다 = Host Name 리눅스는 host name라 한다.
Port Number 의 번호는 0 ~ 65535 까지이다.
http => 80
ftp => 21으로 연결, 데이터 주고받는 것은 20
리눅스 기반에 ssh => 22
telnet => 23
smtp => 25
pop3 => 103
https(SSL) = >443
이것만큼은 꼭 외우자!!!!
http://www.iana.org포트넘버가 나오는 싸이트 꼭 기억하기!!!
실제주소 http://www.iana.org/assignments/port-numbers기억하기!!!
IP Address:Port Number eSocket 이라 부른다.
====================================================================
Telnet 220.76.176.81 (IP주소) port 번호
텔넷접속~
나갈때는 Ctrl + ] 누르면 c:\ 로 나올 수 있다.
C:\>
C:\>telnet 220.76.176.81 1521
"PLSExtProc" 서비스는 1개의 인스턴스를 가집니다.
"PLSExtProc" 인스턴스(UNKNOWN 상태)는 이 서비스에 대해 1 처리기를 가집니다.
명령이 성공적으로 수행되었습니다
telnet 접속완료
Ctrl + ] 누른 후 q를 누르면 다시 c:\로 나옴
손님 나이트 클럽
삐끼 웨이터 (일반, 전담)
오라클사용자(클라이언트) 오라클 서버
리스너 서비스 (Listener Service) 오라클 서버 서비스 (Oracle Server Service)
- 공유서버(Shared Server) , 전용서버(Dedicated Server)
- 오라클 클라이언트에서 애야 할 일 (어느 오라클서버 즉, 어디 나이트로 가야할지…)
1-1. 연결해야 할 원격 오라클서버가 어디인지 설정해 주어야 한다.
즉, 어떤 원격 오라클서버에 붙을 것인가를 설정해 주어야 한다.
C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora 파일이 어디에 갈 것인가
%oracle_home% \NETWORK\ADMIN\tnsname.ora
---------------------------------------------------------------------------------------------------------------------------------
tnsname.ora 파일의 메모장 내용
---------------------------------------------------------------------------------------------------------------------------------
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
JAVA81 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = class302-10)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = java81.iei.or.kr)
)
)
JAVA80 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 220.76.176.80)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = java80.iei.or.kr)
)
)
# JAVA81은 내 컴퓨터 네트서비스명이고, JAVA80는 상대방 즉, 내가 연결하고자 하는 컴퓨터의 네트서비스명
# moonsuho를 네트서비스명 (Net Service Name) 이라고 부른다.
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
-----------------------------------------------------------------------------------------------------------------------------------
생성되어진 네트서비스명이 제대로 작동하는지 아닌지를 테스트한다.
아래와 같이…
C:\>tnsping JAVA80 3 3번 확인하라는 뜻이다.
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 16-11월-
2010 14:49:41
Copyright (c) 1997, 2005, Oracle. All rights reserved.
사용된 매개변수 파일:
C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
별칭 분석을 위해 TNSNAMES 어댑터 사용
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 220.76.1
76.80)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = java80
.iei.or.kr)))
확인(30밀리초)
확인(10밀리초)
확인(20밀리초)
C:\>
C:\>
C:\>
C:\>
C:\>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 화 11월 16 15:07:15 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn moonsuho/suho0114
연결되었습니다.
SQL>
SQL> show user
USER은 "MOONSUHO"입니다 moonsuho 라는 사용자를 연결
SQL>
SQL> select * from global_name; 전역 데이터베이스 이름을 확인하는 문구
GLOBAL_NAME
--------------------------------------------------------------------------------
JAVA81.IEI.OR.KR
SQL>
SQL> conn moonsuho/suho0114
연결되었습니다.
SQL>
SQL> conn moonsuho/suho0114@java81
네트서비스명이 JAVA81이 moonsuho라는 사용자 계정에 연결되었습니다. (내컴퓨터에 내가연결)
SQL>
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
JAVA81.IEI.OR.KR
SQL>
SQL>
SQL> conn kimsungjin/java302@moonsuho
연결되었습니다.
SQL>
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
JAVA80.IEI.OR.KR
SQL>
SQL> exit
ERROR:
C:\>
C:\>
C:\>tnsping kimsungjin
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 16-11월-
2010 15:18:39
Copyright (c) 1997, 2005, Oracle. All rights reserved.
사용된 매개변수 파일:
C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
TNS-03505: 이름 처리에 실패했습니다
C:\>
C:\>
C:\>tnsping moonsuho
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 16-11월-
2010 15:22:03
Copyright (c) 1997, 2005, Oracle. All rights reserved.
사용된 매개변수 파일:
C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
별칭 분석을 위해 TNSNAMES 어댑터 사용
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 220.76.1
76.80)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = java80
.iei.or.kr)))
확인(0밀리초)
C:\>
C:\>
'DataBase > Oracle' 카테고리의 다른 글
[Oracle Database] MSSQL 날짜 변환 (0) | 2013.02.13 |
---|---|
[Oracle Database] 날짜표현 방법 (0) | 2013.02.13 |
[Oracle Database] Decode함수 사용법 (0) | 2013.02.13 |
[Oracle Database] 테이블 삭제 (0) | 2013.02.13 |
[Oracle Database] MERGE INTO구문 사용법 (0) | 2013.02.13 |