SGA (system global area) : 공용메모리
오라클을 키면 확보하고있음, 컴터 느려지는 것에 주범
SP (server process) : 클라이언트 요청을 대신 처리해줌
listener: 클라이언트가 SP를 찾아가기 위해서 listener를 통함
1521 port번호가 리스너와 연결하는 것
--listener.ora파일에서 서버가 통신을위해 처리할 것을 적음
C:\app\user\product\11.2.0\dbhome_1\NETWORK\ADMIN
--localhost 외에 DB서버에 접속을 허용하는 IP를 적음
--사이트 아이피 찾기
C:\Users\user>ping www.daum.net
Ping www.g.daum.net [117.52.2.238] 32바이트 데이터 사용:
--네임서버에 들리지 않고 바로 사이트에 접속하는 법
C:\Windows\System32\drivers\etc\hosts
해킹할때 자기싸이트로 접속하도록 하기위해 씀
--listener.ora 파일 관리자권한 묻지 않도록 보안수준 떨어뜨리는 법
--클라이언트쪽 DB연결 처리는 tnsnames
C:\app\user\product\11.2.0\dbhome_1\NETWORK\ADMIN
--찾아가고자 하는 컴퓨터 IP 적음
--연결되는지 확인
C:\Users\user>tnsping db1 3
--기본적으로 방화벽 때문에 접속이 불가함
--방화벽 예외 정해줌
인바운드규칙: 내 PC로 들어오려고하는 것 제어
oracle로 들어오는 것 허용
리스너 허용
포트번호 허용
접속 되는지 확인
C:\Users\user>tnsping db1 3
--다른서버 DB연결
C:\Users\user>sqlplus scott/tiger@db1
--한번연결되면 listener process는 더이상 관여하지 않음
--listener프로세스 종료하는 법
C:\Users\user>lsnrctl
LSNRCTL> stop
--listener를 종료하면 oracle신규접속이 불가함, 이미접속한 연결은 유지됨
--listener프로세스 시작하는 법
LSNRCTL> start
--listener프로세스 상태보기 (언제 껐다 켰는지 볼 수 있음)
LSNRCTL> status
--리스너 재시작하면 DB도 껏다 켜줘야함
C:\Users\user>sqlplus system/oracle
--모든 접속자가 나가야 꺼짐
SQL> shutdown
--사용자 작업한것을 디스크에 저장하고 끔, 트랜젝션이 안끝난것은 rollback 됨
SQL> shutdown immediate
--즉시 끔 (긴급할 때 외에는 쓰지 않음)
SQL> shutdown abort
--system 권한으로 끄지 못함
--sys로 접속하면서 끄는 권한을 os로 받아와야함
SQL> conn sys/oracle as sysdba
--DB끔
SQL> shutdown abort
--DB 킴
C:\Users\user>sqlplus sys/oracle as sysdba
SQL> startup
--DB는 SGA로 3G메모리를 할당함
--껏다킴
SQL> startup force
--윈도우 운영체제에서 오라클,리스너를 껏다킴 (오라클에서 껏다켜는것보다 우선)
Connection : SP (server process)와 연결된 상태
- 접속하면 사용자의 권한을 데이터 딕셔너리에서 검사하고 연결해줌
- 일반적으로 실행문이 검사하는 부분보다 시간이 짧고 자주 일어남, 그러면 데이터베이스 과부하 ▶ 해결하기 위해 connection pool
SGA(system global area)
- shared pool
- 사용자의 sql문장이 올라감
- data buffer cache
- table에 대한 정보가 올라감
- cache --임시저장소
- buffer --속도차이를 극복
- read log buffer
- java pool
- ...
PGA(private global area) : 클라이언트 마다 개별적으로 메모리 할당
- session info : 권한정보
- cursor state : 커서 상태
- open
- fetch
- close
- stack space :
- sort area :
-select * from emp oreder by sal; 쿼리문을 쓰면 공유메모리의 테이블을 정렬하는것이 아니라 PGA로 가져와서 정렬하는 공간
-정렬할 필요없으면 안하는 게 좋음, 정렬하는 시간이 있으면 느려짐
댓글 없음:
댓글 쓰기