Oracle の表領域


  現状の確認




Oracle を学ぶにはやはり、直接 Oracle が無ければはじまりません。ここからは、Oracle がインストールされている事を前提に話を進めます。そして、Oracle がインストールされていても既存の環境では学習になりません。一番最初にするべき事はデータベースとしてデータを保存する為の大元である「表領域」を作成する必要があります。

表領域を作成する事はそんなに難しい事ではありません。「Enterprise Manager Console」 から容易に作成できますが、その前に現状を「Enterprise Manager Console」で確認します

Oracle がインストールされているマシンから、「スタンドアロン」で起動します。最初に、実行中のデータベースが表示されますが、ツリーを開こうとするとログインを求められます。ここでは、「SYSTEM」でログインします。接続後、「記憶域」から「表領域」を選択します

既に存在する表領域の一覧が表示されますが、まず「タイプ」TEMPORARYUNDO の表領域に注目して下さい。これらは、Oracle にとって特別な意味を持つ表領域です。特に、TEMPORARY タイプである TEMP 表領域はユーザ作成時に必要になります

  SQL で同等の情報を表示




以下のSQL を実行する事によって ほぼ同等の表領域の情報を取得できます

  

select 
	TABLESPACE_NAME 名前,
	CONTENTS タイプ,
	EXTENT_MANAGEMENT エクステント管理,
	round(FSIZE/1000000) "サイズ(M)",
	(FSIZE-FREESIZE)/1000000 "使用量(M)"
from
	DBA_TABLESPACES,
(
	select 
		V$TABLESPACE.NAME TNAME1,
		sum(BYTES) FSIZE
	from V$TABLESPACE,V$DATAFILE
	where
		V$TABLESPACE.TS# = V$DATAFILE.TS#
	group by V$TABLESPACE.NAME
) TSIZE,
(
	select 
		TABLESPACE_NAME AS TNAME2,
		sum(BYTES) AS FREESIZE 
	from DBA_FREE_SPACE
	group by TABLESPACE_NAME
) TFREE
where
	TABLESPACE_NAME = TNAME1 and
	TABLESPACE_NAME = TNAME2
  

ここで使用されているテクニックは、インラインビューというものです。

  Enterprise Manager Console で表領域作成

ツリー上の「表領域」を選択して右クリックでポップアップメニューを表示させて「作成」を選びます。すると、表領域作成用のダイアログが表示されるので、名前を入力します。すると、自動的にファイル名欄にも反映されます。それ以外のオプションはデフォルトのままで「作成」ボタンをクリックします

デフォルトでは、5メガの領域が作成されます。他の領域と状態を比べたい場合は、DBA_TABLESPACES ディクショナリビューを参照します。

  SQL で表領域を作成する

以下の SQL を実行して DBA_TABLESPACES で確認します

  

create tablespace TEST2
datafile 'D:\ORACLE\ORADATA\LIGHTBOX\TEST2.ORA'
size 5M
  

そうすると、SEGMENT_SPACE_MANAGEMENT だけが違う事に気がつきます。ですから、SQL で表領域を作成する場合は、実際は以下のようにして下さい。

  

create tablespace TEST2
datafile 'D:\ORACLE\ORADATA\LIGHTBOX\TEST2.ORA'
size 5M
segment space management AUTO
  

とりあえず、ここまでは表領域としての属性ですが、見逃してはいけないのが「データファイル」としての属性です。データファイルには、「自動拡張」するかしないかという属性が有り、DATAFILE 句 で指定するようになっています。「Enterprise Manager Console」 から作成した場合でも、なにもしなければ「自動拡張しない」となります。もし、自動拡張を有効にするには、ファイルの行を選択して「えんぴつアイコン」をクリックします。そして、記憶域タブを選択して AUTOEXTEND をチェックします

この際、増分値を指定しないと1データプロック(DB_BLOCK_SIZE、通常 8192)となるので 1メガ程を指定しておけば良いでしょう。

SQL としては、なにも指定しなければ 「自動拡張しない」 事になります。ですから、以下のように指定して下さい

  

create tablespace TEST2
datafile 'D:\ORACLE\ORADATA\LIGHTBOX\TEST2.ORA'
	size 5M
	autoextend on
	next 1M
	maxsize unlimited
segment space management AUTO
  

自動拡張を使用禁止にする場合は、NEXT およびMAXSIZE の値を 0 に設定します

  SQL で表領域を削除

実際は殆ど実行する事の無い処理ですが、初めての場合は失敗するかもしれません。Enterprise Manager Console で削除するのが確実ですが、SQL で処理する場合は OS 上のファイルも同時に削除するオプションを付けて実行するようにします。

このほうが後々混乱が生じるのを避ける事ができます(Enterprise Manager Console ではデフォルトです)

  

drop tablespace TEST2
including contents and datafiles
  

  ※ 表領域関連の 静的データディクショナリビューと動的パフォーマンスビュー

DBA_TABLESPACES
DBA_DATA_FILES
DBA_FREE_SPACE

V$TABLESPACE
V$DATAFILE




yahoo  google  MSDN  MSDN(us)  WinFAQ  Win Howto  tohoho  ie_DHTML  vector  wdic  辞書  天気 


[oraclehelper]
CCBot/2.0 (https://commoncrawl.org/faq/)
19/06/25 16:27:36
InfoBoard Version 1.00 : Language=Perl

BatchHelper COMprog CommonSpec Cprog CprogBase CprogSAMPLE CprogSTD CprogSTD2 CprogWinsock Cygwin GameScript HTML HTMLcss InstallShield InstallShieldFunc JScript JScriptSAMPLE Jsfuncs LLINK OldProg OracleGold OracleSilver PRO PRObrowser PROc PROconePOINT PROcontrol PROftpclient PROjscript PROmailer PROperl PROperlCHAT PROphp PROphpLesson PROphpLesson2 PROphpLesson3 PROphpfunction PROphpfunctionArray PROphpfunctionMisc PROphpfunctionString PROsql PROvb PROvbFunction PROvbString PROvbdbmtn PROvbonepoint PROwebapp PROwin1POINT PROwinSYSTEM PROwinYOROZU PROwindows ProjectBoard RealPHP ScriptAPP ScriptMaster VBRealtime Vsfuncs a1root access accreq adsi ajax amazon argus asp aspSample aspVarious aspdotnet aw2kinst cappvariety centura ckeyword classStyle cmaterial cmbin cmdbapp cmenum cmlang cmlistbox cmstd cmstdseed cmtxt cs daz3d db dbCommon dbaccess dnettool dos download flex2 flex3 flex4 framemtn framereq freeWorld freesoft gimp ginpro giodownload google hdml home hta htmlDom ie9svg install java javaSwing javascript jetsql jquery jsp jspTest jspVarious lightbox listasp listmsapi listmsie listmsiis listmsnt listmspatch listmsscript listmsvb listmsvc memo ms msde mysql netbeans oraPlsql oracle oracleWiper oraclehelper orafunc other panoramio pear perl personal pgdojo pgdojo_cal pgdojo_holiday pgdojo_idx pgdojo_ref pgdojo_req php phpVarious phpguide plsql postgres ps r205 realC realwebapp regex rgaki ruby rule sboard sc scprint scquest sdb sdbquest seesaa setup sh_Imagick sh_canvas sh_dotnet sh_google sh_tool sh_web shadowbox shgm shjquery shvbs shweb sjscript skadai skywalker smalltech sperl sqlq src systemdoc tcpip tegaki three toolbox twitter typeface usb useXML vb vbdb vbsfunc vbsguide vbsrc vpc wcsignup webanymind webappgen webclass webparts webtool webwsh win8 winofsql wmi work wp youtube