回答数
気になる
-
OracleDatabaseのテーブル名
無償版のOracle Database 10g XEを使用しているのですが、 CSVファイルをロードして、テーブルを作成する過程で、テーブル名を付けるところで、 日本語を混ぜて、Shift-JISで「TBL_AAA_第01表_統計データ」と入力し、次へ進むと、 エラーとなりテーブルを作成できません。「TBL_AAA_第01表」とすると作成可能ですが、何のテーブルか分からなくなります。 Oracleの文字数制限は30バイトだと記憶しているのですが、入力したテーブル名は計算すると27バイトで制限以内になります。 このテーブル名は使用できないのでしょうか?
質問日時: 2011/03/25 13:09 質問者: INDES
ベストアンサー
5
1
-
日付の最大値レコードを取得する方法について
お世話になります。 SQLで日付の最大値を取得する方法です。 テーブルのデータ内容は以下のようになっています。 | 社員番号 | 社員名 | 日付 | 順序 | +---------+-------+-----------+-----+ | 100 | AAA | 2011/05/01 | 2 | ← このレコードを取得したい +---------+-------+-----------+-----+ | 100 | AAA | 2011/05/01 | 1 | +---------+-------+-----------+-----+ | 100 | AAA | 2011/04/01 | 1 | +---------+-------+-----------+-----+ | 200 | BBB | 2011/04/01 | 2 | ← このレコードを取得したい +---------+-------+-----------+-----+ | 200 | BBB | 2011/04/01 | 1 | +---------+-------+-----------+-----+ 取得したいレコードは、 社員ごとの最大日付の最大順序をもつレコードです。 (上記の1行目と4行目のレコードを取得したい) この場合、 下記のようなSQLを考えます。 --------------------------------- SELECT 社員番号, 社員名, 日付 FROM テーブル名 WHERE 社員番号 = 'xxx' AND 日付 = (SELECT MAX(日付) FROM テーブル名 ) AND 順序 = (SELECT MAX(順序) FROM テーブル名 ) ---------------------------------- 但し、上記の場合、 社員ごとに最大値レコードが取得できません。 どなたかレコード取得方法について 教えていただけないでしょうか? よろしくお願いいたします。
質問日時: 2011/06/05 10:33 質問者: masy0312
ベストアンサー
5
0
-
SQLの結合条件について
SQLの結合条件について ・table_A ID | ATAI 01 | AAA 01 | XXX 02 | ABC 03 | DEF table_B ID | ATAI 01 | 不要 02 | 必要 03 | 必要 04 | 不要 上記のようなテーブルAとBがあるとします。 やりたいこと 1.テーブルAに存在するIDをBのIDから抽出 2.テーブルAの「ATAI」の値が’AAA’のIDは抽出対象から外す。 ※テーブルAの01IDに’AAA’と’XXX’がありますが、Bの抽出対象から外したい。 2.がうまくいきません。 select B.ID from table_A A,table_B B where A.ID = B.ID 上記のSQLに2.の条件を足して、結果を02と03にしたいです。 ※CASEは使わずにお願いします。
質問日時: 2011/11/14 19:45 質問者: fisher2
ベストアンサー
5
0
-
ORACLEのSQLで
次のようなTEMP表があったとき、 KEY1 KEY2 VALUE1 VALUE2 ------------------ A 1 10 20 A 2 15 10 B 0 10 15 B 1 20 30 KEY1を集計キーとして、VALUE1はKEY2の順で最初にでてきた値を、VALUE2は集計値を出力したい(下記)のですが、 KEY1 VALUE1 VALUE2 --------------- A 10 30 B 10 45 どのようなSQL文でできるのでしょうか。 ACCESSだと、 select KEY1,first(VALUE1),sum(VALUE2) from TEMP group by KEY1 なのかなと思うのですが… (それでもKEY2の小さい値の方がFIRST値の対象として選択されるのかが「?」なのですが…) どなかたよろしくお願いします。
質問日時: 2004/01/22 10:29 質問者: yanchiko
ベストアンサー
5
0
-
データ削除とSQL*Loaderでのインポート
SQL*Loaderを使ってデータをインポートするのですが、既存データが存在するテーブルにインポートするため、実行前に、条件に一致する一部のデータを削除します。 ですが、SQL*Loaderでインポートが失敗した際には、元に戻したいと思っています。 そういう場合に、SQL*PlusからDELETEのSQL文を実行してから、SQL*Loaderを起動してインポートするとなると、SQL*Plusから抜けた時点でCOMMITされてしまいますよね?そのためSQL*LoaderでインポートがエラーになってROLLBACKされても、削除されたデータは元に戻らないですよね・・・。 全件削除なら、CTLファイル内でREPLACEを指定してインポートするのですが・・・ データの一部削除とSQL*Loaderでのインポートを一連の処理として、エラーの際にはROLLBACKさせられる方法はありますでしょうか? よろしくお願いします。
質問日時: 2005/12/14 15:18 質問者: sky_blue
ベストアンサー
5
0
-
LIKEを使用したレコード抽出について
OracleでLIKEを使用したレコード抽出で困っています。 あるテーブル(TAB_A)が以下のような属性だとします。 ------------- COL1 CHAR(5) COL2 CHAR(5) このとき、このテーブルに次のようにデータが格納されています。 COL1 COL2 -------------- ABC== 12345 [=]は便宜上1バイトスペースを表す このテーブルを対象として (1) SELECT * FROM TAB_A WHERE COL1 LIKE 'ABC%'; (2) SELECT * FROM TAB_A WHERE COL1 LIKE 'ABC=='; ([=]は便宜上1バイトスペースを表す) (3) SELECT * FROM TAB_A WHERE COL1 LIKE 'ABC'; というSQLを発行した場合に、いずれもレコードが抽出されてしまいます。(1)(2)の場合は当然だとは思うのですが、(3)でもレコードが抽出されることが理解できません。このようなことが起こり得るのでしょうか。
質問日時: 2006/11/24 11:02 質問者: yanchiko
解決済
5
0
-
チューニングのこつ
大雑把すぎるかもしれませんが、 アプリケーションチューニング パラメータチューニング SQLチューニング のポイントみたいなのがあれば、教えてください。 よろしくです。 それと、 作成したオブジェクトのシンプルな確認方法も知っておきたいと思います。 オブジェクト作成時に、エラーメッセージが返ってこなかったので「それでよし」ということではなく、 例えば、シノニムを作成したら、スキーマ指定なしで見れるとか、 シーケンスを作成したら、..... パッケージを作成したら、..... インデックスを作成したら、など、種類に応じて、妥当な確認方法があると思います。
質問日時: 2006/12/02 19:42 質問者: noname#21729
解決済
5
0
-
SQL-LOADERの逆のもの
先日SQL-LOADERについて質問させてもらいましたが、もう1つ教えて欲しいことがあります。 SQL-LOADERの逆のものはないのでしょうか? 200万件のテーブルのデータを、条件毎に高速エクスポート(固定長テキスト)したいのですが。 つまりSQL-WRITERというものは無いかな~、、、と、、、(笑) 最悪、PL/SQLで200万件をまわして、テキスト出力させようと思っていますが、多分時間が相当かかると思うので、、、、 なにか良い方法があったら教えてください。
質問日時: 2007/01/23 16:44 質問者: kiyoabc
ベストアンサー
5
0
-
OracleのSQLについて 助けてください。
OracleのSQLについて 助けてください。 (例) テーブルA 「human」 | ID | 名前 | テーブルB 「kotoba」 | ID | 名前 | テーブルC 「kakutougi」 | ID | 名前 | テーブルD 「kotoba_have」 | human.ID | kotoba.ID | テーブルE 「kakutougi_have」 | human.ID | kakutougi.ID | テーブルAには一人一人のIDと名前が入っています。 テーブルBには言語の種類IDと種類名(英語、日本語など)が入っています テーブルCには格闘技の種類IDと種類名が入っています。 テーブルDとテーブルEはその人がどの言語がしゃべれ、どの格闘技ができるかを示しています。 テーブルD、Eはその人が複数の言語が話せ、複数の格闘技ができる場合複数のhuman.IDが入ります。 ここで日本語と英語が話せ、柔道と空手ができる人を呼び出したい場合はどのようなSQLにすればよいのでしょうか。 プログラムでwhileで回してはできるのですが、データ量が膨大のためSQLでどうにかしたいのですがわかる方いらっしゃいますでしょうか? 助けてください。よろしくお願いします。
質問日時: 2012/09/25 23:30 質問者: atuuuuu02
解決済
5
0
-
Object Browser
OracleのDBについて、勉強しているものです。 OracleのDBの中が見れるツールという事で、Object Browserの体験版で検証をしたいのですが、 PC(Win2000)<=>DB(UNIX)のような環境でもDBの中身がみれるのでしょうか。 接続のポップアップで、ユーザ名やパスワードとホスト文字列が要求されますが、ネットワーク越しの場合は見れないのでしょうか。 ご存知の方がいましたら、教えてください。
質問日時: 2004/10/08 16:52 質問者: da_capo
解決済
5
0
-
Statement ignored というエラー
Oracle 9iを使ってsqlファイルを実行させたところ、タイトルにあるように、 PL/SQL: SQL Statement ignored というエラーメッセージが出力されました。 いろいろ検索してみると、これは、私にシステム権限がないことからおこるとあったのですが、 その設定変更の仕方がいまいちよくわかりませんでした。設定変更のしかたを教えていただけないでしょうか。 また、設定変更したことによって変わるのは私自身のシステム権限だけであって、他にコンピュータ(UNIX)を共有している人たちには影響はありませんよね? 立て続けに質問ばかりすみませんが、よろしくおねがいします。
質問日時: 2005/03/15 10:52 質問者: pooh_bear
ベストアンサー
5
0
-
「ORA-6413 接続がオープンしていません」 エラーについて
VB6.0で開発したアプリ内でPro*Cプログラムを Shell関数でCALLしてOracle8iデータベース環境に 接続しようとしていますが、Pro*Cプログラム内の CONNECT命令で"ORA-6413 接続がオープンしていません。"が返され、接続できません。 (Pro*Cコンパイル時のNetのバージョンもマシン環境と合わせてあります) どなたか解決策お持ちの方、教えて頂けないでしょうか。よろしくお願いします。 なお、この処理は以前は全く問題なく動いていたのですが、 突然接続エラーが出るようになってしまいました。 ※コーディングは下記のようにしています。 (VB) 変数1 = Shell(PRO*C.exe 接続情報(id/ps@Host) 引数2 引数3 引数4 引数5 引数6 引数7) (Pro*C ちょっと見にくいですが。。) int DBConnect( 接続情報 ) char *接続情報 ; { strcpy( (char *)変数.arr, 接続情報 ) ; 変数.len = strlen( (char *)変数.arr ) ; EXEC SQL CONNECT :変数 ; return(0) ; sqlerr: warning: Err_Print( sqlca.sqlerrm.sqlerrmc ) ; ←Connectでエラーとなりここに飛んでます。Err_Print内でテキストにエラーメッセージを吐いてます return(-1) ; }
質問日時: 2005/04/22 16:25 質問者: chotaihen
解決済
5
0
-
PHP4によるOracleへの接続
PHP4(Linux)からOracle 8.1.5(WindowsNT) への接続を考えております。 なるべく構成をシンプルにしたいのとコストをかけたくないという理由から、Linuxにインストールすべきクライアントソフトを模索しています。 Oracleに明るくないもので素人調べなのですが、通常ですとOracle for Linuxのサーバライセンスを購入しそれに付属するクライアントをインストールする。これが一番素直なのでしょうか。 またODBCでも接続が可能と小耳に挟んだのですが、この場合ですとクライアント側には特にライセンスやクライアントソフトなどは必要ないのでしょうか。 妙な事を言っているのかもしれません、どなかお知恵をお貸し願えれば幸いです。 よろしくお願いいたします。
質問日時: 2006/05/09 09:39 質問者: noname#17882
ベストアンサー
5
0
-
現在の接続先の取得方法
SQL*Plus を使用して、作業した後、 接続先は同じままユーザを変える時 connect ユーザ/パスワード@接続先 と入力しますが、この接続先を毎回入力するのが煩わしいので、 なんとか省略できないものかと思ってます。 ユーザ名を引数として受け取り、現在の接続先を自動的に取得して、 同じ接続先に connect するSQLファイルを作成しようとしているのですが、 現在の接続先を取得するにはどうしたらよいのでしょうか?
質問日時: 2007/02/14 02:30 質問者: b13
ベストアンサー
5
0
-
統計情報の取得=コミットですか?
いつもお世話になっております。 あるシステムの処理で 大量データ挿入⇒統計情報の取得⇒挿入したデータを基にファイル作成 という処理を行っております。 ファイル作成時に失敗した際に、ロールバック処理を行うように 設定しているのですが、既にデータが挿入されてしまっています。 初心者でいまいち統計情報の取得が良く分かっていないのですが、 統計情報を取得するSQL文を流した時点でトランザクションは コミットされるのでしょうか? よろしくお願い致します。
質問日時: 2008/12/02 11:58 質問者: pepepepepe
ベストアンサー
5
0
-
アナライズとインデックス作成どちらが先か?
Oracle10gで、テーブルにデータを入れた後、以下はどちらを先に実行すべきでしょうか。 ・アナライズ(統計情報の取得) ・プライマリキーとインテックスの作成
質問日時: 2011/03/03 17:03 質問者: gyomu1649
解決済
5
1
-
Oracle10g キャッシュヒット率について
Linuxサーバー(Red Hat Enterprise Linux 5.5)にOracle10g(10.2.0.4)をインストールしたのですが、パフォーマンスの問題で、バッファ・キャッシュ・ヒット率が90%を下回っており、まずはこれを解決する必要があるとのことで、少し調べ始めたのですが、10gではsga_targetで自動管理できるということを知りました。 最終目的は、パフォーマンス最適化を目指していますが、そのために確認しておくべき内容および設定方法を教えてください(あるいは回答にマッチしたサイトがあれば)。sga_targetを攻略すれば達成できるのでしょうか? 当面の目的はバッファ・キャッシュ・ヒット率を上げることですが、どうすればよいでしょうか? Oracleド素人ですので、コマンドベースで教えていただけると助かります(^^; よろしくお願いします。
質問日時: 2011/03/26 20:47 質問者: yngwie0112
解決済
5
0
-
外部結合について
外部結合に関する質問です。 表A | 表B ID 名前 | ID 所持品 1 田中 | 1 りんご 2 佐藤 | 1 バナナ 3 鈴木 | 3 バナナ このように「誰が、何を持っているか」を表した表AとBがあるとき、 以下の条件でデータを取得したいと考えております。 ・ 所持品がある人は、名前と所持品の組み合わせを表示 ・ 所持品がない人は、名前だけを表示 ・ りんごをもっていない人は、名前と所持品の組み合わせに 加え名前だけの結果も表示 ・ UNIONは使いたくない ( 欲しい結果 ) 名前 所持品 田中 りんご 田中 バナナ 佐藤 (空) ← 所持品なし 鈴木 バナナ 鈴木 (空) ← りんごなし SELECT A.名前, B.所持品 FROM A, B WHERE A.ID = B.ID(+) では『鈴木 ( 空 )』 が取得できません。。。 UNIONを使えばできたのですが、都合上UNIONを使わず 上記のような結果を取得したいと考えています。 どなたかお知恵をお貸しいただけませんでしょうか。 よろしくお願いします。
質問日時: 2011/04/16 14:07 質問者: yyuuyy
ベストアンサー
5
0
-
SQL、2つのテーブルで条件一致したものだけdeleteする方法は?
オラクルSQLで質問です やりたいことは、 テーブルAから以下の条件に該当するデータを削除する。 基本的にはテーブルBの内容と比較して、一致したもの。 条件(全ての条件を満たすこと) テーブルA.AAA = テーブルB.AAA テーブルA.BBB = テーブルB.BBB テーブルB.CCC > 0 調べたところ、SQLサーバでは以下のように from を2つ書いて実現できるようです。 が、今回はオラクルなので文法エラーになります。 delete FROM テーブルA FROM テーブルB where テーブルA.AAA = テーブルB.AAA AND テーブルA.BBB = テーブルB.BBB AND テーブルA.CCC > 0 ; commit; よろしくお願いします
質問日時: 2005/10/19 17:59 質問者: orabegi
ベストアンサー
5
0
-
索引の再構築をすべき?
とあるプロジェクトに放り込まれた新人SEです。 当該PJでは、客先にDBを構築して納入しているのですが、最近動作が遅くなってきたというクレームを耳にしました。調べてみると、特定のテーブルのSelect処理に時間がかかっているようです。問題のテーブルは、毎日数十万件のデータがInsertされ、一定の保持期限より古いデータは毎日削除されます。 問題はここからで、索引は設定されていますが、それをメンテしているという話を聞かないのです。 ちなみに、日付に対応するパーティションがあり、表・索引ともにパーティションで管理されています。毎日深夜に一番古いパーティションを削除し、翌日分のパーティションを新規作成するデーモンが動きます。 OracleSilver挑戦中の頭で一生懸命考えたのですが、納入から時間が経っているので索引が凄いことになっているのでは・・・という考えと、毎日新しいパーティションが生成されてるから大丈夫なのでは・・・という根拠の無い考えが渦巻いています。 アドバイス、お願いできますでしょうか。
質問日時: 2006/02/11 17:57 質問者: pythian
ベストアンサー
5
0
-
SQLの高速化
SQLの高速化に関する情報を教えてください! 結合する時、どっちのテーブルを=の左にする(これ、分かりません・・・)、とか、多くのテーブルとテーブルの結合条件を書く際、WHEREに近い方にどういう結合条件を持ってきたらいい、とか、WHERE句を評価する時のDBの検索の仕組み(順番)とか・・・基本的なとこから全部知りたいです! ↑これは適当に言っていることであって、このような感じの情報がもしあれば、知りたいということです。 どうかお願いいたします。
質問日時: 2006/06/16 00:31 質問者: yumi_
ベストアンサー
5
0
-
なぜ、WHERE句とHAVING句があるのか?(質問文修正版)
なぜ、WHERE句とHAVING句があるのか?(質問文修正版) SQLを学んでいる時に、疑問に思ったことがあります。 それは、「なぜ、WHERE句とHAVING句があるのか?」ということです。 この2つは、 ・WHERE句 → 表から取り出す行の条件を指定 ・HAVING句 → グループ化した結果から取り出す行の条件を指定 という違いがあることは分かっています。 ですが、おなじ「行のかたまりに対する抽出条件」を指定しているのに、 なぜ、わざわざ2つに分ける必要があったのでしょうか? 分けないと不都合が生じるのでしょうか。 もし、明瞭簡潔に説明できる方がいらっしゃいましたら、教えていただけないでしょうか。 ※本質問は、質問内容に質問の主旨が変わってしまう大きな誤りがあったため、いったん締め切り後、再掲載させていただきました。
質問日時: 2010/10/19 22:09 質問者: yuki-alpha
ベストアンサー
5
0
-
SQLにて縦を横へ展開
[注文表] 注文番号 注文商品 注文金額 ======================= 111 あああ 5500 222 いいい 3000 [注文オプション表] 注文番号 オプション ================ 111 P1 111 P2 222 D1 上記のようなテーブルがあります。 これを下記のようにSQLでまとめたいですが可能でしょうか。 もしありましたら、サンプルSQLをご教示いただけませんでしょうか。 [注文一覧] 注文番号 注文商品 注文金額 オプション1 オプション2 ====================================================== 111 あああ 5500 P1 P2 222 いいい 3000 D1 お手数をお掛けしますが、なにとぞよろしくお願いいたします。
質問日時: 2010/11/15 01:47 質問者: uff-n
ベストアンサー
5
0
-
プライマリキーとは
cseでプライマリキーがtrueのカラムはどういう意味ですか? ユニークがtrueとfalseというのは分かりますが、プライマリキーの意味が分かりません。
質問日時: 2004/09/01 23:39 質問者: iufansu
ベストアンサー
5
0
-
データ
Excelに書かれたデータをOracleテーブルに 追加する方法、お知りの方おられましたら ご教授お願い致します。 ツールがあるようでしたら、それも ご教授お願い致します。
質問日時: 2004/11/29 13:51 質問者: shin-cyan
ベストアンサー
5
0
-
オラクル SQLにログイン出来ません
オラクルについてご質問させて頂きます。 書籍に付いていたオラクル10g<体験版>をインストールしたのですが、その後どの様にしたよいかがまったく分かりません。 SQLを開いてみると、ログイン画面が出てくるのですが、ここでのユーザーID、パスワード、HostStringとは何のことなのでしょうか? ご回答よろしくお願いします。
質問日時: 2006/06/03 22:47 質問者: midori22
解決済
5
0
-
あるデータベースの表を全部消すDOSコマンド
まったく同じテーブル構造のデータベースを2つ用意してまして、 A:WEB画面表示用 B:更新用 とし、更新作業はBに対して行い、更新が一通りすんでから、Bの内容をAにコピーする、というやり方をしています。 そのコピーをするとき、 1.Bをエクスポートする 2.Aの表をすべて消す 3.BをAにインポートする というやり方をとっており、1と3はDOSのコマンドラインで行うことができるんですが、2はDOSコマンドでできないものでしょうか? この1~3の作業をまとめて行えるバッチファイルを作りたいのです。 それが無理なら、ほかにたとえばJSPなどの言語で1~3をまとめてWEB上でボタンをクリックすれば一気にやってくれるものを作ろうと思っております。 やり方をご存知の方がいましたら教えていただけないでしょうか。
質問日時: 2006/11/21 09:12 質問者: msndance
ベストアンサー
5
0
-
オラクルを自宅サーバーに導入したい
オラクル10gを自宅サーバーに入れて使おうと思うのですが、 ライセンスなどわからないので、詳しい方にお聞きします。 以下のソフトのどちらかを入れようと思うのですが可能でしょうか? ライセンス契約を結ばないといけないなど聞いたことがあるのですが個人でもそうなのでしょうか? 目的は関係なく、どうしてもDBはオラクルがしたいです。 ●Oracle Standard Edition One for Win (5 Named User Plus) (Oracle Database 10g R2 (10.2.0) Standard Edition One for Win (32-bit)) DP v7 http://www.amazon.co.jp/exec/obidos/ASIN/B000RWSLES/ebookdesu0f-22/ref=nosim/ ●Oracle Database Personal Edition for Win (1 Named User Plus) (Oracle Database 10g R2 (10.2.0) Personal Edition for Win (32-bit)) DP v7 http://www.amazon.co.jp/exec/obidos/ASIN/B000RWSLG6/ebookdesu0f-22/ref=nosim/
質問日時: 2008/01/15 22:46 質問者: Kinshasa1
ベストアンサー
5
0
-
PL/SQL ストアドプロシージャが実行できません
はじめまして、ほんの最近プログラムの世界に入ったキグと申します。 2週間、インターネットや参考書(ポケットリファレンス、PL/SQL入門)などで調べていたのですが分かりませんでしたので質問させていただきます。 ORACLE11gパーソナルエディションでやっています。 (CSEで作成実行しました。) **************************** 作ったSQL文 CREATE OR REPLACE PROCEDURE PRO_1 IS BEGIN (実行確認できたSELECT文) END ※試してみたこと、 SELECT文の列指定はアスタを使わずに書きました。 AUTHID CURRENT_USERをプロシージャ作成のときに入れてみました。 **************************** EXEC PRO_1 エラー→構文エラーまたはアクセス違反です。 BEGIN PRO_1; END; エラー→オブジェクト'PRO_1'が無効です。 上記エラーが出まして実行できていない状態です。 解決方法が分かる方いらっしゃいましたら、ぜひ回答を お願いしたいです。 以上よろしくお願い申し上げます。
質問日時: 2009/08/04 11:14 質問者: kignus
解決済
5
0
-
仕事のミス:本番データの削除→ロールバック
こ、こんばんわ 私は客先でオブジェクトブラウザ(OB)を使って仕事している 新米SEです。 今日OBを使って本番データを操作していたところ、 あやまって一テーブルのデータを全件削除してしまいました。 すぐに気づいて青くなり、気を落ち着けて慎重にロールバックボタンを押したところ、 全データ復活しました。 消えている間そのテーブルに関するバッチプログラムも動いていません。 なので、特に報告もしなかったのですが、 今日のこのミスは報告しなくてもよかったんだろうか といまさら悩んでいます、、。 いったんデリートしたという事実はアーカイブログかなんかで わかるんですよね? ウツです。。
質問日時: 2009/09/30 20:52 質問者: tomasefing
解決済
5
0
-
Oracleのarchivelogアーカイブログについて質問です。
Oracleのarchivelogアーカイブログについて質問です。 全く知識がないにも関わらずシステムの管理者をやることになり日々勉強しているのですが参考書やネットの内容は、難しくなかなか理解することができません。 調べろよと言わず教えてくださいm(_ _ )m とりあえず、archivelogがリカバリに必要なものであることと、データベースの更新や削除のたびにデータを吐き出していることまではなんとか理解できました。 (1)社内のデータベースのarchivelogが合計10GBくらいあるのですが これは普通なのでしょうか? HDDの容量も近くなってきたのでできれば消したいのですが・・・(消し方は調べたので大丈夫です) 設定で数日置きでローテーションかけたりもできるようですが、何日分あればよいのでしょう?1日に1度、EXPコマンドでダンプを取っているので1日分あればよいのでしょうか? (2)データベースの更新や削除のたびに、吐き出されているようですが、監査ログとして使えるデータも入っていたりするのでしょうか?(どんなSQLが流れたか等) archivelogはリカバリ以外にも用途はあるのですか?
質問日時: 2010/07/14 00:08 質問者: iranaiko_o
ベストアンサー
5
0
-
select文の書き方
助けてください……(T-T) oracleをつかっていますが、SQLが苦手すぎて、どうしたらいいか分かりません。。。 解決策をご存じの方、教えていただけないで しょうか? テーブルは下記の2つがあります。 (1)Aテーブルの1カラムに、複数の商品IDを格 納している(カンマ区切り) (2)Bテーブルには、商品ID&商品名の一覧が ある このAテーブルの商品ID列に番号から、Bテー ブルの商品名を取得したいです。 ■Aテーブル no | 商品ID 1001 | 1、2 1002 | 1、2、3 1003 | 3 ■Bテーブル 商品ID | 商品名 1 | 商品A 2 | 商品B 3 | 商品C ■とりたいデータの形 1001 | 商品A、商品B 1002 | 商品A、商品B、商品C 1003 | 商品C カンマ区切りで格納しているとin句は使えな いと知りました。。 テーブルにカンマ区切りで格納することは、 変えることはできませんし、 SQLで1回で取得しなきゃいけないのです。 そんなこと、可能なのでしょうか。。 明日の朝までに教えていただければ、 すごくすごく助かります。。 すみませんが、宜しくお願いします。
質問日時: 2014/02/23 20:48 質問者: mio0201
解決済
5
0
-
DBサーバの接続エラー
Oracle9i 9.2.0 Oracle環境をDBサーバに構築しました。 開発環境ですので詳細はよくわかりませんが、表領域を作成し、 データファイルの設定変更後、EXPDAT.DMPファイルをインポートしました。 各クライアントからNet Configuration Assistantを開き 1.ローカルネットサービス名構成 2.追加 3.サービス名入力 4.TCP 5.ホスト入力 6.テストを実行 結果↓↓↓↓↓↓↓↓↓↓↓↓ 「接続中...ORA-12535: TNS:操作はタイムアウトしました。 テストが失敗しました。 指定した情報が間違ってる可能性があります。....」 過去(1ヶ月)に上記作業をPC3台ほど行ったことがありますが、 どれも正常に動作していました。 ちなみにホストにはPINGは通っています。 実際には単純なことかもしれませんが、アドバイスお願いします。
質問日時: 2005/10/12 10:45 質問者: toshi_200578
ベストアンサー
5
0
-
SQLPlusのグループ関数と小計について
Oracle9iのSQLPlusにて、日ごとのIDごとの小計をとりたいだけなのですが、 グループ関数の使い方がよくわかっていないのか上手くいきません。 以下のように出力したいと思い、以下のようなSQLを作成しましたが、、、、 <最終形> 入金日 ID 名前 請求開始日 請求終了日 合計金額 20080901 252 あああ 20080701 20080731 17000 20080901 252 空白 空白 空白 17000 ← ID=252の小計 20080901 534 いいい 20080601 20080630 18000 20080901 534 空白 空白 空白 18000 ← ID=534の小計 20080901 空白 空白 空白 空白 35000 ← 20080901の小計 <SQL文> select 入金日,ID,名前,請求開始日,請求終了日,sum(入金額) ~ group by rollup(入金日,ID,名前,請求開始日,請求終了日) <現状> 入金日 ID 名前 請求開始日 請求終了日 合計金額 20080901 252 あああ 20080701 20080731 17000 20080901 252 あああ 20080701 空白 17000 ← 不要 20080901 252 あああ 空白 空白 17000 ← 不要 20080901 252 空白 空白 空白 17000 20080901 534 いいい 20080601 20080630 18000 20080901 534 いいい 20080601 空白 18000 ← 不要 20080901 534 いいい 空白 空白 18000 ← 不要 20080901 空白 空白 空白 空白 35000 上記、SQL文ではrollupにて全項目を指定しているから当然なのかもしれませんが、 試しに、小計対象外を外に出して「group by 名前,請求開始日,請求終了日,rollup(入金日,ID)」としてみたりしましたが上手くいきませんでした。 要はグルーピング対象外および小計対象外の項目の扱い方がよくわかっていないのかと思います。 どなたかご存知の方がいらっしゃれば是非ご教示いただけませんでしょうか? 宜しくお願いします。
質問日時: 2008/10/12 11:20 質問者: ryozyryozy
ベストアンサー
5
0
-
oracleという会社の製品について教えてください。
oracleという会社の製品について教えてください。 私の会社では、システムが老朽化して、再構築すべきだという意見が出ているのですが、そこで問題になっていることがあります。 旧システムの開発を業界でも大手のF社に依頼したのですが、その結果、システムの端末に使うPCやサーバーもすべてF社から買うということが続いています。 F社自体は信用のある会社で問題はないのですが、そのような形で1社のPCやサーバーを買うことに制限されるということは今後避けたいという雰囲気があります。 そこである人に聞いたところ「oracleという会社のデータベースに関する製品がある。この会社の製品の仕様は業界標準だから、この仕様に基づいてデータベースを構築すれば1社に縛られることはないと思う。」ときいたのですが本当でしょうか? また、本当だとすれば、oracleという会社に直接頼むのか、システムを構築しようとするベンダー会社にたいして頼むんかどちらなのでしょうか? oracleという会社の製品やリレーショナルデータベースマネジメントシステムなるものについてもお教えくださるようお願いします。
質問日時: 2010/01/22 07:02 質問者: bbkanto
ベストアンサー
5
0
-
LEFT JOINの条件式で=’’を使用した場合
以下のSQLを実行した場合、レコードを1件取得して欲しいのですが、 なぜか上手く取得できません。 ご存知の方がいらっしゃいましたら、教えてください。 -- SQL1 --------------------------------------------------- select MAIN.MAIN_NAME, nvl(SUB1.CODE is NULL, 0) as SUB_CODE1, nvl(SUB2.CODE is NULL, 0) as SUB_CODE2 from MAIN_TABLE MAIN left join SUB_TABLE SUB1 on MAIN.CODE = SUB1.CODE and SUB1.ZYOUKEN = '1' (1) left join SUB_TABLE SUB2 on MAIN.CODE = SUB2.CODE and SUB2.ZYOUKEN = '' (2) where MAIN.CODE = 'XXX' ----------------------------------------------------------- 質問1. どうも、(2)の部分を空文字(?)ではなく何か値を入れると正常に1件 取得できるようなのですが、なぜ外部結合しているにもかかわらず 0件になってしまうのかが良く分かりません。 質問2. やはり条件に空文字を使用するのはよろしくないでしょうか? ※補足 念のため、以下のSQLを実行したところ、こちらは問題なく1件取得 できているので、抽出条件は間違っていないです。 -- SQL2 --------------------------------------------------- select MAIN.MAIN_NAME from MAIN_TABLE MAIN where MAIN.CODE = 'XXX' ----------------------------------------------------------- 以上です。宜しくお願いします。
質問日時: 2011/02/04 15:54 質問者: mirumiru36
ベストアンサー
5
0
-
9iと10gでの実行計画の違いについて
SQLの実行計画について教えていただきたいです。 【現状】 9iと10gそれぞれの環境で /*+ ALL_ROWS */ を使用したあるSQLの 実行計画を出したところ、全く異なった実行計画になっていました。 コストは9iが2000、10gが150で、10gでは数秒で結果が返ってくるのに対し、 9iではいつまで経っても結果が返ってきません。 9i環境と10g環境とではテーブルの構造やINDEXは同じですが データの中身は別で、件数は9iが100万件、10gが150万件です。 【教えていただきたいこと】 このように9iと10gとで実行計画や処理の時間が異なる原因は データの中身が違うこと以外では何が考えられるでしょうか。 解決策があれば合わせてお教えいただきたいです。 /*+ ALL_ROWS */を使えば9iでもSQLをコストベースにできると 思っているのですが、それが間違いなのでしょうか。。。 そもそも実行計画がよく分かっていないので申し訳ないのですが、 何かお気づきのことがあればお教えいただきたいと思います。 よろしくお願いします!
質問日時: 2011/05/22 05:16 質問者: yyuuyy
ベストアンサー
5
0
-
データベースオブジェクトの考え方がわからない
DBの勉強を始めたばかりで概念的にわからないことがありましたので、ご教授ください。 "データベースオブジェクト"という言葉についてです。 参考書を見ると、「表やビュー表などの、データベースで扱われるオブジェクトのこと」とあります。 このオブジェクトは表でいうとどの部分をさしているのでしょうか? #インスタンスというのもこのオブジェクトに含まれるという認識でしょうか。。 又、扱われるオブジェクトの種類は、データベースの種類により異なるとあるのですが、 例えば、OracleとPostgresSQLではどのような点が違うのでしょうか?
質問日時: 2011/07/16 18:48 質問者: Route_123
解決済
5
0
-
オラクルのライセンスコストを下げるには???
オラクルのソフトウェアライセンス費用のコストダウンの仕方を考えています・・・ とあるシステムの運用をしていますがそろそろリプレイス時期が近づいて来ました。 まぁそれなりに費用がかかることは織り込み済みなのですが・・・景気も景気なのでコストを削減しなさいと厳命されています。 そこでとりあえずサーバは仮想で現在の物理サーバより台数を減らして諸費用を削減しています。 その企画書を上司に出したらもっと削減はできないか検討しろと突き返されました。 基本的に今のアプリを移行することが一番安上がりです。 (使うDB変えたりアプリを買い換えは一応見積もってみたけど論外な金額になりました) あと減らすとしたら保守費用?ライセンス費用?といったところしかないかと思っています。 この対象のシステムは本番運用環境とてすと環境があります。 上司と相談していて「てすとの稼働率は低くていいんだから本番にてすと用インスタンスでも作りゃコスト削減だからやれよ!」 みたいに言われました・・・ 私としては正直えっ???と思っています。 たぶんリソースとかでは問題ないかと思いますが有事の際困るのではとおも一瞬頭をよぎりましたが反論できる材料がなかったのでその場では調べてまた報告しますにしました。 サーバ異常時について考慮を入れていないとは思うのですが・・・(たぶん上司は確率的に低い、最悪バックアップから戻せよって考え) 私的にはアプリの状況から同一サーバにはしたくありません。 しかし、コスト的にも厳しいのです。 10gの導入を進めていますが、なんとかオラクルのライセンスコストをカットするいい方法はないでしょうか? また、上司の意見は有りでしょうか???
質問日時: 2011/12/23 15:05 質問者: mr-r00
ベストアンサー
5
0
-
SQLで日付+時間で絞り込みたい
素人で申し訳ございません。 SQLで教えてもらえないでしょうか。 以下の①の「'2021/10/10'」を「今日の日付」にしたいのですが、 どのようにすればよいでしょうか。 ①はきちんとSQLが通りました。 ②の時間(10:00:00)を省いたSQLもきちんと通りました。 ③ダメがエラーになるのです。 ※今日の日付+'10:00:00'にしたいのです。 ①----------------------- SELECT * FROM T_JUCHUBODY WHERE TOROKUDT >= '2021/10/10 10:00:00' ----------------------- ②----------------------- SELECT * FROM T_JUCHUBODY WHERE TOROKUDT >= TO_CHAR(SYSDATE - 1, 'YYYY/MM/DD') ----------------------- ③ダメ----------------------- SELECT * FROM T_JUCHUBODY WHERE TOROKUDT >= ( TO_CHAR(SYSDATE - 1, 'YYYY/MM/DD') + ' 10:00:00' ) ----------------------- 何卒よろしくお願い申し上げます。
質問日時: 2021/07/20 10:35 質問者: kgyqk433
ベストアンサー
5
0
-
表の結合について
2つのテーブルがあります。(それぞれNo列が主キーです) 表A(名称:Tbl_A)に2レコードあります。 No, Str ←列名 10,str_1 ←データ 20,str_2 ←データ 表B(名称:Tbl_B)に2レコードあります。 No, Name ←列名 10,Name_1 ←データ 30,Name_3 ←データ このテーブルを結合して、以下のデータ(3レコード)を抽出するSQL文を教えてください。 No, Str, Name ←列名 10,str_1,Name_1 ←データ 20,str_2,(null) ←データ 30,(null),Name_3 ←データ ポイントは、「どちらかの表にあるデータは全て抽出したい」ということです。 よろしくお願いします。
質問日時: 2005/04/14 22:59 質問者: amazing
ベストアンサー
5
0
-
処理速度について(UPDATE)
下記の2つのSQL句があります。 どのSQLが処理速度が速いのでしょうか。 また、一般的なのはどのSQLなのでしょうか。 処理1 UPDATE テーブルA SET 項目A = '0' WHERE NVL(項目A,'0') = '0'; 処理2 UPDATE テーブルA SET 項目A = '0' WHERE 項目A IS NULL; 私としては、処理2の方が早いような気がするのですが・・・ 教えてください。お願いします。
質問日時: 2006/01/18 16:26 質問者: tyurajima
ベストアンサー
5
0
-
sqlplusの処理が途中でとまる
oracle10gを使用しています。 sqlplusでいくつかのDDLとDMLを一度にコピーペーストで流しました。一つ一つの処理後にcommit;も入っています。 しかし、最後のDMLで処理がとまってしまい、エラーもでません。内容は以下のようになっています。 insert into tbl_a (select distinct col1,'2006/01/01' from tbl_b where col1 is not null union select distinct col2,'2006/01/01' from tbl_b where col2 is not null union select distinct col3,'2006/01/01' from tbl_b where col3 is not null union select distinct col4,'2006/01/01' from tbl_b where col4 is not null union select distinct col5,'2006/01/01' from tbl_b where col5 is not null union select distinct col6,'2006/01/01' from tbl_b where col6 is not null); COMMIT; この処理を単独で実行すると、成功します。sqlpulsは、実行コマンドの量に制限などあるのでしょうか?なぜ、このようになるかわかりません。ちなみに、コマンドの全文字数は3990目で、処理が停止するのは、3648文字目です。この3648文字目にあたるのが、上記の >select distinct col3,'2006/01/01' の >select disti です。 大変急を要ししています。 よろしくお願いします。
質問日時: 2006/01/26 18:05 質問者: PINK_EGG
ベストアンサー
5
0
-
nullと文字数について
いつもお世話になっています。 select 項目1 from テーブル where 項目1 is null or length(項目1)>=0 質問1 上記SQLを作成した場合、全レコードが抽出されるのでしょうか? 疑問1 (1)項目1が空白一つの場合、length(項目1)>=0となる? (2)nullと空文字の違いがいまいちわからない。 以上、よろしくお願いします。
質問日時: 2008/10/13 01:17 質問者: kensiroooo
ベストアンサー
5
0
-
ロックについて
データベース初心者ですが、よろしくお願いします。 トランザクション処理のロック制御について質問です。 例えば、ユーザAが表に対しupdateを行い、commitを行わなかったとします。このときに、他のユーザBがその表に対しupdateを行った場合、エラーになるのでしょうか? 私は、トランザクション処理というのは、表操作を行ってからcommitするまでの間をひとくくりとして、その間はロックがかかると認識しています。 どなたかご教授願います。
質問日時: 2004/12/27 12:18 質問者: asamn777
ベストアンサー
5
0
-
見たことのないINSERT文
お世話になります。 他人の書いたSQLを解析して以下のようなコードを見つけました。 CREATE TABLE OYA ( IDNUMBERNOT NULL, NAMEVARCHAR2(10) ) / CREATE TABLE KO ( IDNUMBERNOT NULL, OYA_IDNUMBERNOT NULL, NAMEVARCHAR2(10) ) / INSERT INTO ( SELECT ID ,OYA_ID ,NAME FROMKO WHEREEXISTS ( SELECT ID FROM OYA WHERE NAME LIKE '%1' ) ) VALUES ( 1 ,1 ,'KODOMO-1' ); INSERT文でテーブル名を指定するかわりにSELECT文を指定しています。 SELECT INSERT文は知っていますが、このような表記は初めてです。 (文法エラーにならないのに驚きました) おそらく意図するところは、ある条件に一致したOYAが存在する場合に、KOをインサートするのだと思いました。 実際は、OYAがなくてもINSERTは実行されてしまいますが。。。 このような表記のINSERT文の説明が書いてあるサイトをご存知の方がいらっしゃいましたら、よろしくお願いします。
質問日時: 2007/04/20 16:15 質問者: dcaqua9999
ベストアンサー
5
1
-
SQL、Oracle どちらが理解しやすい?
今度大学でSQLまたはOracleどちらかの授業、そしてVBの授業を必修でとらなければいけません。が、頭が良いとは言えない私ですのでプログラミング言語やデータベース言語等のコンピューター系言語が関わるシステム系のことは先ほど少し調べてみましたが、さっぱり理解できません。 SQLとOracle、どちらが比較的易しいでしょうか? クラスネームが[Introduction to SQL][Introduction to Oracle]でしたので、恐らくそんな深く突っ込んだところまではやらない・・・と思いたいです。ですがデザインはすこしぐらいはやるみたいです。VBは[VB 1]です。 大学がアメリカの大学ですので、日本語でも何やらわからないものを英語で・・・となると大きな不安が付きまとうのです。(言語自体はアルファベットですが、説明が・・・) また、SQL(Oracle)とVB、どちらを先に履修すればもう片方が理解しやすいよー。などは無いでしょうか?それとも全く別物だからどっちを先に履修しても違いはない、ということでしょうか? やるとなれば日本語のサイトを使いながら必死こいてやります。皆さま少しだけアドバイスをください。
質問日時: 2011/06/11 14:48 質問者: jikitarisu1
ベストアンサー
5
0
-
oracleのinsert select性能
みなさん。こんにちは。 下記のsqlは、約66万行をテーブルに挿入します。 しかし、何時間経っても終わらない。 原因はそのsqlでプロシージャー「sp_getEOutSrcRate」を呼び出す ことが分かりました。 しかし、Select分のみを実行すると、すぐに結果が出ます。 なぜinsert時性能は悪いかが分からない。 みなさんがぜひ原因と解決策を教えて頂きたいと思います。 よろしくお願いいたします。 Insert /*+ append */ Into tbl_temp_eoutsrcrate (iengineeringid, ioutsrcassignmentid, ieinstallationtypeid, iprodcategoryid, seoutsourcetypelist, IOUTSRCRATE) Select e.iengineeringid, o.ioutsrcassignmentid, e.ieinstallationtypeid, e.iprodcategoryid, o.seoutsourcetypelist, round(sp_getEOutSrcRate(e.iengineeringid, e.ieinstallationtypeid, e.iprodcategoryid, o.seoutsourcetypelist), 2) rate From tbl_epengineering e, tbl_epoutsrcassignment o Where o.iengineeringid = e.iengineeringid And e.icancelflag = 0
質問日時: 2011/07/17 17:23 質問者: akira2011
解決済
5
0
-
レコードのある項目で差異があるものを取得
以下のようなテーブルがある場合、 テーブル名:果物 果物名 購入日 購入金額 リンゴ 0101 100 リンゴ 0102 101 リンゴ 0103 101 バナナ 0101 50 バナナ 0102 60 バナナ 0103 63 レモン 0101 300 レモン 0102 300 レモン 0103 301 1月1日と1月2日に購入した果物で、 購入金額に差異があるレコードだけを抽出したいのですが、 よいSQLがありますでしょうか? 上記テーブルでは、リンゴとバナナの4レコードが取れる想定です。 実際は、もっとたくさんの果物のレコードがある想定です。 よろしくお願いします。
質問日時: 2018/09/12 23:28 質問者: ahahahabrain
解決済
5
1
-
SQLで条件にヒットしたレコードより後ろ10件を出したい
データベースはOracleで、SQLでWhere区の条件にヒットしたレコードと、そのレコードより後ろ10件のレコードも抽出したい場合何か良い方法ありますか? 例.商品マスタがあって、商品CD=1111で検索した場合は、商品CDが1111より後ろ10件のレコードも抽出したい。 商品CDは連番になっていない部分もあります。
質問日時: 2004/08/10 14:25 質問者: satton99
ベストアンサー
5
0
【データベース】に関するカテゴリ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【Oracle】に関するコラム/記事
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
生活スタイルが欧米化している昨今、和室よりも洋室の人気が高く、畳の需要が減ってきている。和風の民家が洋風にリノベーションされ売りに出されているのを目にしたことがある人も多いだろう。実際「教えて!goo」に...
-
メダロット:第240話「Vol.240※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
『保留にする勇気』を持つメリットとは?慣れない新環境で感じる気持ちのギャップ
春から新しい環境に身を置いている人も多いだろう。職場や学校に早く慣れ頑張りたいと思っていても、周囲と自分の気持ちにギャップがあり、ストレスを感じてしまうことがある。「教えて!goo」にも「保育士です。春か...
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
飾ると部屋の雰囲気がぱっと明るくなる観葉植物。新年度を迎えたこの時期、気持ちも新たにインテリアに取り入れたいと思う人もいるだろう。せっかく飾るなら、運気もアップできれば一石二鳥だ。「教えて!goo」 にも...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
batファイルでのSQL(oracle)実行...
-
SQLについて教えて下さい。 主キー...
-
sqlで質問です。 idを元にidに紐付...
-
orace SQL文のエラー(ORA-00923: F...
-
Oracleでの登録するユーザーと、ロ...
-
Oracle SQRの正式名称は何ですか?
-
select for updateのロック
-
sqlで質問です。 Aテーブルは店番、...
-
質問です。 下記のテーブルとデータ...
-
sqlで質問です。 Aテーブルの登録番...
-
sqlで質問です。 Aテーブルの情報を...
-
オラクルゴールドについて
-
ビットで表せる数値について
-
update文で質問です。 下記の条件で...
-
SQL update方法
-
テーブルやカラムの物理名のネーミ...
-
SQLで日付+時間で絞り込みたい
-
' シングルクォート " ダブルクォー...
-
続.ORACLEのSELECTのソートについ...
-
子供向けプログラミングのスクラッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
副問合せにLIKE文を使う方法はない...
-
batファイルでのSQL(oracle)実行...
-
oracleのimpdpでORA-39166
-
データベースのカラムの型がCHAR型...
-
64bit端末でのOLEDB接続に関して
-
ORA-14452について
-
osqleditについて
-
Oracleで文字列型の時間を引き算し...
-
バッチファイルで複数フォルダ毎の...
-
orace SQL文のエラー(ORA-00923: F...
-
ワークテーブルって何?
-
SQLで今日の日付でWhereしたい
-
SQLについて教えて下さい。 主キー...
-
oracleの直接接続のクライアント接...
-
SQL 2つのテーブルとSUBSTRINGの条...
-
質問です。 下記のテーブルとデータ...
-
続.ORACLEのSELECTのソートについ...
-
SQLの中上級者へのレベルアップ方法...
-
テーブルやカラムの物理名のネーミ...
-
下記のsqlで取得されるレコード以外...
おすすめ情報