• ベストアンサー

Oracle 10gで順序sequenceの作成(定義)した内容を見るには?

Oracle 10gで順序sequenceの作成(定義)した内容を見るにはどうしたらよいのでしょうか? desc sequence_nameでは SP2-0381: DESCRIBE sequenceは使用できませんと表示されます。

  • bazax
  • お礼率5% (12/228)
  • Oracle
  • 回答数2
  • ありがとう数4

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

  • ベストアンサー
  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.2

 次の検索を実行してください。  select * from user_sequences where sequence_name = "find_sequence"; where句のfind_sequeceの所は、探したいsequenceの名前を入れてください。もし、where句を省略すると自分の保有するすべての順序が出てきます。  出てくる各列の意味は、次の通りです。  sequence_name 順序名  min_value 順序の最小値  max_value 順序の最大値  increment_by 順序の間隔  cycle_flag 順序が最大値の後、最初の値に戻るかどうか  order_flag 順序番号が順番に生成されるかどうか  cache_size 順序のキャッシュの量  この表は、システム表の一つで、順序の定義すべてを管理しています。(正確には、システム表へのビューですが。)  もし、あなたに、それなりの権限があるのであれば、all_sequences表を検索すれば、システムにおいてあなたが使用できるすべての順序がリストできますし、dba_sequencesを検索すれば、システム上に存在するすべての順序をリストできます。ただし、dba_ で始まるシステム表の検索は、権限が必要です。また、与えられた権限にかかわらず、この表への挿入・削除・変更は、すべて不可です。念のため。

その他の回答 (1)

  • rollyk
  • ベストアンサー率61% (8/13)
回答No.1

user_sequencesの値を確認すれば、sqlplusで接続したユーザ所有の シーケンスのオブジェクトが確認できると思います。

関連するQ&A

  • oracleの順序のexp/impにつて

    oracleの順序のEXP/IMPについてです。 oracle 11gでlinuxなのですが、別サーバ上にあるAというスキーマ(例:hon1)の シーケンスを、別サーバ上にあるBというスキーマ(例:dev1)に、expdp/impdp コマンドで、sequenceのみを、export/importをしようとしています。 expdpコマンドでsequenceのみはexportできたのですが、impdpコマンドで、sequence をimportするとエラーがでて失敗します。 SEQUENCEの処理はできるのですが、OBJECT_GRANTの作成でエラーで失敗します。 別環境の別スキーマに入れようとしているので、権限の作成で失敗するのは当たり前 かもしれませんが。 回避する方法、grantを実行しない方法はないのでしょうか。 また、表のimportみたいに、記述したテーブルのみをimportするような、ターゲットの sequenceのみをimportするような記述はできないのでしょうか。 宜しくお願い致します。 環境:oracle 11g、Linux

  • oracleのsequenceについて

    oracle masterのオラクル入門の勉強をしています。 知識があやふやなので教えてもらいたいのですが、 オブジェクトであるsequenceにアクセスできるのは 作成したユーザーのみ(そのスキーマ内)? or 複数のユーザー(全てのスキーマ内)でも可能? どちらでしょうか? スキーマの名前が変更されているかもしれませんが、 スキーマとユーザーは同じ意味ですよね?

  • oracleのシーケンスについて

    こんにちは。oracleのシーケンスについて教えてください。 次のようなシーケンスを作成します。 CREATE SEQUENCE SQC_TEST INCREMENT BY 1 START WITH 1 MAXVALUE 999999 MINVALUE 1 CASHE 20 CYCLE / この時、キャッシュ分の20という値は、いつどこでクリア?されるのか知りたいのです。 一番最初はシーケンスをクリエイトした時にキャッシュが20確保されると思うのですが、次にキャッシュが確保されるタイミングっていつなんでしょう? 最初の20を使い果たした時?それともシーケンスを作成してあるインスタンスをリブートした時?? というのは、設定したシーケンスが、実際発番していないのに一日ごとに20ずつカウントされていってるので原因をつきとめたいのです。 とりあえずはNOCACHEに設定してありますが、原因がわかれば、と思い質問させていただきました。 何かアドバイスいただけたらと思います。宜しくお願いいたします。

  • Oracleのシーケンスありのテーブル作成について

    Oracleのテーブルを作るのに、ある列を自動で「全体の通し番号」みたいなユニーク(一意)な番号を振りたいく、 シーケンス(sequence)を作成しテーブルを作ろうとしているのですがうまくいきません。 どこがわるいのでしょうか。 create sequence "yamaaf_seq"; CREATE TABLE TBL_AFFILIATE_SESS( UNIQ_ID NUMBER(11,0) DEFAULT nextval('yamaaf_seq') NOT NULL, ORG_CODE VARCHAR2(64) NOT NULL, primary key("UNIQ_ID"));

  • オラクルのシーケンスについて

    オラクルの連番(シーケンス)の振り方について一つお聞きしたい事がございます。 Insert時にシーケンスを使い、0から100まで順に連番を振りたいの ですが、100に到達する前に、あるタイミングで現在値を0に戻して 再び1から連番を振りたいんです。 ちなみにあるタイミングを、下記に簡単に例として書きます。 (1)ファイルから1レコードずつデータを読み込む。  (1)初回は何もチェックせずInsertをし、先頭から4バイトまでの値を変数に格納  (2)2レコード目以降は、先頭から4バイトまでの値を前回の値(変数)と比較   True(値が同じ)  ⇒順番に連番を振る   False(値が違う)  ⇒新たに0から連番を振る。              変わった値を変数に格納する。 (2)Insertをする。 私の知っている知識で行けば、シーケンスは1テーブルで一つのシーケンス しか使用できなかったはずですが・・・なにぶん知識がないので、もしか したら出来たのかな?と思ったので質問しました。 上に書いた事が可能であるかどうか教えてください。 よろしくお願いします。

  • オラクル 10g リスナーの設定ファイルについて

    お世話になります。 新規DBをDBCAで作成し、その後、Oracle Net Managerで、listener.oraファイルを設定したところ、外部プロシージャ定義(extproc関連)が 作成されてませんでした。 利用環境:DBサーバー(solaris8、Oracle10gR1)、クライアントPC(winXP、Access2003のアプリ) 複数のクライアントPCからLANを経由してDBサーバーへアクセスします。 質問 1.外部プロシージャ定義はどのような場合に記述するのでしょうか? 2.とりあえず記述しておいた場合に何か問題が起こる可能性はありますでしょうか? 3.記述場所は以下でよろしいでしょうか? SID_LIST_リスナー名 = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = DBネーム) (ORACLE_HOME = オラクルHOME) (SID_NAME = オラクルSID) ) ---以下外部プロシージャ定義(1)--- (SID_DESC = (GLOBAL_DBNAME = PLSExtproc) (ORACLE_HOME = オラクルHOME) (SID_NAME = extproc) ) ---(1)以上---- ) リスナー名 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = プロトコル)(HOST = ホスト名)(PORT = ポート番号)) ) ---以下外部プロシージャ定義(2)--- (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) ---(2)以上--- ) 宜しくお願い致します。

  • oracle8iでのシーケンス作成

    こんにちは。教えてください。 oracleのシーケンスなんですが、シーケンスを作成するときに cycleでmax値を超えると値が元に戻るっていうのがあると思うのですが、 それと同様に、たとえば2001年から2002年に変わったタイミングで シーケンスの値を1に戻す、という設定方法はあるのでしょうか。 よろしくご教授ください。

  • oracle シーケンスの欠番を確認したい

    いつもお世話になります。 oracleのシーケンスの欠番を確認したいのですが、以下のようにサービス、インスタンスの再起動を試してみたのですが欠番はおきませんでした。 ・サービスの再起動 コントロールパネルから、サービスを開いて、「OracleServiceXE」、「OracleXETNSListener」の再起動。 シーケンスをselectした結果、欠番確認できず。 ・インスタンスの再起動 コマンドプロンプトを起動し、sqlplusから、sysdbaでoracleに接続。 shutdown、startupコマンドを行い、インスタンスを再起動。 シーケンスをselectした結果、欠番確認できず。 インスタンスの再起動を行えば欠番がおきる、というのをサイトで見たのですが、欠番は起きませんでした。なぜ起きないのでしょうか。 何か手順に不備があるのでしょうか。 alter system文による欠番は確認しています。 しかし、意図的にこのコマンドを発行しなければよいので、確認したいのは、通常運用時、データベースが起因してシーケンスの欠番が発生してしまう、ということです。 再起動などは普通に行うと思うので、その際に欠番が発生することを確認したいのです。 宜しくお願いします。 oracle:Oracle Database 11g Express Edition Release 11.2.0.2.0 OS:Windows Vista Home Promium 64bit

  • Oracle9iからOracle10gへ変更

    Oracle9iからOracle10gへデータベースを変えようとしています。 データベースのみの変更のためアプリには手を入れなくても動くだろうと安易に考えていますが 何か変更しなければいけないところ(例:ロジックやコントロール)はあるのでしょうか? [現在の環境] WindowsXPPro Oracle9i VB6 SP5 [今後の環境] WIndows7Pro Oracle10g VB6 SP5 補足) VBフォーム上にORADCコンポーネントを使用してグリッドにDB情報を表示しています。 このあたりのコントロールもそのまま使用することはできるのでしょうか? ご存知の方ご教授いただければと思います。

  • ORACLE9i→11gにバージョンアップでアプリケーションの速度が下がる

    Oracle9iを使用したアプリケーションのOracleのみ11gにバージョンアップしました。 OSはWindowsXP SP2 アプリケーションのほうはVB6.0SP6で作成したもので前と同じものです。 9iを使用していたときは、すぐに応答がある処理も、 11gの場合は、30秒待ってやっと応答するという具合です。 (どのSQLかまだ特定はできてないのですが、単純なSELECT文を使っているところやレコード移動で起こっている気がします) 11gになって、追加された機能とかのせいであれば、いらない機能なので、 OFFにしたりすれば早くなったりするのでしょうか? なにか思い当たることがあれば教えてください。