いつもお世話になってます。
自分で探した結果では取得ことができませんでした。
そこで、ここにいる皆様の力を借りたく、投稿いたしました。
【ツール】Microsoft Visual Studio .NET 2003
【FramWork】.NetFramWork1.1
【データベース】Oracle10gかoracleXE
VB.NET2003のコード上でOraclデータベースに存在する各表領域の更新日を取得したいのですが、でるるのでしょうか。
できるのであればその方法をご教授いただきたいと思っています。
※参考URLを載せていただけると幸いです。
No.3ベストアンサー
- 回答日時:
>今回知りたいのは表領域自体の更新日
あぁなるほどです。
>B.CREATEDとB.LAST_DDL_TIMEは同じ日付時間でした~テーブルにデータが追加、変更、削除された時に更新されている。
いいえ、違うと思いますよ。
http://oracle.na7.info/8_2ex.html
CREATED:オブジェクト作成時のタイムスタンプ
LAST_DDL_TIME:オブジェクト最終更新時のタイムスタンプ
ですよ。データの追加/更新/削除のタイミングには関係ないと思います。
おそらくCREATEDLAST_DDL_TIMEがそちらの環境で同じなのは、ALTERを使用しないで、DROPとCREATEでメンテナンスをしているからではないでしょうか?
SQL(1):テーブルの作成
CREATE TABLE TBL1
(FLD1 VARCHAR2(1) NOT NULL)
SQL(2):テーブルの構成変更
ALTER TABLE TBL1 ADD
(FLD2 VARCHAR2(1) NOT NULL)
というようなメンテナンスをしていたら、作成日と更新日は異なるはずです。
なので、DBからオブジェクトをDROPするときにPURGEオプションを指定しなければ、全てDBA_OBJECTSを見たら、情報が残っています。
PURGEされていたら、跡形も残らないと思いますが、、、、
以上の事から、TABLESPACE「SCOTT」の最終更新日を取得するには
------------------------------------
SELECT *
FROM
(
SELECT LAST_DDL_TIME FROM DBA_OBJECTS
WHEREOWNER = 'SCOTT'
ORDER BY LAST_DDL_TIME DESC
) A
WHERE ROWNUM = 1
------------------------------------
っていうようにしたらよいと思いますが、どうでしょう?
1050YEN様。
二度目の回答ありがとうございます。
>ALTERを使用しないで、DROPとCREATEでメンテナンスをしているからではないでしょうか?
DROP→CREATEでメンテしているデータベースで結果を取得していました。
言われてみると確かに同じでなければ可笑しいですよね。
PURGEオプションは何も指定していないようです。
教えて頂いたSQL・・・うまく取れました。
ありがとうございます。
実行した結果から見てたぶんあっていると思いますが、
OWNERの部分を使用しているユーザ名にすればいいという理解で間違ってませんよね。
OracleXEの場合はインスタンス名を入れても大丈夫っぽいですね。
そのあたりは詳しく調べてみます。
本当に助かりました。
No.2
- 回答日時:
オラクルの掲示板にて
http://otn.oracle.co.jp/forum/message.jspa?messa …
USER_OBJECTSからCREATEDとLAST_DDL_TIMEを取得したらいいみたいですね。
ただし参考URLのままだと、完全に消されていないゴーストのテーブルまで情報として引いてくるきそうなので、
・USER_OBJECTSとUSER_TABLESの結合
・USER_TABLES.DROPPED = 'NO'
を加えると、もっとよいかもしれませんね。
SELECT
A.TABLE_NAME
,B.CREATED
,B.LAST_DDL_TIME
FROM
USER_TABLESA
INNER JOIN
USER_OBJECTSB
ON A.TABLE_NAME = B.OBJECT_NAME
AND A.DROPPED= 'NO'
AND B.OBJECT_TYPE = 'TABLE'
回答ありがとうございます。
1050YEN様に教えて頂いたURLとSQLを参考に実行してみました。
取得後の結果を見るとB.CREATEDとB.LAST_DDL_TIMEは同じ日付時間でした。
その日付時間からすると、テーブルにデータが追加、変更、削除された時に更新されている。
これは今後の知識として勉強となりました。
が、今回知りたいのは表領域自体の更新日なので少し違っているようです。
質問内容がわかりにくくて申し訳ありません。
何かわかりましたら、また、アドバイスの方お願いいたします。
No.1
- 回答日時:
表領域すなわちTABLESPACEの表構造には
更新日が含まれていないので直接ORACLEに
アクセスしても無理だろうと思います。
下記 表構造
SQL> DESC DBA_TABLESPACES
名前 NULL? 型
----------------------------------------- -------- ------------
TABLESPACE_NAME NOT NULL VARCHAR2(30)
BLOCK_SIZE NOT NULL NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NOT NULL NUMBER
MAX_EXTENTS NUMBER
PCT_INCREASE NUMBER
MIN_EXTLEN NUMBER
STATUS VARCHAR2(9)
CONTENTS VARCHAR2(9)
LOGGING VARCHAR2(9)
FORCE_LOGGING VARCHAR2(3)
EXTENT_MANAGEMENT VARCHAR2(10)
ALLOCATION_TYPE VARCHAR2(9)
PLUGGED_IN VARCHAR2(3)
SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)
DEF_TAB_COMPRESSION VARCHAR2(8)
RETENTION VARCHAR2(11)
BIGFILE VARCHAR2(3)
回答ありがとうございます。
直接Oracleにアクセスしても取得できないのは調べていてなんとなくわかったのですが、
fortranxp様の回答から無理と言う事が確信できました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP バージョン情報の取得方法について 1 2023/03/15 11:56
- ソフトウェア VisualStudio のデータブレークポイントを有効にする方法 1 2023/05/01 09:42
- C言語・C++・C# Microsoft Visual Studio Community 2019 タブキーが入力できない 1 2022/04/30 06:39
- PHP phpのエラーについて 1 2022/06/27 22:30
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- Visual Basic(VBA) ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:16
- その他(開発・運用・管理) おんどとりWebStorage APIから温度情報を取得し表示したい 2 2023/08/03 09:53
- JavaScript Javascriptを使ってQRコード読み取り、取得した情報をPOSTしたいと思っています。 1 2023/04/28 15:18
- その他(プログラミング・Web制作) プログラミング Python 1 2022/09/28 05:02
- PHP PHPSpreadsheetによる書き出し時のページネーション方法について 1 2023/03/20 10:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで縦と横を入れ替えたい
-
別のaccessファイルからデータ...
-
ACCESS DCOUNTの抽出条件について
-
データがあれば○○なければのSQL
-
VBAでテーブル名とカラム名を動...
-
VB.NETでテーブルを作成
-
ACCESS VBAでテーブル内の特定...
-
DAOでSQLServerに接続し、LeftJ...
-
ImageMagickでgif画像の一部が...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
メルカリのメルカードで買い物...
-
Excelシート上のマクロを登録し...
-
「PC Helpsoft Driver Updated...
-
VBA エンターキーでイベントに...
-
Googleフォーム・複数人の申し...
-
CloseとDisposeの違い
-
特定のキーを押すまでループさ...
-
こんなことてしますか??
-
生成AI画像について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データがあれば○○なければのSQL
-
【access】複数のフィールドの...
-
ACCESS VBAでテーブル内の特定...
-
Access vbaで重複レコードの削...
-
ACCESS DCOUNTの抽出条件について
-
Accessで縦と横を入れ替えたい
-
VBAでテーブル名とカラム名を動...
-
DataGridViewで複数条件の抽出...
-
重複した複数のレコードを1レ...
-
Access から Excelのシートをイ...
-
DAOでSQLServerに接続し、LeftJ...
-
SQLServer→Access インポート
-
ACCESSで実行時エラー3008
-
sql文で削除クエリを書く
-
別のaccessファイルからデータ...
-
抽出条件でデータ型が一致しま...
-
access追加クエリーでform入力...
-
Accessリンクするテーブルが見...
-
【PHP/MySQL】コード上で生成...
-
ACCESSで購入回数を表示する方...
おすすめ情報