카테고리 없음

오라클 파라미터

boangod 2025. 10. 16. 09:10

오라클은 그룹이라는 개념이 없다. 권한을 공유한다는것은 보안상 문제가 있다고 판단.

 

그래서 ROLE(역할)이라는 개념이 있다.

ㄴ 권한의 묶음이다.

 

connect, resource → role

 

CREATE USER st01

IDENTIFIED BY st01;

 

GRANT connect, resource TO st01;

 

 

lsnrctl [ stop | start | status ]

 

lsnr

ㄴ 리스너 프로세스를 관리하는 명령어

 

listener.ora 서버가 리스너를 띄우기위한 파일

 

데이터베이스를 startup해준다.

lsnrctl stop

lsnrctl start

lsnrctl status

 

오라클은 어떻게 구성되어있어요???

ㄴ 인스턴스랑 데이터베이스로 구성되어있어요.

ㄴ 인스턴스는 sga랑 백그라운드프로세스.

 

 

 

p 파일 → 예전꺼

sp파일 → 지금꺼

 

초창기 파라미터파일은 텍스트 파일이였다.

ㄴ 수정하려면 그냥 텍스트파일 수정하고 로드 했다.

 

지금은 바이너리파일을 사용함.

 

 

spfiledb01.ora

파라미터파일은 spfile로 시작해야한다.

뒤에오는건 인스턴스 이름. 인스턴스 이름은 db이름과 똑같아야 한다.

 

 

sid는 인스턴스의 이름의 의미함

ㄴ 이건 바이너리 파일임. 파일 열거나 편집은 하면 안됨. 수정하려면 명령어로 한다.

 

ALTER SESSION SET nls_date_format= 값

ㄴ 현재 세션에서만 파라미터 파일을 수정한다.

 

ALTER SYSTEM SET 파라미터=값

ㄴ 파라미터파일 수정하는 법.(실제로 파라미터파일이 수정된다.)

 

파라미터 종류

ㄴ 다이나믹 파라미터, 스테틱 파라미터

 

 

위치는 ORACLE_HOME/dbs밑에 있어야 한다.

 

CREATE spfile FROM pfile; → 이렇게 만들면 sp파일이 만들어진다.

CREATE pfile FROM spfile; → 백업 하려고 한다.백업은 pfile로.(중요)

 

[ora19c@linux-149 ~]$ cd $ORACLE_HOME/dbs

[ora19c@linux-149 dbs]$ ls

hc_DB19.dat   init.ora   lkDB19   orapwDB19   spfileDB19.ora

 

SQL> create pfile from spfile;

File created.

 

SQL> exit Disconnected

[ora19c@linux-149 dbs]$ ls

hc_DB19.dat    init.ora    initDB19.ora    lkDB19    orapwDB19    spfileDB19.ora

 

initDB19.ora → pfile이다.

spfileDB19.ora → spfile

오라클은 initDB19.ora, spfileDB19.ora이 있으면 spfile만 읽는다.

 

 

initDB19.ora를 확인해보면 

 

DB19.__sga_target=973078528

ㄴ sga전체 크기를 지정한것.

 

*.db_block_size=8192

ㄴ (바이트 단위) 이 사이즈는 한번 만들어지면 다시는 수정불가능. 근데 맘대로 지정불가능하다.

 

*.remote_login_passwordfile='EXCLUSIVE’

ㄴ 외부에서 관리자로 로그인이 가능하단 소리 none으로 바꾸면 외부에서 패스워드파일이 있어도 접속 불가능

등이 있다.

 

ALTER SYSTEM SET undo_tablespace = 'UNDO2';

ㄴ 동시에 바뀐다.(파라미터,바이너리)

 

ALTER SYSTEM SET undo_tablespace = 'UNDO2' SCOPE=BOTH;

ㄴ [SCOPE = MEMORY|SPFILE|BOTH]

ㄴ  both가 기본값.

 

 

Parameter file 관리

 

사용 명령어

SQL> SELECT name, value FROM V$PARAMETER;

  • Parameter 이름과 설정된 값을 확인한다.

SQL> SHOW PARAMETER <parameter 명>

  • 설정된 parameter 값을 확인 한다
  •  

SQL> SELECT name, value FROM v$parameter

2 WHERE name = 'spfile';

NAME                   VALUE

-----------------        ------------------------------------

spfile                     /app/ora19c/19c/dbs/spfileDB19.ora

 

SQL> SHOW PARAMETER instance_name

NAME                TYPE                VALUE

-----------------      ---------------    -----------------

instance_name     string               DB19

 

 

SQL> !ls $ORACLE_HOME/dbs

ㄴ ! os명령어 할때

hc_DB19.dat   init.ora    initdw.ora    lkDB19    orapwDB19    spfileDB19.ora

 

 

 

Spfile 환경에서 파라미터 확인과 수정

 

사용 명령어

SQL> ALTER SYSTEM SET <parameter 명> = <값>;

  • 지정한 파라미터의 값을 수정한다.
  • spfile 사용 환경에서 설정된 파라미터 값은 항구적으로 수정된다.
  • 동적인 파라미터만 수정 가능하다.

SQL> SELECT NAME, VALUE FROM V$PARAMETER;

  • 현재 운영중인 parameter 값을 조회한다.
  • 'SHOW PARAMETER ~'에 출력 값과 동일하다.

SQL> SELECT NAME, VALUE FROM V$SPPARAMETER;

  • spfile에 설정된 값을 조회한다.

 

sqlplus / as sysdba

 

SQL> SELECT name, value FROM v$spparameter

2 WHERE name LIKE '%undo%';

 

NAME                                VALUE

----------------------------        -------------------------

temp_undo_enabled

undo_management

undo_tablespace               UNDOTBS1

undo_retention

 

 

SQL> SELECT name,value FROM v$parameter

2 WHERE name LIKE '%undo%';

NAME                                VALUE

----------------------------        -------------------------

temp_undo_enabled           FALSE

undo_management            AUTO

undo_tablespace               UNDOTBS1

undo_retention                    900

 

 

SQL> SHOW PARAMETER undo;

NAME                            TYPE          VALUE

--------------------              -------------      ----------

temp_undo_enabled        boolean      FALSE

undo_management          string          AUTO

undo_retention                 integer        900

undo_tablespace             string          UNDOTBS1

 

ㄴ 위에명령어와 같은 결과가 나온다.

 

 

SQL> ALTER SYSTEM SET undo_retention=300;

 

 

SQL> SHOW PARAMETER undo_retention;

NAME                          VALUE

------------------------       -------------------------

undo_retention              300

 

 

SQL> SHUTDOWN IMMEDIATE

 

SQL> STARTUP

 

 

SQL> SHOW PARAMETER undo_retention;

NAME                            TYPE          VALUE

--------------------              -------------      ----------

undo_retention                 integer           300

 

 

 

 

 

Spfile 운영 환경에서 scope 설정에 따른 parameter값의 변화

 

사용 명령어

SQL> ALTER SYSTEM SET <parameter 명> = <값> SCOPE = [SPFILE | MEMORY | BOTH];

  • 지정한 parameter의 값을 수정한다.
  • SCOPE 절은 spfile 운영 환경인 경우만 사용한다.
  • SPFILE : spfile만 수정한다. (정적 parameter 수정에서는 필수이다.)
  • MEMORY : 현재 DB의 parameter 설정 값만 수정한다. spfile은 수정하지 않음으로 DB를 재시작하면 원래 설정 값으로 환원된다.
  • BOTH : spfile과 instance의 설정된 parameter값을 모두 수정한다.(default값)

 

 

SQL> STARTUP

 

 

SQL> SHOW PARAMETER undo_retention;

 

NAME                      TYPE         VALUE

------------------------- --------------- ---------

undo_retention         integer          300

 

 

SQL> ALTER SYSTEM SET undo_retention = 600 SCOPE = memory;

 

 

SQL> SHOW PARAMETER undo_retention;

 

NAME                             TYPE          VALUE

-------------------------     ---------------     ------------

undo_retention             integer               600

 

 

SQL> SELECT name, value FROM v$parameter

2 WHERE name = 'undo_retention';

 

NAME                       VALUE

------------------------    ---------

undo_retention            600

 

 

SQL> SELECT name, value FROM v$spparameter

2 WHERE name = 'undo_retention';

 

NAME                            VALUE

---------------------             ------------

undo_retention                     300

 

 

SQL> SHUTDOWN IMMEDIATE

 

SQL> STARTUP

 

SQL> SHOW PARAMETER undo

 

NAME                      TYPE         VALUE

------------------------- --------------- ---------

undo_retention         integer          300

 

 

SQL> ALTER SYSTEM SET undo_retention = 500 SCOPE = spfile;

 

 

 

SQL> SHOW PARAMETER undo_retention;

 

NAME                      TYPE         VALUE

------------------------- --------------- ---------

undo_retention         integer          300

 

 

SQL> SELECT name,value FROM v$parameter

2 WHERE name = 'undo_retention';

 

NAME                       VALUE

------------------------    ---------

undo_retention            300

 

 

SQL> SELECT name,value FROM v$spparameter

2 WHERE name = 'undo_retention';

 

NAME                       VALUE

------------------------    ---------

undo_retention            500