OS 환경 : Oracle Linux 7.9
DB 환경 : Oracle Database 11.2.0.3
Dedicated Server 실습
1. local_listener 파라미터 값 지정
SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.136.4)(PORT=2525)))' scope=both;
System altered.
SQL> alter system register;
System altered.
2. $ORACLE_HOME/network/admin/tnsnames.ora 수정
DB11G=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.136.4)(PORT=2525))
)
(CONNECT_DATA=
(SERVICE_NAME=DB11G)
)
)
#DEDICATED_SERVER
DB11G_D =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.136.4)(PORT = 2525))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DB11G)
)
)
3. Dedicated 계정으로 sqlplus 연결 및 접속 확인
[ora11g@oraclevm ~]$ sqlplus system/oracle_4U@DB11G_D
SQL> select server,service_name
from v$session
where username='SYSTEM';
4. 세션 추가로 열고 접속 시도
[ora11g@oraclevm ~]$ sqlplus system/oracle_4U@DB11G_D
SQL> select server,service_name
from v$session
where username = 'SYSTEM';
Shared Server 실습
1. 현재 세션 관련 정보 상태 확인
SQL> show parameter session;
2. NEWDB에 400개 session을 동시에 열 수 있고, 그 중에 5개는 dedicated session 열리도록 설정
alter system set sessions=400 scope=spfile;
alter system set shared_server_sessions=395;
3. Dispatcher 개수는 초기 1, 최대 4로 설정
alter system set dispatchers='(protocol=tcp)(dispatchers=1)';
alter system set max_dispatchers=4;
4. Shared server process 개수는 초기 2, 최대 10개로 설정
alter system set shared_servers=2;
alter system set max_shared_servers=10;
5. 변경값들이 적용될 수 있게 DB 재기동
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1653518336 bytes
Fixed Size 2228904 bytes
Variable Size 956304728 bytes
Database Buffers 687865856 bytes
Redo Buffers 7118848 bytes
Database mounted.
Database opened.
6. 현재 작동중인 dispatcher와 shared server process 조회
- 프로세스 조회
[ora11g@oraclevm ~]$ ps -ef | grep ora_[ds]0
ora11g 14216 1 0 14:27 ? 00:00:00 ora_d000_DB11G //dispatcher
ora11g 14218 1 0 14:27 ? 00:00:00 ora_s000_DB11G //shared server process
ora11g 14220 1 0 14:27 ? 00:00:00 ora_s001_DB11G //shared server process
- session 정보 조회
SQL> show parameter session;
- dispatcher 조회
SQL> show parameter dispatcher
7. tnsnames.ora를 통해 직접 연결 작업
DB11G=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.136.4)(PORT=2525))
)
(CONNECT_DATA=
(SERVICE_NAME=DB11G)
)
)
#DEDICATED_SERVER
DB11G_D =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.136.4)(PORT = 2525))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DB11G)
)
)
#SHARED_SERVER
DB11G_S =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.136.4)(PORT = 2525))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = DB11G)
)
)
8. Shared 계정으로 sqlplus 연결 및 접속 확인
[ora11g@oraclevm admin]$ sqlplus system/oracle_4U@DB11G_S
SQL> select server,service_name
from v$session
where username = 'SYSTEM';
9. 세션 추가로 열고 접속 시도
SQL> select server,service_name
from v$session
where username = 'SYSTEM';
SERVER SERVICE_NAME
--------- -------------
SHARED DB11G //작업하고 있는 경우
NONE DB11G //다른 세션에서 작업하지 않는 경우
10. Shared Server process 상태 확인
SQL> select name,status
from v$shared_server;
NAME STATUS
---- ------------
S000 WAIT(COMMON) // 나머지 세션
S001 EXEC //shared server로 세션에 접속한 상태
11. SESSION 2에서 dml 작업할 때
- SESSION 2번에서 SELECT 쿼리 수행
SQL> select count(*) from dba_objects a,dba_objects b;
- SESSION 1번에서 shared server 상태 확인
SQL> select name, status
from v$shared_server;
- SESSION 1번에서 V$SESSION 상태 확인
SQL> select server,service_name
from v$session
where username = 'SYSTEM';
'DB > Oracle' 카테고리의 다른 글
[ETC] 오라클 AWR 레포트 출력하는 방법 (0) | 2022.11.22 |
---|---|
[ETC] AWR Report 보는 방법 (0) | 2022.11.22 |
[Admin] Oracle Architecture (0) | 2022.11.16 |
[RAC][INSTALL] 2_OS설치 및 다양한 환경 설정 (0) | 2022.11.15 |
[RAC][INSTALL] 1_가상 머신 구축 및 VM 네트워크 설정 (0) | 2022.11.15 |