3rd_001 の回答履歴

全258件中161~180件表示
  • Oracle 10g (Linux)

    Oracle 10gについて教えてください。 OS:RHEL5 Oracle 10g R2 まったくの素人なのですがRMANについて教えてください Oracleのバックアップでサードパーティのソフトでは バックアップソフトを使用する際、ARCHIVELOGは必須と 書いてあるのとRMANが必須と書いてあるのとそれぞれあり RMANが必須の場合は設定はどこをいじればいいのか というのがよくわかりません。 Oracleインストール時に設定はするまたはされるものなのでしょうか?

  • アップグレードできるのか?

    oracle9iのバックアップをoracle10gにリカバリが成功しました。 しかし、oracle10gにoracle9iのバックアップが入っている為、oracle10gとして使用できるのか調査中です。 やりたいことは、oracle9iをoracle10gにアップグレードすることです。 説明が下手で申し訳ごさいませんが、ご教授お願いいたします。

  • 条件をつけて日付の古い行を抜き出したい

    SQLserver2005を使っています。 下記のようなテーブルがあります。 ID 処理番号  日付   Data AA  1    2008/1/1  10 AA  1    2008/1/2  11 AA  1    2008/1/3  12 AA  2    2008/1/4  13 AB  3    2008/1/5  14 AB  3    2008/1/6  15 AB  4    2008/1/7  16 この時に「IDと処理番号が一致した場合、日付の一番古い行を抜き出す」 という条件でデータの抽出をすることは可能でしょうか 結果は下記のようになります。 ID 処理番号  日付   Data AA  1    2008/1/1  10 AA  2    2008/1/4  13 AB  3    2008/1/5  14 AB  4    2008/1/7  16 下のような命令文を作ったのですが、 「Data列」が抜き出せません。 select ID,処理番号,min(日付) from テーブルA Group by ID,処理番号 一度上の命令文でテーブルを作って元のテーブルとマッチングさせるしかないのでしょうか?出来れば一発で抜き出したいです。 ご教授宜しくお願いします。

  • アップグレードできるのか?

    oracle9iのバックアップをoracle10gにリカバリが成功しました。 しかし、oracle10gにoracle9iのバックアップが入っている為、oracle10gとして使用できるのか調査中です。 やりたいことは、oracle9iをoracle10gにアップグレードすることです。 説明が下手で申し訳ごさいませんが、ご教授お願いいたします。

  • 同じ項目よりデータを取得する

    はじめまして。 初心者でまだよく理解できていないのですが、 よろしくお願いします。 教えていただきたいことは テーブル 受講履歴 出席番号 氏名 教科1 教科2 教科3   ―――――――――――――――――――  1001    山田    2    3    5  1002    武田    4    2     1003    斎藤    5    1      1004    山本    5    3    2  1005    鈴木    3    1     テーブル 教科 教科ID 教科名 ―――――――   1   国語   2   数学   3   理科   4   社会   5   音楽 といったテーブルがあったときに、出席番号を指定すると 氏名、教科1、教科2、教科3を取得するSQLを教えて頂きたいです。 たとえば出席番号1002にした場合、  氏名 教科1 教科2 教科3 ――――――――――――――  武田  社会  数学 といった感じです。 よろしくお願いします。

  • SQLの書き方

    以下の条件を取得したいのですがどのようなSQLを組めばいいか悩んでます。 テーブルA(列はC1,C2,C3,C4 PKはC1,C2です。) ■テーブルAのデータ C1  C2   C3   C4 1   1   50   備考1です。 1   2   75   備考2です。 2   1   25   備考3です。 3   1   75   備考4です。 3   2   90   備考5です。 3   3   50   備考6です。 ■取得したい結果 C1  C2   C3   C4 1   2   75   備考2です。 2   1   25   備考3です。 3   2   90   備考5です。 ■取得したい条件 C1でグルーピングしたなかでC3の値が一番大きな行を取得する。 現在は以下のようなSQLを書いています。 SELCT T1.* FROM テーブルA T1, (SELECT C1,MAX(C3) AS C3MAX FROM テーブルA GROUP BY C1) T2 WHERE T1.C1 = T2.C1 AND T1.C3 = T2.C3MAX もう少し簡単なSQLで出来そうですが、うまく思いつきません。 宜しくお願いします。

  • SQLの書き方

    以下の条件を取得したいのですがどのようなSQLを組めばいいか悩んでます。 テーブルA(列はC1,C2,C3,C4 PKはC1,C2です。) ■テーブルAのデータ C1  C2   C3   C4 1   1   50   備考1です。 1   2   75   備考2です。 2   1   25   備考3です。 3   1   75   備考4です。 3   2   90   備考5です。 3   3   50   備考6です。 ■取得したい結果 C1  C2   C3   C4 1   2   75   備考2です。 2   1   25   備考3です。 3   2   90   備考5です。 ■取得したい条件 C1でグルーピングしたなかでC3の値が一番大きな行を取得する。 現在は以下のようなSQLを書いています。 SELCT T1.* FROM テーブルA T1, (SELECT C1,MAX(C3) AS C3MAX FROM テーブルA GROUP BY C1) T2 WHERE T1.C1 = T2.C1 AND T1.C3 = T2.C3MAX もう少し簡単なSQLで出来そうですが、うまく思いつきません。 宜しくお願いします。

  • SQLでグルーピングしてやや複雑な集計する方法

    SQLでグルーピングしてやや複雑な集計する方法 こういうことってやりたい時あるよなーと思いつつ いい方法が思い浮かばないので質問させてください。 日付ごとにタイプなどの条件により集計して、 1行で1日分のデータを並べて出力したいと思っています。 とりあえずイメージを提示します。 テーブルイメージ -------------------------- 日付     額 タイプ 20090101  5000  1 20090101  1000  1 20090101  3000  2 20090101  2000  2 20090101  -200  4 20090101  3000  4 20090101  2000  4 20090102  1000  1 20090102  1000  2 20090102  1000  2 20090102  -100  4 20090102  4000  4 20090102  3000  4 -------------------------- 出力イメージ ----------------------------------------------------- 日付   タイプ1 タイプ2 タイプ4(正) タイプ4(負) 20090101   6000   5000   5000   -200 20090102   2000   2000   7000   -100 ----------------------------------------------------- 複問い合わせを駆使すればできるような気もするのですが、 日付で集計しなければならないところが難しく感じています。 合計が0(というか対象データが無い場合)の部分は空白でもかまいません。 データベースはOracleですがOracleだけでしか使えない特殊な機能ではなく 普通のSQLの組み合わせで解決したいと思っています。 (でもOracle固有の機能で解決できるのならそれも教えていただきたいです) 基本的に1発のSQLで表形式で帰ってくるSQLの書き方をお願いします。 できれば、SQLそのものを記述していただきたいです。 何回かSQLを発行してあとでエクセルで…とか、他のPG言語でなんとかする という方法は今回はいりません。 よろしくお願いします。

  • to_timestampを使ったアップデート

    オラクル初心者です。 「to_timestamp」を使用したデータベースへの書き込みのSQL文が分かりません。 ツールは「つみきWEB」を使用しています。 フィールドの形式は to_timestamp(yyyy/mm/dd hh24:mi:ss.ff3)です。 行ったコマンドは以下に示します。 update (テーブル名) set (書き込みを行うフィールド) = to_timestamp('11/11 11:11:11' 、'yyyy/mm/dd hh24:mi:ss.ff3') WHERE (条件)

  • SQLServer2005のストプロでxp_cmdshellを使いvbsファイルを実行できない

    ストプロ内でxp_cmdshellを使用し、vbsファイルを実行したいのですが実行できません。 vbsファイルはxp_cmdShellでキックされたらSQLサーバのデータをSELECTし、テキストファイルにSELECTで取得した行数だけ行を追加するという内容です。 vbsファイルはコマンドプロンプトから実行すると動くので正しいと思います。 ストプロにはvbsファイル実行の前後にtableのupdate作業があり、 その2つは行われます。しかし、書き出されるはずのデータがテキストファイルに書き出されません。 vbsファイルは実行されていないようですがエラーは出ず正常終了となり、 xp_cmdshell実行後の戻り値は0で成功となっています。 xp_cmdshellオプションは有効になっており、は混合モードでSysAdminの権限を持つユーザーで処理をしています。 また、ストプロではなく、SQLServerManagementStudioから下記のようにvbsファイル実行しようとした場合、エラーなく正常終了するのですがテキストファイルにデータは追加されていません。  EXEC @result = xp_cmdshell 'Cscript c:\AddRow.vbs' しかし、EXEC xp_cmdshell 'dir *.exe'は実行できます。 vbsファイルをxp_cmdshell で実行するときは何か特殊な記述が必要なのでしょうか。何がいけないのかわからず困っております。お気づきのことがありましたらご指摘いただけますようお願い致します。 以下にストプロの中身をを記述します。 BEGIN   SET NOCOUNT ON; -- テーブルのアップデート処理   UPDATE table1 SET Status = 1   WHERE Status = 0 --ファイル書き出しvbsの実行   DECLARE @result int   SET @result = 1   EXEC @result = xp_cmdshell 'Cscript c:\AddRow.vbs' --ここは下記のようにCscriptを抜いても試しましたがだめでした。 --EXEC @result = exec master..xp_cmdshell 'c:\AddRow.vbs'   IF (@result = 0)   BEGIN --xp_cmdshellの実行が成功したときのみこの処理に入る予定。 --実際は実行されていないようだが@result が0なのでこの処理を行っている。     UPDATE table1 SET Status = 2     WHERE Status = 1   END END

  • Oracle10g RACの構成について

    Oracle10gEnterprise EditionサーバRACの構成について教えてください。 【例】 100のデータがあったとして、サーバ4台のサーバで運用を行います。 (案1)1つのRACで4台のサーバにデータを振り分ける。 (案2)データを50づつに分け、1RACで2台のサーバ(×2)でデータ振り分ける。 案1と案2は、どちらがサーバに負荷をかけずに運用することができるのでしょうか。 案1の場合、RACで4台に振り分ける分、サーバのパフォーマンスを高くなってしまう気がします。 ※この場合のパフォーマンスは、CPUとメモリの事です。     

  • 索引のカラム定義変更(UX→PK)

    例)索引IX_aaaのカラムbbbにUX(一意制約)が付いているがあるとします。テーブルはccc このUXをPKに変更する場合はどのようなSQL文を書けばいいでしょうか? 私なりに考えてみたのですが、わからないのでご教授願います。 それと、変更した後で確認するselect文も教えていただきたいです。 (1) Drop index IX_aaa cascade constraint; Create index IX_aaa on ccc(bbb PRIMARY KEY) [TABLESPACE 表領域名]; (2)Alter table ccc MODIFY (bbb PRIMARY KEY);

  • 800万件のテーブル読み込みについて

    oracle10G(10.2.0.1)をWin2003 SP2環境で使用しています。 あるテーブル(Aテーブル)のデータ量が800万件あり、そのテーブルを読み込むSQL(B.SQL)が4分程度かかっていました。 ある日、Aテーブルの項目名を変更することになりましたので、すべてのデータをCSV形式で保存し、テーブルをdropcreate後にsqlローダーにてインポートしたところ、B.SQLが15分かかるようになってしまいました。 B.SQLは、項目名を変えただけで、インデックスも削除する前と同じ状態にしてます。 どこから調査すればよいのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • teatea
    • Oracle
    • 回答数5
  • 初心者質問

    とんでもないようなことを聞くようで申し訳ありませんが、現在あるプログラムでSQLを使用しています。 サーバにデータがあり、それをクライアントPCから読み込むというものです。 質問は、ソフトに付属していたSQLSERVERと皆さんがここで言っているSQLSERVERとは、無償版と製品版のような違いがあるのでしょうか? もうひとつの質問は、サーバにあるデータをバックアップしたいのですが、データをコピーできません。コピーしても、SQLSERVERを構築しないと使用できないような気がしますがいかがでしょうか?上手にバックアップできるソフトを探しています。 よろしくお願いします。

  • ディレクトリ内より特定の文字列を検索する際に関しまして

    文字列の検索に関して質問させていただきます。 あるファイル内から、 特定の文字列を探す際は、 grepを使用して検索をしています。 また、全体の中からファイル名を探す際なども、 findを使って、 探したりしているわけなんですが、 そうではなくて、 あるディレクトリ内にある 複数のファイル内全てから、 「特定の文字列が含まれているか?」を 探すコマンドってあるのでしょうか? 例えばこんな感じです。 ディレクトリAにファイルが10個あるとします。 この10個のファイルの中のどこかに、 「FOO_HEADER」という文字列が 存在しているか?を確認したいときに、 そう思いました。 今までなら、grepを使って、 1つずつファイル内を探したりしていました。 検索サイトで探してみたのですが、 キーワードが悪いのか、 どうも見つけることが出来ませんでした。 もしご存知の方がいらっしゃいましたら、 アドバイスの程お願い致します。 ■OS:Fedora9 ※ 通常はbashを使用しています。

  • ユーザーへのディレクトリ権限付与について

    WindowsXPのOracle9i環境にて、 まず、以下のようにしてユーザ「username」を作成しました。 create user username identified by Password default tablespace tab_space temporary tablespacetemp; grant dba,resource,connect to username; 次にsysユーザにて、CREATE DIRECTORY FILE_PATH as 'd:\temp'; ディレクトリを作成しました。 そして、そのディレクトリに対して、以下のように権限付与しようとすると、「ユーザ"username"が存在しません。」エラーが発生します。 grant READ,WRITE ON directory dir to username; また、grant READ,WRITE ON directory dir to public; とすると、権限付与は成功しますが、ユーザusernameにはディレクトリ参照権限は与えられていませんでした。 何か間違っておりますでしょうか? それとも何か手順で足らないものがあるのでしょうか? ご教示いただければと思います。

  • ユーザーへのディレクトリ権限付与について

    WindowsXPのOracle9i環境にて、 まず、以下のようにしてユーザ「username」を作成しました。 create user username identified by Password default tablespace tab_space temporary tablespacetemp; grant dba,resource,connect to username; 次にsysユーザにて、CREATE DIRECTORY FILE_PATH as 'd:\temp'; ディレクトリを作成しました。 そして、そのディレクトリに対して、以下のように権限付与しようとすると、「ユーザ"username"が存在しません。」エラーが発生します。 grant READ,WRITE ON directory dir to username; また、grant READ,WRITE ON directory dir to public; とすると、権限付与は成功しますが、ユーザusernameにはディレクトリ参照権限は与えられていませんでした。 何か間違っておりますでしょうか? それとも何か手順で足らないものがあるのでしょうか? ご教示いただければと思います。

  • SQL SERVER2005のJOINについて

    はじめて投稿させていただきます。 SQL SERVER2005のJOINの仕方で困っています。 どなたか、アドバイスをお願いできないでしょうか。 テーブルA CD NAME KBN 1 山田太郎 1 2 山田花子 1 3 山田次郎 2 4 山田五郎 1 テーブルB CD NENGETU DAY1 DAY2 DAY3 ~ DAY31 1 200811 ◎ ◎   1 200812 ◎ 3 200810 3 200811 ◎ 4 200811 ◎ 欲しい結果の条件と結果は テーブルAは、KBN = 1 のみ テーブルBは、NENGETU = 200811 但し、テーブルBには、テーブルAに存在しないCDもあります。 CD NAME KBN DAY1 DAY2 DAY3 ~ DAY31 1 山田太郎 1 ◎ ◎   2 山田花子 1 4 山田五郎 1  ◎ 以上の結果を取得したいSQLを書きたいのですが、 Select CD,NAME,KBN,DAY1,DAY2,DAY3~,DAY31 From テーブルA LEFT OUTER JOIN テーブルB On テーブルA.CD = (Select テーブルB.CD From テーブルB Where テーブルB.NENGETU = 200811) Where テーブルA.KBN = '1' Order By テーブルA.CD とかでやると、CDの1が複数出たりして おかしい結果になってしまいます。 どなたか、アドバイスをお願いできないでしょうか。

  • ユーザーへのディレクトリ権限付与について

    WindowsXPのOracle9i環境にて、 まず、以下のようにしてユーザ「username」を作成しました。 create user username identified by Password default tablespace tab_space temporary tablespacetemp; grant dba,resource,connect to username; 次にsysユーザにて、CREATE DIRECTORY FILE_PATH as 'd:\temp'; ディレクトリを作成しました。 そして、そのディレクトリに対して、以下のように権限付与しようとすると、「ユーザ"username"が存在しません。」エラーが発生します。 grant READ,WRITE ON directory dir to username; また、grant READ,WRITE ON directory dir to public; とすると、権限付与は成功しますが、ユーザusernameにはディレクトリ参照権限は与えられていませんでした。 何か間違っておりますでしょうか? それとも何か手順で足らないものがあるのでしょうか? ご教示いただければと思います。

  • エディション確認方法

    自分のPCにインストールされているSQLServerのエディションを確認する方法を教えてください。 開発用クライアントと本番サーバーがあり、本番サーバに接続して開発しています。 「SQLServer management studio を立ち上げて、DBに接続し、サーバーのプロパティ画面で確認する」という方法を教えてもらったのですが、どうも、それは接続している本番サーバーにインストールされているSQLServerのエディションのようです。そうではなく、サーバーに接続している開発用クライアントにインストールされているSQLServerのエディションを確認する方法を教えてください。 よろしくお願いします。