(Linux) 오라클 SID 바꾸고, show parameter로 내부 값 확인하기
Oracle/Oracle_Admin1 2016. 6. 9. 18:19오라클 SID 바꾸기
[oracle@ORACLE-SVR dbs]$ export ORACLE_SID=TEST
[oracle@ORACLE-SVR dbs]$ echo $ORACLE_SID
TEST
[oracle@ORACLE-SVR dbs]$
[oracle@ORACLE-SVR dbs]$ sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.4.0 Production on Thu Jun 9 17:38:27 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance. -- DB가 shutdown 되어있는 상태
ctrl + shift + T 를 누르면 터미널 탭창이 생성
alt + 숫자누르면 탭창 순서대로 열린다.
[root@ORACLE-SVR ~]# ps -ef |grep smon
root 4858 4833 0 17:40 pts/2 00:00:00 grep smon
[root@ORACLE-SVR ~]#
-- 실제 SMON이 나온 것은 아니다.
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/dbs/initTEST.ora'
-- initTEST.ora의 파라미터 파일이 없어서 발생한 에러이다.
-- 이런식으로
SQL> startup pfile=/u01/app/oracle/product/11.2.0/dbs/initORCL.ora
ORACLE instance started.
Total System Global Area 1653518336 bytes
Fixed Size 2253784 bytes
Variable Size 1006636072 bytes
Database Buffers 637534208 bytes
Redo Buffers 7094272 bytes
Database mounted.
Database opened.
-- 메모리 확인하기( memory로 찾아도 된다.)
SQL> show parameter memory_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
memory_target big integer 1584M
SQL>
-- control_file 확인하기
SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/oradata/ORCL/control01.ct
l, /u01/oradata/ORCL/control02
.ctl
-- ORCL 파일 확인해보기
[oracle@ORACLE-SVR ~]$ ls /u01/oradata/ORCL/
control01.ctl example01.dbf redo02.log sysaux01.dbf temp01.dbf users01.dbf
control02.ctl redo01.log redo03.log system01.dbf undotbs01.dbf
-- 블록사이즈 보기
SQL> show parameter db_block_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 8192
SQL>
SQL> show parameter process
NAME TYPE VALUE
10g 이후에 SGA_TARGET이 생김
11g 이후에 MEMORY_TARGET이 생김
--> 조사하여 정리
파라미터 변경할 때 명령어
alter system set
alter session set
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target big integer 0
SQL> alter system set memory_target=0;
System altered.
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address integer 0
memory_max_target big integer 1584M
memory_target big integer 0
shared_memory_address integer 0
SQL> show parameter sga_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target big integer 944M
SQL>
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 1
cell_offload_processing boolean TRUE
db_writer_processes integer 1
gcs_server_processes integer 0
global_txn_processes integer 1
job_queue_processes integer 1000
log_archive_max_processes integer 4
processes integer 150
processor_group_name string
-- Memory_target으로 메모리를 통으로 관리하고있었다.
-- Memory_target을 0으로 설정하게되었다.
-- SGA와 PGA가 분리되면서 남은 메모리가
-- 자동으로 SGA_TARGET으로 할당되었다.
SQL> show parameter large_pool
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
large_pool_size big integer 0
SQL> show parameter log_buffer
-- 리두 로그 버퍼를 의미한다.
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_buffer integer 6778880
SQL>
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
shared_pool_reserved_size big integer 11744051
shared_pool_size big integer 224M
SQL> show parameter db_cache_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_size big integer 656M
SQL>
-- PGA에 할당된 값 확인
SQL> show parameter aggregate_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 640M
SQL>
메모리 사이즈 변경
sga_max_szsie = 2G
sga_tart는 sga_max_size=를 넘지 못해,
sga_target 파라미터가 0일 때, shared_pool, db_cache(버퍼사이즈),
large_pool_size, java_pool_size 등의 합은 sga_max_target등의 합은
sga_max_size를 넘지 못한다.
select name isses_modifiable, issys_modifiable, isinstance_modifiable from v$parameter
where name like 'sga%';
shift + G
shift + ?
현재 spfile로 운영중
1) sga_max_size=2G
2) alter system set sga_target=3G scope=spfile;
--> spfile에만 sga_target 파라미터가 3G로 저장되게 설정한다.
3) 이후에 데이터 베이스를 재시작
4) startup이 되지 않음
이유 : sga_target 사이즈가 sga_max_size 보다 크기 떄문에
5) SQL> create pfile form spfile; -- spfile로 부터 pfile생성하기
6) pfile(initORCL.ora)을 수정 : sga_target size를 sga_max_size보다 작게
7) SQL> create spfile form pfile: --> 다시 수정한 pfile로부터 spfile생성하기
8) database를 open한다.
'Oracle > Oracle_Admin1' 카테고리의 다른 글
default_permanent_tablespace (0) | 2016.06.14 |
---|---|
oracle 시스템장애시 error확인 (0) | 2016.06.10 |
(Linux)spfile운영상태와, spfile운영상태에서 pfile생성하기 (0) | 2016.06.09 |
SPFILE 과 PFILE (0) | 2016.06.09 |
(Linux) 사용자 설정 파일보기 (0) | 2016.06.09 |