Временни пространства за таблици

Рейтинг: 0/5

Временно пространство за таблици. за разлика от това, което може да се предположи от името му, съществува в базата данни през цялото време, както и всички останали пространства за таблици. като система и Sysaux. Въпреки това, данните във временното пространство маса е с временен характер и съществуват само по време на сесията на потребителя. Oracle използва временно пространство за таблици като работна площ за извършване на задачи, като например операция сортиране потребителят подаде заявка и сортиране на операциите при създаването на индекси. Oracle не позволява на потребителите да създават обекти във временен пространство за таблици.

По дефиниция, временно пространство за таблици съхранява данните само за времетраенето на сесията на потребителя, както и данни, които не могат да бъдат споделени между всички потребители. Извършване на временно пространство за таблици е изключително важно, когато приложение използва заявки, които се нуждаят от интензивно сортиране и хеширане, което означава съхраняване на междинните данни във временна пространство за таблици.

Съвет! , Oracle Database пише всички програмни данни в местната област (PGA) в части от 64 байта, така че трябва да се създаде пространство за таблици с размер степен, кратни на 64 килобайта. За по-големи хранилища на данни и бази данни, които поддържат системите за вземане на решения, които широко използват временно пространство за таблици се препоръчва степен размер на 1 MB.

Както бе споменато по-рано, трябва да използвате TEMPFILE дизайн, като посочите файловете, включени в който и да е временно пространство за таблици. От ваша гледна точка, не се прави разлика между структура файл от данни на. който е показан за постоянно пространство маса и дизайн TEMPFILE. Предвидени да временна таблици. Въпреки това, Oracle прави разлика между тези два типа файлове. Временни файлове съдържат малко или изобщо не съдържат ремонтирам, свързани с тях.

Създаване на временна космическа маса

Ти създаде временна пространство маса по същия начин, както за постоянно, но с тази разлика, че посочите ВРЕМЕННО в CREATETABLESPACE изявление дизайн и вложки този дизайн TEMPFILE вместо файл от данни. Ето един пример:

РАЗМЕР дизайн във втория ред показва данните размер на файла, а оттам и на размера на временна таблица пространство - 500 MB. В изявлението AUTOEXTENDON дизайн автоматично ще се увеличи размерът на временния файл, а заедно с него - с размерите на временната пространството за таблици. По подразбиране всички временни пространства за таблици са създадени с размери еднакви степени - 1 MB. Въпреки това, можете да укажете еднакъв размер структура да се уточни с различен размер, както е показано в следната декларация:

В изявлението, управление на строителството СТЕПЕН neobyazatelna.Konstruktsiya еднакъв размер определя специална степен размер от 16 MB вместо 1 MB по подразбиране.

На Съвета. Когато изберете мястото на временно пространство за таблици, използвайте TEMPFILE дизайн вместо файл от данни.

Прието е да се създаде едно временно пространство за таблици (наричан по-, като правило, Temp) за всяка база данни, но е възможно да има няколко временни пространства за таблици в пространството на група временна таблица, ако базата данни е необходимо да се извърши sortirovki.Chtoby интензивни операции, за да унищожи данни временна таблица пространство по подразбиране, първо трябва да използвате командата ALTER таблици за създаване на ново пространство на маса, база данни по подразбиране. Предишна след това може да унищожи временно пространство за таблици по подразбиране като всеки друг.

Съвет! Oracle препоръчва инсталирането на временна таблица като пространство подразбиране контролира локално временно пространство за таблици с размер стандартизирана степен на 1 мегабайт.

Промяна на времето за таблици

С ALTER ВРЕМЕННО TABLESPACE команда, можете да изпълнява различни задачи по управлението на временни пространства за таблици, включително добавяне на временен файл, за да го увеличите. Ето един пример за това как можете да увеличите временно пространство таблица:

По същия начин, човек може да използвате командата ALTER TABLESPACE, за да промените временно размера на файла:

За унищожаването на временен файл и изтриване на съответната операционна система файл, използвайте следната декларация:

При изтриване на временния файл в областта на временния пространство на маса, самата пространството за таблици е в употреба.

Временно пространство за таблици може да бъде намалена, тъй като всяко нормално пространство за таблици. Следният пример илюстрира използването на команди за намаляване ALTERTABLESPACE временно таблици:

Намаляване на временни пространства за таблици

Понякога може да се наложи да се увеличи временно пространство за маса за отразяване на данните е много голяма задача, която интензивно използва това временно пространство за таблици. След приключване на работата, можете да намалите това временно пространство за таблици с помощта на клаузата за свиване SPACE на ALTER TABLESPACE. Ето един пример:

Структура SHRINK SPACE временни файлове за намаляване на минималния размер на което е около 1 MB. минимален размер за временни файлове може да се настрои с помощта ПАЗЕТЕ структура, както е показано по-долу:

Oracle използва специален логика в компресия на временни файлове във временната пространството за таблици. Да предположим, че е налице временна таблица пространство, което съдържа два време от 1 GB файл. За да се намали пространството за таблици с 1GB издава следната команда:

Ако направи запитване до V $ TEMPFILE. ще видите следното:

Базата данни ще отреже една от двете временни файлове до 1 MB, а другият - само 1 MB, оставяйки непокътнати 999 MB пространство. Ако целта ви - да се намалят някои временен файл на посочения минимум, можете да направите това, като се посочва името на временен файл, който искате да изрежете:

Горната оператора ALTER TABLESPACE само намалява каза временен файл с размера, определен в структурата на Keep. Останалите на временни файлове от пространството за TEMP маса все още непокътнати. ПАЗЕТЕ строителство в горното твърдение се гарантира, че във временен файл, който е бил определен, той ще запази 500 MB пространство. Следният пример показва как да се намали отделна временен файл, без да се уточнява за да спестите място:

Както и в предишното извлечение ПАЗЕТЕ дизайн не е уточнена, базата данни намалява предвидената временния файл към малкия възможен размер, което е около 1 MB.

Временно таблици по подразбиране

Когато създадете база данни на потребителите, трябва да присвоите всеки временно пространство за таблици по подразбиране, в които те ще изпълняват своите временни работни места, като сортиране. Ако не предвижда изрично неговото използване временно пространство за таблици се използва за тези цели System маса пространство, което може да доведе до по-висока степен на фрагментация на пространството за таблици, в допълнение към това е пълна спирачна цялата дейност база данни dannyh.Izbezhat такива нежелани ситуации могат да създадат временно пространство за таблици подразбиране (по подразбиране) за базата данни, когато тя е била създадена от строителния подразбиране ВРЕМЕННО таблици. След това Oracle ще използва тази временна пространство маса е по подразбиране за всички потребители, които ще бъдат възложени на този не прави изрично. Създаване на временна таблица пространство по подразбиране ще бъде показан в новия ми статия, която ще бъде обсъдено за създаване на нова база данни Oracle.

Моля, имайте предвид, че ако не се създаде таблици по подразбиране при създаване на база данни, което прави възможно след това. Ти просто трябва да се създаде временна пространство на маса, както е показано в предишния пример, и то временно пространство за таблици е по подразбиране за цялата база данни правят, използвайки оператора по следния начин:

Можете да видите името на текущото време маса подразбиране пространство за базата данни, като изпълнява следната заявка:

Съвет! структура не може да се използва за временно AUTOALLOCATE таблици. По подразбиране всички временни пространства за таблици са създадени на местно ниво, управлявани степен еднакъв размер. Размерът на неизпълнение от страна на степента е 1 MB, както и за всички други tablespaces, но и други размери степен могат да се настройват според желанието да се създаде временна пространство за таблици.

Групи временни tablespaces

Голяма сделка понякога може да доведе до препълване на временно работно пространство. Проблеми, свързани с насипни подборите, особено състоящ се от маса с няколко секции, водят до значително натоварване на временни пространства за таблици, от които могат да страдат от изпълнението. В Oracle Database 10g е въведена концепцията за временни tablespaces група, която позволява използването на временни tablespaces в различни сесии.

По-долу са някои от основните характеристики на групата на време tablespaces.

  • Група пространство временна таблица трябва да бъде най-малко една маса пространство. Ограничения за максимален брой от тях не съществуват.
  • Ако премахнете всички членове на групата временни пространства за таблици, групата също ще бъдат изтрити автоматично.
  • Група временни tablespaces имат същото пространство от имена и временни пространства за таблици, които са част от групата.
  • Името на временно пространство маса не може да съвпада с името на който и да е от групите на пространства за таблици.
  • В назначаването на временно пространство за таблици, потребителят може да кандидатства от името на групата временни пространства за таблици, вместо името на дадена таблица пространство на. Името на групата може да се използва като се назначават временно пространство за таблици е по подразбиране за цялата база данни.

Предимства групи временни tablespaces

С помощта на група от време tablespaces вместо обичайните единична кратковременна таблици осигурява следните предимства.

  • SQL заявки много по-малко вероятно да доведе до препълване на място, запазено за сортиране, защото сега заявка може да използва няколко паралелни пространства временна таблица за сортиране.
  • Можете да посочите няколко временни пространства за таблици по подразбиране на ниво база данни.
  • Паралелни бягане сървъри в паралелни операции на практика ще използват множество временни tablespaces.
  • Един потребител може едновременно да се използват множество временни tablespaces в различни сесии.

Създаване на група от временни пространства за таблици

Когато са възложени на първия временен пространство маса в групата, като по този начин автоматично създаване на група. За създаване на пространство за таблици група Напълно посочите само клауза TABLESPACE GROUP на CREATE TABLESPACE, както е показано по-долу:

Горната SQL изявление ще създаде ново пространство временна таблица temp01 заедно с нова група от пространства за таблици име tmpgrp1. Oracle създава нова група от пространства за таблици, защото тук можете да създадете нова временна таблица пространство определен ключ дизайн TABLESPACE GROUP.

Възможно е също така да се създаде група от временни tablespaces уточняващи същото TABLESPACE GROUP дизайнерския екип ALTER TABLESPACE. както е показано по-долу:

Горната декларация ще принуди Oracle да се създаде нова група, наречена tmpgrp1. тъй като по-рано не е имало група tablespaces с това име.

Ако посочите чифт кавички ( ""), вместо на една група от пространства за таблици, вие по този начин изрично уточни Oracle не включва временно пространство маса на групата. Ето един пример:

Горната декларация създава временно пространство за таблици име temp02, което е често срещано временно пространство за таблици не принадлежи на всяка група от временни пространства за таблици.

Ако напълно сложи TABLESPACE GROUP строителство. ще създаде нормална временно пространство за таблици, както и не са свързани с някоя от групите:

Като прибавим към групата таблици временни tablespaces

Както е показано в предишната част, с помощта на командата ALTER TABLESPACE да добавите временно пространство за таблици в групата. Също така е възможно да се промени групата, към която даден таблици с помощта на ALTER таблици. Например, можете да укажете, че пространството за таблици принадлежи temp02 tmpgrp2 група. използвате следната команда:

В този случай, базата данни ще създаде нова група, наречена tmpgrp2. ако тази група не съществува.

Създаване на група като пространството за таблици по подразбиране за базата данни

Можете да използвате една група от временно пространство за таблици като временно пространство за таблици, база данни по подразбиране. Ако изпълните и следната декларация, всички потребители, които нямат временен таблици по подразбиране могат да използват всяка таблица пространство от tmpgrp1 група като временно пространство за таблици по подразбиране:

Горното твърдение ALTER DATABASE присвоява всички пространства за таблици в tmpgrp1 група като временна пространства за таблици по подразбиране за цялата база данни.

Присвояване групи временно пространство за таблици, когато създавате или ръководство за промяна

Когато създавате нови потребители, можете да ги зададете на група от временни пространства за таблици, вместо временно пространство за таблици. Ето един пример:

Чрез създаването на потребител, можете да приложите оператор ALTER ПОТРЕБИТЕЛЯ. За да промените група пространства за таблици, които ще използвате. Тук SQL оператор, което го прави:

За да управлявате временни пространства за таблици групи в базата данни, можете да използвате новия изглед DATA_TABLESPACE_GROUPS речника на данните. Следното е пример за една проста молба до тази гледна точка, която показва имената на всички групи на пространства за таблици:

За да се намери съответствие между пространства за таблици и групи, към които принадлежат, също така е възможно да се използва за представителство DBA_USERS. Ето един пример: