초보의 SQL 기초 - Oracle 접속
오라클 같은 DB는 별도의 서버에 설치하고 다른 서버나 PC에서 telnet이나 SSH로 접속하는 것이 일반적인 경우겠지만, 실습을 위해서 클라이언트 툴(토드, 오렌지 등) 없이 도스 프롬프트에서 sqlplus를 실행시키는 방법에 대해 알아본다.
Sqlplus로 접속하기
sqlplus를 통해 오라클에 로그인하기 위한 명령어는 아래와 같다.
> sqlplus [계정명]/[계정 패스워드][@<connect_identifier>] |
/ [AS {SYSDBA | SYSOPER | SYSASM}]
( [ ] 부분 생략 가능 )
ex) sqlplus id/pw@ip:port/sid
- 원격접속이 아니고 오라클이 설치된 PC에서 직접 접속할 경우 @connect_identifier 생략가능 (ex1)
- sqlplus 계정명까지만 입력하면 패스워드 입력화면으로 넘어간다. (ex2)
- 또는 프로그램 실행시듯 sqlplus만 입력하고 다음 화면에서 계정명과 패스워드를 입력해도 된다. (ex3)
- 패스워드에 특수문자가 있을 경우 따옴표(" ")로 묶어주어야 한다.
- 오라클 설치할 때 변경하지 않았다면 초기 비밀번호는 다음과 같다.
system / manager
sys / change_on_install
scott/tiger
- scott 계정이 잠겨있는 경우라면 아래 Lock 해제 부분 참고
ex1) sqlplus scott/tiger
ex2) sqlplus scott
ex3) sqlplus
sys계정 접속하기
오라클에서는 관리자 계정으로 sys와 system 계정이 있다.
sys 계정이 일단 두목쯤 된다고 보고, system은 관리자 계정이라고 해두자.
사용자 계정을 추가하거나 database를 새로 만들 때는 sys 계정으로 접속해야 한다.
(정확한 의미에서는 계정이라기보다는 권한의 문제겠지만 이건 나중에...)
접속방법은 계정명 뒤에 /as sysdba를 붙인다.
- /as sysdba를 붙일 때 OS의 시스템 계정 권한으로 접속할 경우 별도의 패스워드 없이 접속 가능하다
(보안 때문에 시스템 계정 권한으로 변경하길 권장하는데 이것도 나중에 정리...)
sysdba로 접속하는 방법은 아래 방법 중 편리한 방법을 사용하면 된다.
> sqlplus
사용자명 입력 : /as sysdba
> sqlplus "/as sysdba"
connect 또는 conn 명령
SQL> connect 계정명 / 패스워드
- connect(또는 conn)sqlplus로 오라클 DB에 접속한 상태에서 계정을 변경하는 명령어.
- show user 명령어로 현재 접속한 계정명 확인 가능
- 다음 명령어로 sqlprompt 프롬프트 변경 가능
SQL> set sqlprompt "_USER > "
scott 계정 활성화
- 만약 오라클 설치 직후라면 실습용 계정인 scott은 잠겨있는 상태(Lock)이다. 확인해 보고 락을 해제한다.
(sqlplus 접속 방법과 sysdba접속에 대한 내용은 조금 뒤에)
> sqlplus "as /sysdba"
SQL> SELECT username, account_status FROM dba_users WHERE username='SCOTT';
SQL> ALTER user scott account unlock;
- scott계정의 디폴트 패스워드는 tiger이지만 다른 패스워드로 변경하고 싶다면 아래 명령어를 실행한다.
패스워드에 특수문자가 있는 경우는 반드시 큰 따옴표(" ")로 묶어주어야 한다.
SQL> ALTER user scott IDENTIFIED BY "pw!!"
출처: http://ttend.tistory.com/607 [toward the end · · ·]