sqlplus / as sysdba는 최상위 사용자 계정 권한으로 접속하는 내용이다.
sysdba로 로그인이 가능한것은 보안상의 문제이다. 다만 oracle의 보안문제가 아니라 OS의 보안문제이다. OS안에서 PROGRAM이 실행되는 것이기 때문이다. 이를 OS인증이라고 한다.
dba_tablespaces에 나오는 테이블들은 db에 있는 테이블 전부 나온다. dba_는 관리자용 설정값을 출력하며 일반계정은 사용할 수 없다. 일반 계정이라면 user_을 사용해야 하며 user_tablespaces를 사용하면 계정에있는 테이블만 출력된다.
tablespace_name에 있는 항목중 users만 보통 사용하며 나머지 system이나 sysaux, undotbs1, temp는 특별한 용도에 사용된다. 사용하는 곳은 관리자교육때 배울것이다.
접속이 가능한 사용자를 확인하는 명령어는 다음과 같다.
계정을 생성했다고 바로 사용할수없다. 아무런 권한도 주지 않았기때문에 계정으론 아무것도 할수없다.
roll은 여러 권한을 묶은 일종의 디렉토리 같은 역할을 한다. 이때 중요한 점은 권한은 필요한 것만 골라서 할당해야 하기 때문에 중요하다.
설정한 계정으로 sqlplus를 통해 접속해본다.
오라클network구성은 $ORACLE_HOME/network/admin/안의 설정 파일들을 이용해 구성한다.
오라클 서버는 listner프로그램을 구동해야 한다.
- Default 리스너명은 listener이다.
- HOST : 서버의 호스트명이나 IP 주소
- PORT : TCP port 번호
- SID_NAME : Instance 명
- 클라이언트는 반드시 <호스트명>에 해당하는 <IP>에 접근 가능해야 한다. 따라서 설정 후 host명을 host로 ip값을 제대로 받아오는지 확인하고, ping으로 통신이 가능한지 확인한다.
리스너 작동에 대한 명령은 다음과 같다.
lsnrctl [옵션] <리스너명>
- 옵션
. start : 리스너를 시작한다.
. stop : 리스너를 종료한다.
. status : 리스너의 상태를 출력한다.(listener.ora 파일의 내용을 확인 할 수 있다.)
리스너 구동후에 해야할일은 최상위 권한으로 oracle에 접속하여 oracle 서버를 재시동 해주어야 한다.
재시동하는 명령어는 없고 종료시에 사용하는 명령어는 shutdown [옵션]이고 시작에 사용하는 명령어는 startup이다.
shutdown에 사용되는 옵션은 여러가지가 있지만 보통 정상적으로 종료시킬때는 immediate를 입력한다.
shutdown과 startup의 실행순서는 서로 역순으로 실행되며 shutdown은 먼저 Database가 먼저 닫히고, Database의 mount가 끊기며 Oracle서버가 닫히게 된다. startup은 반대로 Oracle서버가 켜지고, Database가 mount되며 Database가 열린다.
client에서 사용하는 설정파일은 sqlnet.ora파일과 tnsnames.ora파일이 있다.
클라이언트의 tnsnames.ora파일은 사진과 같다.
tns이름의 경우에 한 서버당 하나의 이름을 가진다.
따라서tnsnames.ora파일 안에 서버의 수만큼 만들면 전부 접속 가능하다.
- TNS 명 : 접속 서버의 네트워크 이름으로 호스트명은 각 클라이언트가 임의로 정한다. (DNS 도메인명과는 무관하다.)
- HOST : 오라클 서버의 IP주소
- PORT : 접속 서버의 리스너 port 번호
- SID : 접속 오라클 서버의 SID
리눅스 sqlplus에서 확인해본다.
윈도우 oracle 클라이언트 프로그램을 사용해도 tnsnames.ora파일의 위치는 리눅스 oracle 클라이언트의 tnsnames.ora파일의 위치와 같이 $ORACLE_HOME/network/admin디렉토리 안에 있다.
설정을 하다가 에러코드를 두 번 발견했었다.
첫번째는
ERROR: ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3701
Additional information: 1396380027
Process ID: 0
Session ID: 0 Serial number: 0
두번째는
ERROR:
ORA-12541: TNS:no listener
첫번째는 Oracle서버를 startup시키지 않았을때 발생했고, 두번째는 Listener를 start를 하지 않았을때 발생했다.
'교육 > Oracle' 카테고리의 다른 글
Day 28 (Oracle) (0) | 2019.12.26 |
---|---|
Day 27(oracle) (0) | 2019.12.24 |
Day 26(Oracle install - linux&xwindow) (0) | 2019.12.24 |
Day 26 (Oracle12c install - vmware&linux) (0) | 2019.12.23 |
Oracle 12C (0) | 2019.11.28 |