- ベストアンサー
10gより前のバージョンからRECYCLEBINの中身を削除するには?
Oracle10gのデータベースでテーブル等を削除した際にできる フラッシュバックを削除したいのですが、 10gより前のバージョンのSQL*plusから PURGE RECYCLEBIN を実行すると、 SP2-0734: "PURGE RECY..."で開始するコマンドが不明です - 残りの行は無視されました。 などとなります。 10gより前のバージョンのSQL*plusから、 RECYCLEBINの中身を削除する方法はないのでしょうか? ないなら、削除する際にフラッシュバックテーブルを作成しない方法はありますでしょうか?
- kyt1112
- お礼率87% (7/8)
- Oracle
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
SQL*Plusのパーサを使わないように begin execute immediate 'purge recyclebin'; end; / で消せないですか?
その他の回答 (2)
- ossan_hiro
- ベストアンサー率66% (88/132)
>begin >execute immediate 'purge recyclebin'; >end; >/ その手がありましたね。失礼しました。
- ossan_hiro
- ベストアンサー率66% (88/132)
>10gより前のバージョンのSQL*plusから、 >RECYCLEBINの中身を削除する方法はないのでしょうか? 無いです。 >ないなら、削除する際にフラッシュバックテーブル >を作成しない方法はありますでしょうか? drop table時にpurge句をつけることでゴミ箱行きを 回避できます。 DROP TABLE テーブル名 PURGE; これも10gのコマンドなので10g以外の sql*plusからはできないかもしてません。 #用語的な話で、この機能はフラッシュバックドロップ機能です。 #フラッシュバックテーブルは別の機能をさすのでご注意を。
お礼
ご回答ありがとうございます。 >DROP TABLE テーブル名 PURGE; 8iのsql*plusから試したところ、 ゴミ箱行きにせずに削除することができました。 用語についてのご指摘もありがとうございました。
関連するQ&A
- Oracle10g・・ODBCで接続できない
Oracle10gのStandardEditionをサーバーにインストールし、データベースを作成しました。 それに対してクライアントにも10gをインストールし、ローカルメソッド名を設定して、接続テストも通りました。SQL*Plusを起動して接続することもできました。 ですが、Accessを使ってテーブルの中身を見ようと思い、ODBCを設定したのですが接続テストをすると固まってしまいます。どうすればODBCで接続できるようになるのでしょうか?
- ベストアンサー
- Oracle
- コマンド:全データを表示させる or SqlDeveloperの入手先
SQL*Plusから、スキーマー・データベースの一覧やテーブル一覧など全ての情報を表示させる方法が知りたいです。 MySQLでいうところの、show databasesのようなコマンドです。 あと、Oracle Sql Developerの日本語バージョンのダウンロードサイトが知りたいです。 無ければ英語版でも構いません。 というより無料で手に入るのでしょうか?
- ベストアンサー
- Oracle
- テーブル領域をrmコマンドで消してしまいました.
Oracle(ver8)データベースを使って、sqlコマンドでテーブルを作成後、UNIXのrmコマンドでテーブル領域を削除しまいました。 そのため、Oracle起動時にこの領域をマウントしようとして失敗してしまい データベースにアクセスできません。 復旧方法をご教授下さい。 テーブルは不要なので、Oracleデータベースにこの領域が削除されていることを認識させたいのです。
- ベストアンサー
- その他(データベース)
- DBの削除とインポート
初心者ですが、よろしくお願いいたします。 Win2000 Serverで、Oracle8i Workgroup Serverを使用していますが、今使用しているDBを削除し、まるまるエクスポートしたDBをインポートするのですが、 【削除】 1.『Database Configuration Assistant』の『データベースの削除』を使用すればよいのでしょうか? 2.上記方法で、Oracle8i自体が削除されることはないでしょうか? 3.SQL*PLUSにて削除はできるでしょうか? 又、もしできるようであれば、どのようなステートメントで、何を削除すればよいでしょうか? 【インポート】 1.インポートは、どのようにすればよいでしょうか? 2.SQL*PLUSを使用してのインポートと、他の何かを使用したときの方法と、そのメリット・デメリット教えていただければ幸いです。 よろしくお願いいたします。
- 締切済み
- Oracle
- Oracle10gのDBからデータを抜き出したい
Oracle10gのテーブルに登録されているデータをある条件で 抜き出しテキストデータを作成したいのですが、簡単な方法はありますでしょうか。SQLコマンドも初心者レベルですので、 良い方法を教えてください。よろしくお願いします。
- ベストアンサー
- Oracle
- ORACLEでのSQLについて
SQLについて教えてください。 今、VBからORACLEデータベースにSQLを投げる処理を作っているのですが、 一つわからないことがあります。 例えば、アクセスでは、クエリで新しいテーブルを作成するという考え方がありますが データベースがORACLEでも同じようなことができるのでしょうか? 別に新しいテーブルを作成することに執着するわけではなく、テーブルのデータを削除 してから、そのテーブルにSQLにて引っ張ってきたデータを入れる という ものでもいいと考えています。そのやり方でもかまいませんので教えてください。 宜しくお願いします。 Oracle8.1.6 vb6
- ベストアンサー
- その他(データベース)
- Oracle8iでテーブルをエクスポートする方法
Oracle10gを使用しています。Oracle8iから特定のテーブルを抽出してOracle10gに入れようとしましたが、Oracle10gのexpコマンドは互換性の問題で8iに対して使えませんでした。そこでOracle8iのexpコマンドを使用しようかと考えましたが、テーブルごとのエクスポートができないとのことで不可(データベースが大きすぎるため、そもそも8iのExpコマンドを実行できる権限を持っていないのでできませんが)。 仕方がないのでExpコマンドはあきらめて、テーブル定義抽出→データをCSVまたはSQLで抽出という手順でデータを移そうかと考えています。データの抽出はできたのですが、テーブル定義の取得は10gで使えるdbms_metadata.get_ddlが使用できないので取得できずにこまっています。8iでテーブル定義を取得するにはどうしたらいいのでしょうか? なお当方8iのデータベースのSystem/Sys権限を所有していないません。また8iがインストールされているサーバへログインすることもできません。それを考慮した上で実現可能な方法をご提示願います。
- 締切済み
- Oracle
- Oracle11gの接続について大至急教えて下さい
WindowsServer2008R2(64bit)にOracle11g(64bit)のデータベースを構築し、 同機上のアプリケーションからアクセスしようとしています。 (具体的にはPro*C/C++を使ってプリコンパイルしているCで作成したDLLやEXEです。) これらのアプリケーションは元々Oracle10gの機能を用いて作成してあった物を流用している為、 Oracle11g(32bit)のクライアントがないと動作しない様です。 従って、2008Serverには32bit版の11gクライアントもインストールしました。 (Oracle11g(64bit)のメディアパック内の32bitクライアントディスクからインストール) (手順) 1:Oracle11g(64bit)ホストのインストール&データベースの構築 2:Oracle11g(32bit)クライアントのインストール 3:データベースに表領域とユーザを作成 4:クライアントでローカル・ネットサービス名の作成 で、ここまではできたのですが、 11g(32bit)クライアント側のSQL*Plusを起動して作成したユーザでログインしようとすると ORA-12560:TNS:プロトコル・アダプタ・エラーが発生しましたとなってしまいます。 ただ、コマンドプロンプトから「ユーザ/パスワード@接続文字列」を直接指定して SQL*Plusを起動するときちんと接続できます。 何か順番や方法を間違えているのでしょうか? ちょっと急いでいてなるべく早く解決させたいので、 間違い・チェックすべき事の漏れなど 直接的な解決策でない事でもかまいませんのでご教授下さい。
- 締切済み
- Oracle
- truncate文で全テーブルを一気に削除できるか?
さきほどと似たような質問ですみません。 SQLコマンドであるデータベースの全テーブルを削除したいんですが、 truncate一文ですませる方法はないでしょうか。 それとも、一行ずつ truncate tableA truncate tableB .... とやっていくしかないのでしょうか?
- ベストアンサー
- Oracle
お礼
ご回答ありがとうございました。 試してみたところ、この方法で消すことができました。 こんな方法があったんですね。