• ベストアンサー

データファイル情報について

こんにちは。 以下のコマンドにて、オラクルのデータベースのテーブル使用状況が出力されますが、それぞれの項目についての詳細が知りたいです。 コマンド:select * from dba_data_files; 項目:特に、MAXBYTES,USER_BYTES,BYTESについての説明

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

質問者が選んだベストアンサー

  • ベストアンサー
  • taspon
  • ベストアンサー率69% (9/13)
回答No.2

BYTES データファイルの現在のサイズです。 USER_BYTES お客さんに対してなら、Oracleの管理情報を除いた実際に格納できるサイズという説明でよいのではないでしょうか。 MAXBYTES 拡張できる最大のサイズです。 ちなみにdba_data_filesはテーブルの使用状況ではありませんがよろしいでしょうか。 表領域を構成するデータ・ファイルの情報です。(テーブルなどを収容する領域です) テーブルの使用状況なら、dba_tablesやuser_tablesなどが適しているかと思います。

yano-kouichi
質問者

お礼

遅くなりましたが、参考になりました。 ありがとうございました。

その他の回答 (1)

回答No.1

OracleのマニュアルはWeb上で公開されているようですが、「マニュアル等を見ても分からないので、もう少し分かりやすく説明して欲しい」という質問ですか?

yano-kouichi
質問者

補足

WEB上のマニュアルは見ましたが、漠然としていて、お客様に納得できるほどの情報がありません。 素人でもわかるような、説明がほしいということになります。

関連するQ&A

  • 表と表領域とデータファイルについて

    よろしくお願いします。 表と表領域とデータファイルの関係を一発で導く方法を 教えてください。 今のところ、下記2つに分けているので、1つのSQLとしたいです。 データベースは、Oracle9i(9.2.0.8.0)です。 どうぞよろしくお願いします。 1. ------------------------------ SQL> select table_name, tablespace_name from all_all_tables 2 where table_name = 'SAMPLE' 3 ; ------------------------------ 2. ------------------------------ SQL> select tablespace_name, file_name from DBA_DATA_FILES 2 where tablespace_name = 'USERS' 3 ; ------------------------------

  • MySQLのデータファイルの位置について

    MySQLでテーブル、データベースを作成したのですが、 OS上から作成したテーブル・データベースが保存されているファイル(データファイル?) が見つけられません。 テーブルにデータをインサートしてコミットして、 セレクトを行ってデータは反映されていることは確認しています。 OSはWindows 7 MySQLのバージョンは5.5です。 user_dbというデータベースを作成し、 show databasesを行った結果、 information_schema mysql performance_schema test user_db が表示されることから、データベースuser_dbは正常に作られていると思います、 user_dbに対して、インサートは可能で、一度データベースを停止して、 再起動後、インサートしたデータがみれています。 しかし、インストールフォルダのMy.iniのdatadirで指定されているフォルダには mysql performance_schema のフォルダしかない状態です。(ここにuser_dbフォルダが作成されると思うのですが) どこにデータが保存されているのでしょうか?

    • ベストアンサー
    • MySQL
  • OWNER名を指定せずにテーブルを検索方法

    こんにちは、Oracle初心者です。 ユーザーAで作成したテーブルを、ユーザーBで照会する方法を 教えてください。 新規に作成したユーザーBにDBA権限を与え、Oracleログイン後、 SELECT * FROM A.TABLE_NAME とすると問題ないのですが、 SELECT * FROM TABLE_NAME と、OWNER名を省略するとエラーが発生します。 (テーブルが存在しないというエラー) OWNER名を指定せずにテーブルを検索するにはどうすれば良いでしょうか?幼稚な質問で申し訳ございませんが、宜しくお願いします。 現在Oracle9iを使用しております。

  • SQLServerのデータベース間でデータコピー

    こんにちは。SQLServer2000(SP3a)、VB6.0(SP5)でデータベースの勉強をしています。用語に詳しくないので、うまく説明できないと思いますが、相談にのってください。 SQLServerに、「データベースA」と「データベースB」があり、VBのコマンドボタンをクリックすると、データベースAのテーブル1のデータをそのままデータベースBのテーブル1に移動させたいと思っています。 私の知識では、データベースAのテーブル1のデータをSelectですべて読み込み、変数などに入れておき、データベースBのテーブル1にInsertするという効率の悪い方法しか思い浮かばず、レコード数が多いので、時間がかかり困っています。 他に良い方法があればアドバイスをお願いします。 よろしくお願いします。

  • テーブルの差分を抽出したいのですが。。。

    mysqlでUSER_TABLとUSER_CHK_TABL一致しないデータ全てを出力したいのですがmysqlだと『NOT EXISTS』が使えないので困ってます。 TABLE構造はUSER_TABLとUSER_CHK_TABLも下記です。 create table USER_TABL (USERNAME varchar(255),MAIL_ADDRESS varchar(255)); oracleならこんな感じかと思ったのですが。。。 select * from USER_TABL where NOT EXISTS (select * from USER_CHK_TABL)

    • ベストアンサー
    • MySQL
  • DBA_FREE_SPACEについて

    Oracleのビュー、DBA_FREE_SPACEの見方を教えてください。 手持ちのデータベースで、エクステントが発生しているものがあり、気になったのでこれを再構築しようと思いました。 手順としては、 1.現状のデータベースをエクスポート(FULL,COMPRESS=Y) 2.テーブル、インデックスを全てドロップ 3.テーブルスペースをドロップ 4.テーブルスペースを再構築    (容量は余裕があったので、初期に作成時と同じスクリプトで)    (既存のデータファイルは消さずにreuseオプションを指定) 5.テーブル、インデックスをINITIAL EXTENTSを現状の容量より上の値に調整。 6.テーブル・インデックスの再作成 7.データのインポート 8.全オブジェクトの再コンパイル の順に実施しました。 作業後、DBA_SEGMENTSより全テーブル・インデックス にextentが発生していない状態になったことは確認できたのすが、 DBA_FREE_SPACEを見ると、テーブルスペースがあたかも二つに分割されて使われているように 表示がされました。(下記参照) SQL> select * from dba_free_space where tablespace_name ='TB1' TABLESPACE_NAME FILE_ID BLOCK_ID BYTES BLOCKS RELATIVE_FNO --------------- ------- -------- ----- ------ ------------ TB1 9 12981 40960 5 9 TB1 9 13001 103219200 12600 9 この状態による悪影響としてはどのようなものがありますか? また、この状態を解消する方法があれば教えてください。 (CREATE TABLESPACEを"reuse"でやったのがまずかったのでしょうか?) 環境は Oracle8.0.6.0.0(Solaris) Oracle8.1.6.2.0(Solaris) の2点で同様の現象を確認しています。 以上、よろしくお願いします。

  • PostgreSQLのカラムに"user"という名前のカラムがある場合のデータ表示について

    PostgreSQLを使い始めたのですが、わからないことがあるので知恵をおかしください。 ユーザー名を管理するテーブルを以下のように作成しました。 テーブル:table  |No|user|from |  |1 |Atom|tokyo|  |2 |Boss|izu |  |3 |Cat |chiba| このテーブルのデータをuser部分のみ表示するに以下のSQL文を作成しました。  SELECT user FROM table 上記のSQLを実行したのですが、userのカラム部分がcurrent_userとテーブルのカラムではなくセッションの情報を取得してきてしまいます。 試しに  SELECT * FROM table で実行するとテーブルのデータを取得でき、  SELECT table.user FROM table で実行するとsyntax errorとエラー表示されデータが結果が表示されません。 userをセッション情報としてではなく、テーブル(table)のデータとして取得したい場合はどのようにしたらいいのでしょうか? よろしくお願いします。

  • SELECTで1件のみ取得するには?

    こんにちわ。 いまORACLE9iを使用している者です。 ACCESSでは SELECT TOP 1 項目名 FROM テーブル名 ORDER BY 項目名; で並べ替えたデータ群のうち,先頭の1件だけを 取ることができますが, ORACLEでそのような機能(SQL)はあるでしょうか? 教えてください。 よろしくお願いします。

  • datatableのデータ型

    oracleデータベースよりselectした結果を データアダプタよりデータテーブルにバインドしています。 select時にはTO_NUMBER()としており、抽出結果も整数のみ しか存在しない事を確認しています。 しかしながら、データテーブルではデータ型(datatype)がdecimalとなって しまいます。データ型がintやlongとならない原因や回避策が分る方が いらっしゃいましたらご教授頂けますと幸いです。 別のデータテーブルを準備してデータをコピーしていく方法が ある事は理解していますが、それ以外の方法があるとありがたいです。

  • -3.34 が -3.3399999999999999 で表示される

    SQLServer2005でfloat型の項目に-3.34 を手入力(クエリアナライザでinsert文で入力した時も同様)して、コマンドプロンプトから以下のselect文を実行した所、-3.3399999999999999 で表示されました。 sqlcmd -U ユーザ名 -P パスワード -d データベース名 1> select * from テーブル名 クエリアナライザで同様に select * from テーブル名 した場合は、-3.34 のまま正しく表示されます。 -12.34、-22.34などの数値ではこの事象は発生せず、何か条件があるようです。お分かりになる方がいらっしゃいましたら、ご教示いただけないでしょうか?