(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한다.

 

admin