Determine and set sizing parameters for database structures

Энэ удаад баазын тохиргооны параметруудтэй хэрхэн ажиллах талаар оруулах болно.

Ашиглагдаж буй параметруудыг

SQL> show parameters

коммандаар харах бөгөөд утгыг нь харахыг хүссэн параметрийн хувьд тухайн параметрийн зарим нэгэн үгийг коммандын араас залгаж харах боломжтой. Параметрууд V$PARAMETER view-д хадгалагддаг. Тиймээс уг view-с сонгон харж болно.

SQL>
SQL> show parameter _recovery

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest		     string	 /u01/app/oracle/flash_recovery
						 _area
db_recovery_file_dest_size	     big integer 3882M
SQL>

NOMOUNT-с өмнөх горимд (instance унтраастай үед) pfile -ийн параметруудыг тохируулж болно
NOMOUNT горимд controlfile-ийн параметр, баазын параметруудыг тохируулж болно
MOUNT горимд зөвхөн баазын параметруудыг тохируулж болно
OPEN бусад параметруудыг тохируулж болно

Анх баазыг асаахад NOMOUNT горимд өмнө pfile-ийн параметруудыг уншиж санах ойг бэлтгэдэг бөгөөд уг файлаас control файлын замыг авч контрол файлыг нээснээр MOUNT горим руу шилжинэ. Контрол файлд датафайл, redlog болон бусад шаардлагатай мэдээллүүд байх бөгөөд уг файлуудыг нээж уншсанаар бааз OPEN горимд шилжиж байгаа юм. Тиймээс NOMOUNT горимоос өмнө буюу Instance-ийг унтраастай байхад pfile-ийн утгуудыг өөрчилж тохируулж болно.

Одоо түгээмэл ашиглагддаг утгуудтай хэрхэн ажиллах талаар жишээгээр үргэлжлүүлье.

Түгээмэл ашиглагдах db_recovery_file_dest параметрийн утгыг хэрхэн авахыг жишээгээр харцгаая.

SQL> show parameter _recovery

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest		     string	 /u01/app/oracle/flash_recovery
						 _area
db_recovery_file_dest_size	     big integer 3882M
SQL> COL NAME FORMAT A35
COL VALUE FORMAT A30SQL>
SQL>
SQL>
SQL> SELECT NAME, VALUE FROM V$PARAMETER WHERE LOWER(NAME) LIKE '%db_recovery%';

NAME				    VALUE
----------------------------------- ------------------------------
db_recovery_file_dest		    /u01/app/oracle/flash_recovery
				    _area

db_recovery_file_dest_size	    4070572032

SQL>

Бусад параметруудын хувьд

SQL>
SQL> show parameter _recovery

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest		     string	 /u01/app/oracle/flash_recovery
						 _area
db_recovery_file_dest_size	     big integer 3882M
SQL> COL NAME FORMAT A35
COL VALUE FORMAT A30SQL>
SQL>
SQL>
SQL> SELECT NAME, VALUE FROM V$PARAMETER WHERE LOWER(NAME) LIKE '%db_recovery%';

NAME				    VALUE
----------------------------------- ------------------------------
db_recovery_file_dest		    /u01/app/oracle/flash_recovery
				    _area

db_recovery_file_dest_size	    4070572032

SQL>
SQL> show parameter spfile

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
spfile				     string	 /u01/app/oracle/product/11.2.0
						 /db_1/dbs/spfileDB11G.ora
SQL>
SQL> show parameter db_name

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_name 			     string	 DB11G
SQL>
SQL> show parameter db_domain

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_domain			     string
SQL>

SQL> col property_name for a30
SQL> col property_value for a30
SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME = 'GLOBAL_DB_NAME';

PROPERTY_NAME		       PROPERTY_VALUE
------------------------------ ------------------------------
GLOBAL_DB_NAME		       DB11G

SQL>

Утгыг сольж болох параметруудын утгыг хэрхэн солих талаар харцгаая. Системийн эсвэл баазын параметрээс шалтгаалж alter system, alter database коммандуудыг тус тус ашиглана.

SQL> show parameter _recovery

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest		     string	 /u01/app/oracle/flash_recovery
						 _area
db_recovery_file_dest_size	     big integer 3882M
SQL>
SQL> alter system set db_recovery_file_dest='/u01/app/oracle/fra' scope=BOTH;

System altered.

SQL>

Дээрхи коммандад ашиглагдсан scope нөхцөл нь MEMORY/SPFILE/BOTH утгуудын нэгийг авах бөгөөд дараах шинж чанартай байна.

  • MEMORY
    Өөрчлөлтийг санах ойд хадгалах бөгөөд зөвхөн баазыг унтрах хүртэл идэвхтэй байна.
  • SPFILE
    Өөрчлөлтийг шууд идэвхжүүлэхгүй. Бааз унтарч асах үед идэвхжинэ. Зарим параметрууд зөвхөн энэ нөхцлийг шаарддаг
  • BOTH
    Тохиргоог шууд идэвхжүүлэх бөгөөд дараа баазыг унтарч ассан ч идэвхтэй байна

FAST RECOVERY AREA (db_recovery_file_dest) тохиргоог бид дээр хийсэн билээ. Ямар хэмжээтэй хэрхэн тохируулах хэрэглээнээс шалтгаалж хэмжээг зааж өгнө. Дараах жишээнд хэрэглээг харж тооцоолсноор хэмжээг тохируулах болно.

SQL>
SQL> SELECT * FROM V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE	     PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
-------------------- ------------------ ------------------------- ---------------
CONTROL FILE			      0 			0		    0
REDO LOG			          0 			0		    0
ARCHIVED LOG			   6.66 		     4.47		7
BACKUP PIECE			  75.77 		    37.96		4
IMAGE COPY			          0 			0	    	0
FLASHBACK LOG			      0 			0    		0
FOREIGN ARCHIVED LOG	      0 			0		    0

7 rows selected.

SQL> show parameter db_recovery_file_dest_size

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest_size	     big integer 3882M
SQL>
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=5G SCOPE=BOTH;

System altered.

SQL> show parameter db_recovery_file_dest_size

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest_size	     big integer 5G
SQL>

####CONTROLFILE

SQL>
SQL> show parameter control_files

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
control_files			     string	 /u01/app/oracle/oradata/DB11G/
						 control01.ctl, /u01/app/oracle
						 /flash_recovery_area/DB11G/con
						 trol02.ctl
SQL> SELECT NAME FROM V$CONTROLFILE;

NAME
------------------------------------------------------------
/u01/app/oracle/oradata/DB11G/control01.ctl
/u01/app/oracle/flash_recovery_area/DB11G/control02.ctl

SQL>

NOMOUNT горимд controlfile-ийн замыг өөрчилж болно.

####Бусад

SQL>
SQL> show parameter db_block_size

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_block_size			     integer	 8192
SQL> ALTER SYSTEM SET DB_32K_CACHE_SIZE=100M SCOPE=BOTH;

System altered.

SQL> ALTER SYSTEM SET DB_32K_CACHE_SIZE=0 SCOPE=MEMORY;

System altered.

SQL>
SQL> ALTER SYSTEM RESET DB_32K_CACHE_SIZE SCOPE=SPFILE;

System altered.

SQL>
SQL>
SQL> show parameter processes

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes 		     integer	 0
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
SQL> ALTER SYSTEM SET PROCESSES=300 SCOPE=SPFILE;

System altered.

SQL>
SQL>
SQL> ----11g дээр нэмэгдсэн
SQL> ALTER SESSION SET DDL_LOCK_TIMEOUT=10;

Session altered.

SQL> ALTER SESSION SET DDL_LOCK_TIMEOUT=0;

Session altered.


SQL>
SQL>
SQL>
SQL> ALTER SYSTEM SET MEMORY_TARGET = 200G SCOPE=SPFILE;

System altered.

SQL> ALTER SYSTEM SET MEMORY_TARGET = 2G SCOPE=SPFILE;

System altered.

SQL>

Бусад


  • SHOW PARAMETER => Тухайн үеийн параметр
  • SHOW SPPARAMETER => SPFILE параметр
  • V$PARAMETER => Тухайн үеийн параметр
  • V$PARAMETER2 => Тухайн үеийн олон утгат параметрууд
  • V$SPPARAMETER => SPFILE параметр
  • V$SYSTEM_PARAMETER => Instance-level параметр (sessions ихэнх утгаа эндээс өвлөж авдаг)
  • V$SYSTEM_PARAMETER2 => Instance-level олон утгат параметр