• 締切済み

オラクルのテーブルの割当サイズについて

DBA_SEGMENTSのBYTEにて表示されるのは割当サイズ?だと思われるのですが(実サイズではなく)、これはテーブルをCREATE時に決められるサイズなのでしょうか? データをINSERTすると徐々にDBA_SEGMENTSのBYTEの数値も大きくなるのでしょうか?

  • Oracle
  • 回答数1
  • ありがとう数1

みんなの回答

回答No.1

まず、Orecleの場合、ほとんどがカスタマイズ可能なものです。自動で割り当てられるのほとんですが、作成時に指定、システムから自動に割り当て(変更化、不可あり<=システムの設定を変更)、作成後システムを停止後設定変更等があります。そのうえで下記のように検索しましょう http://www.google.co.jp/search?hl=ja&q=%22DBA_SEGMENTS%22+oracle+%E3%83%98%E3%83%AB%E3%83%97&lr=lang_ja から http://docs.oracle.com/cd/E16338_01/server.112/b56311/statviews_4265.htm (オンラインヘルプですね) http://www.oracle.co.jp/forum/thread.jspa?threadID=8006830 (あなたと類似の質問です) 上記を理解したうえで http://www.google.co.jp/search?hl=ja&q=%22DBA_SEGMENTS%22+oracle+%E3%83%98%E3%83%AB%E3%83%97&lr=lang_ja#lr=lang_ja&hl=ja&tbs=lr:lang_1ja&sclient=psy-ab&q=%22Table+Create%22+oracle+%E3%83%98%E3%83%AB%E3%83%97&oq=%22Table+Create%22+oracle+%E3%83%98%E3%83%AB%E3%83%97&gs_l=serp.3...385293.398310.0.398834.20.13.5.0.0.4.756.4486.0j3j4j2j0j3j1.13.0...0.0...1c.1j4.14.psy-ab.5fwq1Idjce8&pbx=1&bav=on.2,or.r_qf.&bvm=bv.47008514,d.dGI&fp=7c4fdc3e30b8656&biw=1401&bih=907 で検索すると、 http://docs.oracle.com/cd/E16338_01/server.112/b56299/statements_7002.htm (オンラインヘルプ) そこで http://www.google.co.jp/search?hl=ja&q=%22DBA_SEGMENTS%22+oracle+%E3%83%98%E3%83%AB%E3%83%97&lr=lang_ja#lr=lang_ja&hl=ja&tbs=lr:lang_1ja&sclient=psy-ab&q=%22CREATE+TABLE%22+oracle+%22DBA_SEGMENTS%22+%E5%A4%89%E6%9B%B4&oq=%22CREATE+TABLE%22+oracle+%22DBA_SEGMENTS%22+%E5%A4%89%E6%9B%B4&gs_l=serp.3...7763.8575.5.8998.3.3.0.0.0.0.227.527.0j2j1.3.0...0.0...1c.1.14.psy-ab.xTlJohp7i4k&pbx=1&bav=on.2,or.r_qf.&bvm=bv.47008514,d.dGI&fp=7c4fdc3e30b8656&biw=1401&bih=907 から http://otn.oracle.co.jp/forum/message.jspa?messageID=3020119 などを見れば、何を意味しているかわかってくるかと。

MON2MON
質問者

補足

ご丁寧に有難う御座います。 ちなみに、別件でもう1点悩んでいることがありまして。 テーブルをオラクルのバッファ POOLのKEEPに設置したいのですが、 テーブルの割当サイズ(dba_segmentsのbyte)もしくはテーブルの実サイズのちらを考慮にKEEP Bufferのサイズは見積もりをするのでしょうか。 宜しくお願いします

関連するQ&A

  • テーブルの自動キー再割り当て

    以下sqlでテーブルhogeを作成し、idを自動キーにしています。 CREATE TABLE `hoge` ( `id` INT NOT NULL AUTO_INCREMENT, ........(省略).......... PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=sjis; このテーブルのレコード番号4を削除するとテーブルのidは 1,2,3,5(最終)になり, 新しいデータを追加(INSERT)するとidは 1,2,3,5,6(最終)とid番号4が欠番になります。 テーブルのidを1,2,3,4,5と続き番号に再割り当てして、新しいレコードがid番号6の挿入されるようにするにはどのようにすればよいでしょうか? sql文をご教示い頂きたくよろしくお願いします。

  • オラクルのテーブルについて

    質問があります。 SQL文で指定したテーブル(test_tbl)のCREATEされた 日時とかわかるようなものはないでしょうか? たとえばテーブル (table_a, table_b, teble_c:全て同じ構成だが格納データが異なる)が あって一番最後に作成されたテーブルに アクセスしたい場合なんですが どのようなSQL文になるでしょうか? またそんな事はSQLではかけないような場合、 どのようにすればテーブルのクリエート日付を取得 することができるでしょうか? 宜しくお願いいたします。

  • Oracleのテーブル作成スクリプトを作成したい

    Oracle8i のDBA Studioで数十の表を作成したのですが、ここからテーブルの作成スクリプトを出そうとして困りました。いわゆる Create Table文なのですが、これを自動で簡単に作る方法はないでしょうか?SQL-ServerのEnterprise Managerでは、SQLスクリプトの作成があって、Create文を簡単に生成できるのですが、これと同じような感覚で、既に作成してあるテーブルのCreate文を出力する方法はないでしょうか?Oracleには、ほとんど慣れていないので、方法があると思うのですが、探し方が悪いらしく途方にくれています。どなたかよい方法を御存じないでしょうか。

  • フィールドサイズの変更方法について

    お世話になります。SQL初心者です。 VB5+ACCESS97でデータが入っているテーブルのある特定のテキスト型の列サイズを5から6に変更する必要が出てきました。 テーブル名を変えたくないのですが、 1.列サイズを変更した新テーブルをCREATE 2.元テーブルを全項目SELECTして新テーブルにINSERT 3.元テーブルをDROP 4.新テーブルと同じ属性で元テーブル名で新々テーブルをCREATE 5.新テーブルから全項目SELECTして新々テーブルにINSERT 6.新テーブルをDROP この方法しかないでしょうか。コピーのコピーで時間がかかりそうで悩んでます。 手元の書籍ではACCESS97では、テーブル名のリネームとか、ORACLEのALTER TABLEのような属性変更ができないような気がするのですが、もしコマンドをご存知でしたら併せて教えてくださると、とても助かります。 よろしくお願いします。

  • Oracleエラー(権限の関係?)

    <環境>マシン:IBM RX6000 OS:AIX Ver.4.3 DB:ORACLE(Ver.8.1.6) 上記環境で、急にCREATEができなくなりました。 (1)ORA-01536: 表領域 TABLESPACE1に対して割り当てられた領域を使い果たしました。 というエラーが出たのですが、 空き領域を整理し、データファイルを新しく割り付けた後も同様のエラーが 発生しました。 それまでの処理は、 2)AユーザからテーブルデータEXPORT後BユーザへIMPORT ※※補足※※ Aユーザのロール:CONNECT、DBA Bユーザのロール:CONNECT、RESOURCE だったのですが、この状態だとBにIMPORTできない ため、 IMPORT前にBにDBAロールを追加、IMPORT後に削除 3)SQL*Loader実行すると、 エラーコード-2 STDERRに関する何かのエラーが出、 (↑ログが残っていないため詳細不明) その後、再度SQL*Loaderを実行しても、 (1)のエラーが発生して処理終了 4)Bユーザに関して、TABLESPACE1に関しても、その他 のTABLESPACE(TABLESPACE2)に関しても、CREATE不可 INSERTも件数が多いと途中で(1)のエラー発生 ※※補足※※ Aユーザに関しては、TABLESPACE2にはCREATE可能 (TABLESPACE1はテスト未) 最終的には、BユーザにDBAロールを追加して、 実行可能になったのですが、元々はDBAロールを持たせずに 処理できていたので、原因が分かりません。 EXPORT&IMPORT時に「権限をIMPORTするか?>Yes」を選択 したことや、DBAロールを追加&削除したことが影響するので しょうか? ただ、最近Oracleサーバの調子が悪かったため、その影響も あるかもしれません。 全く原因が分かりませんので、心当たりのある方、 よろしくお願いします。

  • ORACLEのテーブルスペースについて

    OS:AIX Ver.4.3 DB:ORACLE(Ver.8.1.6) でSQL*Loaderを実行していたのですが、 "エラーコード -2 STDERR 書込不可"? ↑ (ログを消してしまってはっきりは覚えてないのですが) というエラーログが出力され、その後、ロードする テーブルのTABLESPACEについて "ORA-01536: 表領域 TABLESPACEXXXに対して割り当てられた領域を使い果たしました。" というORACLEのエラーが発生し始めました。 その後、CREATEは上記ORACLEエラーにより実行不可、 その後のINSERTは途中までできていたのですが、途中から 同様のORALCEエラーにより実行不可、 という状態になっています。 (直前まで通常にデータの更新は行えていました) ちなみに該当するTABLESPACEに割り付けられたデータ ファイルにはまだ十分領域が空いています。 該当するTABLESPACEのデータファイルに対する割付領域を "ALTER TABLE ~" で拡大できたと思うのですが、 方法がはっきり分かりません。 どなたかご存知の方、また、このエラー自体の原因が 分かる方、いらっしゃったらお願いします。

  • PostgreSQLのテーブルサイズ

    LinuxでPostgreSQL 8.1.11を運用しています。24時間運用なので、VACUUM FULLはせずに毎日深夜にVACUUM ANALYZEを実行しています。 insert,update,deleteが頻繁に起こるシステムです。 VACUUM FULLを実行した場合、どの程度領域を回収できるのかを見積もろうとしています。 現在のデータサイズとOS上の使用容量の差分がわかれば、VACUUM FULLで回収できる領域が見積もれると考えているのですが、データサイズの確認方法がわかりません。 次のような計算でしかわからないでしょうか? (1行のサイズ×行数)×全テーブル 上のような計算の場合でも、textのような場合は、サイズが行ごとに異なりそうな気がします。データサイズを確認する方法はありませんでしょうか?

  • テーブルサイズ制限について

    webで検索していたところ、テーブルにはデフォルトでサイズ制限(4G)があり(OSによる制限もあるみたいですが)、データが増えてきたときにそれを大きくしないとデータが書き込み出来ないという投稿を発見しました。 現在、バージョン5.0を利用しているのですが、テーブルサイズを確認したところ(Max_data_length)、4G以上の数字が表示されています。 バージョン5.0では4Gという制限はなくなったのでしょうか?デフォルトから変更していないので、よく分からないのですが。。。

    • ベストアンサー
    • MySQL
  • Oracleテーブル作成について

    Oracle初心者です。 表領域 TEST_TABLESPACEがあるとします。 (サイズは、1024Mと仮定) (1)この表領域に一つのテーブル TEST_TABLEを作成します。 (サイズは、INITIAL 512M NEXT 512M) ここで質問なのですが、例えば上記でテーブルの NEXTを600Mとかにすると、データが512M以上入って NEXTのサイズが拡張された場合、エラーが発生するのか それとも、最大の512Mが拡張され、1024M分のデータが 入らない限り、エラーが発生しないのか? 教えていただけますか? (2)テーブル作成のDDL内でSTORAGE句指定しない場合、 INITIALとかNEXTは、どう設定されますか? 長々と申し訳ないですが、よろしくお願いいたします。

  • SQLServerのトリガ機能について質問です 

    質問です! 困っているので早めの回答を望みます! <困っていること>  SQLServer2005のシステムテーブル名「dba.sysprocesses」に データがInsertされた事をトリガとして起動し、Insertされた データを別テーブル(1テーブルで新規作成するテーブル) に反映したい。 システムテーブル内へのInsertをトリガとした処理は 可能なのでしょうか。 また、デメリット面などございましたら合わせて教えてください。