『Oracle』に関する質問・疑問一覧

次へ  ]
3449件中 141~160件目
  • NLS_LENGTH_SEMANTICS変更の影響

    既にデータベースをOracle 11gR2にて構築していて、初期化パラメータ「NLS_LENGTH_SEMANTICS」をデフォルトのByteベースからCharベースに変更しようとしています。この手順と影響範囲が知りたいです。 (1) 手順 私の理解では単純にSYSユーザにて以下を実行する。データベースの再起動は不要で有効になる。 SQL> ALTER SESSION SET NLS_LENGTH_SEMANTICS='CHAR'; 正しいでしょうか? (2) 影響範囲 SID上に構築しているすべてのスキーマ上のテーブルに適用される、で正しいでしょうか? また、既存テーブルと新規テーブルという意味では、既存テーブルには影響を与えない、らしいのですが、そうなのでしょうか? 新しくテーブルを作成した場合にのみCharベースになるということでしょうか。その場合、既存テーブルもCharベースに変更するにはどのような手順を踏めばよいのでしょうか?(例)テーブルのエクスポート→テーブルのドロップ→テーブル再作成→データのインポート?など、思いつきですがよい方法があれば教えてください) 以上、宜しくお願いします。

    2014/05/27 17:34
  • OracleとWebアプリ

    OracleをDBとして利用し、 Webアプリの開発を行うとしています。 フレームワークを利用して作成しようとしているのですが、 Oracle と CakePHP の情報が少なく困っています。 OracleをDBとして利用し、 Webアプリをフレームワークで作成する場合、 どの言語で、どのフレームワークを使用するのが一番お勧めでしょうか。 PHP?Ruby?java? ご教授お願いします。

    2014/05/25 23:38
  • Oracle12cでユーザのSQLPLUSログイン

    基本的な質問ですみません。Oracle 12cを初めて使うのですが、すごく単純に、ユーザを作成し、そのユーザでデータベースオブジェクト(テーブルなど)を作成する拡張子が.sqlのスクリプトを流したいです。 11gまでの場合、システムユーザでCREATE USERしたのちに、コマンドプロンプトを立ち上げて C:\Scripts> SQLPLUS <USER>/<PASSWORD> @createtables.sql とするだけで良かったと思います。 今回、12cではユーザの考え方が変わっており、CDBとPDBを作成しました。 > SQLPLUS /NOLOG SQL> CONN SYS AS SYSDBA (上記のようにローカル接続するとCDBに接続される) SQL> ALTER SESSION SET CONTAINER=PDB1; // PDBへ移動 SQL> SHOW CON_NAME // 念のため現在接続中のPDBの名前確認 SQL> STARTUP; (これでマウント状態だったPDB1がOPENしてREAD WRITEになる) この状態でCREATE USER文を実行してPDB1上でユーザを作成。 ここからなんですが、PDBやCDBへのログイン方法はわかたのですが、PDB上で作成したユーザにはどのようにしてログインするのでしょうか? ログインしてテーブル作成をしたいです。また、テーブル作成のスクリプト文(.sql)があるのでそれを流したい場合は、コマンドプロンプトからどのように実行すればよいでしょうか? 基本的な質問で恐縮ですが、宜しくお願いします。

    2014/05/19 15:57
  • 複数の行を集約するSQLについて

    以下のテーブルのレコードをもとに A B C 1| あ | あ | 1 | 2| あ | い | 1 | 3| あ | う | 1 | 4| う | あ | 1 | 5| え | あ | 1 | 6| あ | あ | 2 | 7| あ | い | 2 | 8| あ | う | 2 | 9| う | あ | 2 | 以下のテーブルを作成したいと考えています。 A B C D E 1| あ | あ | 1 | あ | - | 2| あ | い | 1 | い | - | 3| あ | う | 1 | う | あ | 4| え | あ | 1 | - | え | 5| あ | あ | 2 | あ | - | 6| あ | い | 2 | い | - | 7| あ | う | 2 | う | あ | (1)カラムCを1つのグループとします。 (2)その中でカラムAの値が「あ」の場合は、カラムBの値をカラムDに設定する。 (3)カラムAの値が「あ」ではない場合は、カラムBの値をカラムEに設定する。 (4)カラムAの値とカラムBの値を入替えると同じ場合は(例では上の表の3と4、8と9のレコード)、 カラムAの値が「あ」でない方のレコード(4と9のレコード)のカラムBの値をカラムEに設定する。 (5)(4)で値を設定した方のレコードを削除する。 どのようなSQLを作成すればできるのでしょうか? SQLに詳しい方がいらっしゃれば、ご教授をお願います

    2014/05/18 12:00
  • Oracle10gからkeySQLで集計データ

    Oracle10gでデータ管理していますが、インターフェースを外注した為、自由なデータ加工ができません。この為、keySQLを用いて、データをExcelとして取出し、Access2003にインポートして解析する方法で対応しています。 しかし、Excelで一度に取り出せるレコード数が65500程度に限られ、効率的にデータ取出しが出来ません。そこで、keySQLで、集計してレコード数を減らして取り出したいと思います。 しかし、Accessのクエリーデザイン画面のような集計ボタンが見当たりません。GUI的には集計できないという事でしょうか?クロス集計はできるようなのですが、Accessのような集計は、SQL文を直接記述する方法しかないのでしょうか? keySQLにお詳しい方がおられましたら、データ集計の仕方をご教示下さい。 当方、残念ながら、まだSQL文を直接記述できるレベルにはありません。

    2014/05/16 19:56
  • Oracle 11g R2の監査ログのフォルダ

    よろしくお願いします。 【環境】 RHEL 5 Oracle 11g R2 【質問】 AUDIT_FILE_DESTパラメータ に /opt/oracle/app/diag/AUDIT を指定して ファイルとして出力しています。(必須監査も含めて)通常は正常に動作していますが、なぜか まれに以下のフォルダに監査ログが出力されてしまいます。 $ORACLE_BASE/admin/adump 出力されるログは今のところ以下の1種類の監査ログのみです。 ACTION:[7] 'CONNECT' DATABASE USER:[1] '/' PRIVILEGE:[6] 'SYSBA' CLIENT USER:[6] 'oracle' CLIENT TERMINAL][13] 'Not Available' 質問ですが、なぜこの監査ログのみ adump 以下の記録されるのでしょうか。

    2014/05/15 00:15
  • ORACLE 索引検索について

    ORACLE初心者で索引について勉強しています。 そこでORACLEの索引(Bツリー)検索について2点程質問させていただきます。 (1)索引を用いるとI/O処理が少なくなりアクセスが高速になるということはわかったのですが、そのI/O処理とはプロセスとメモリ間のやりとりに関するI/O処理という認識で間違いないのでしょうか? (2)索引付きと索引なしのカラムを抽出条件にして検索した場合、まず索引付きのカラムから検索を行い、そのROWIDを元に索引なしのカラムのデータを取得して対象データかどうかの判断を行うのでしょうか?

    2014/05/12 21:38
  • OracleSQL 組み合わせチェック

    いつもお世話になっております。 OracleSQL 組み合わせチェックについて、 どのようにしたらチェックができるのかお知恵をお貸しください。 ◆データテーブル 連番 データ ------------- 1    01 1    10 2    02 2    20 3    10 3    01 4    03 4    30 5    01 5    20 <やりたいこと> 連番は必ず2組みずつ入っていて、 データの組み合わせが(01,10)(02,20)(03,30)のどれかになっています。 ※組み合わせなので、(10,01)等の場合もあります。 正しくない組み合わせを抽出したいです。 結果としては、下記の出したいです。 連番 データ ------------- 5    01 5    20 どのようにSQLを組めばこのようなチェックができるでしょうか? よろしくお願いします。

    2014/05/07 14:38
  • 条件をつけてレコードを取得したい

    以下のようなA,Bテーブルから条件を指定してレコードを取得したい 【Aテーブル】 ID Bテーブル番号 0001      null 0002      null 0003      null 【Bテーブル】 シーケンス番号   ID    登録日 処理済みフラグ       0010  0001 2014/01/01        0       0011  0001 2014/01/02        1       0012  0001 2014/01/03        0 <結果> 【Aテーブル】 ID Bテーブル番号 0001     0001 0002     null 0003     null 条件としては以下の条件です。 (1)Aテーブルは全レコード出力する (2)BテーブルのAテーブルシーケンス番号が複数存在する場合、登録日が一番古いレコードを抽出する (3)Bテーブルの処理済みフラグが0のレコード以外はnullとする。 自分で抽出条件を作成したのですが、Aテーブルの0001分しか上手く抽出出来ませんでした。 SELECT * FROM Aテーブル AT (SELECT シーケンス番号, MIN(登録日) AS 登録日 FROM Bテーブル GROUP BY AテーブルID) BT1, (SELECT * FROM Bテーブル) BT2 WHERE AT.ID = BT1.ID AND BT1.登録日 = BT2.登録日 AND BT1.ID = BT2.ID AND BT2.処理済みフラグ = '0' 一度上の命令文でテーブルを作って元のテーブルとマッチングさせるしかないのでしょうか?出来れば一発で抜き出したいです。 ご教授宜しくお願いします。

    2014/05/05 17:59
  • OracleClientのインストールがおかしい?

    いつもお世話になっております。 WinXP(32bit)にOracleXE11gをインストールしました。 そして、Win7(64bit)にClientをインストールして使用しようと思ったのですが、 インストールがうまくいっていないような気がします。 11g32bit用のClientをダウンロードし、「C:\app\product\11.2.0\client_1」にインストールしたところ、 問題なく終了したのですが、「C:\app\product\11.2.0\client_1」配下に 「network」フォルダも「bit」フォルダもないのです。 とりあえず、「network\admin\tnsnames.ora」を自分で作成したところ、 SQL*PlusでDBに接続はできました。 oo4oを使用したいと考えていたのですが、それもなく・・・ このインストールは失敗しているのでしょうか? 原因がわかる方がいらっしゃいましたら、教えてください。 どうぞよろしくお願いします。

    2014/05/04 03:23
  • ORACLE ダウングレード

    現在 ORACLE Database 10G Enterprise Editions を使用しているのですが ORACLE Database 11G Standard Editions に変更しようと計画しています 実際に変更された方がありましたら問題点と解決策を教えていただけますでしょうか よろしくお願いします

    2014/05/03 21:16
  • SQLでのデータチェック方法

    いつもお世話になっております。 SQLでのデータチェック方法について教えてください。 【売上テーブル】 日付、商品、代理店、金額 ---------------------- 5/1 消しゴム AA商店 100 5/1 鉛筆    BB商店 200 5/2 鉛筆    ZZ商店 200 5/2 万年筆  CC商店 150 【商品マスタテーブル】 品名 ----------- 消しゴム 鉛筆 【代理店マスタテーブル】 代理店 ----------- AA商店 BB商店 CC商店 この中で各種マスタに存在しないデータを抽出したいです。 select * from 売上テーブル where 商品 not in (select 品名 from 商品マスタ) or 代理店 not in (select 代理店 from 代理店マスタ) で抽出できるのはわかるのですが、 抽出結果に何故そのレコードが抽出されたのかをわかるようにしたいです。 日付、商品、代理店、金額  理由 ------------------------------- 5/2 鉛筆    ZZ商店 200 代理店マスタに存在しない 5/2 万年筆  CC商店 150 商品マスタに存在しない このような感じで理由も追加することは可能でしょうか? わがままですみません。 よろしくお願いします。

    2014/05/02 13:28
  • 利用可能なODP.NETを教えて

    ■DBサーバ Windows Server 2003 Oracle 9i R2(9.2.0.1.0) ■アプリケーション動作環境(複数OS) Windows Server 2012 Std(64bit) Windows 7(64bit) Windows 7(32bit) Windows XP(32bit) VB.net(.Net Framework 4.0)(32bitアプリ) 上記のアプリケーション動作環境からOracle 9iR2へODP.NETを使って 接続したいのですが、利用可能なODP.NETのバージョン(何bit版)はど れでしょうか。

    2014/04/24 09:12
  • oracle 文字列 01:45 を時間に変換した

    こんにちは。 現在 oracle11を使用しています。 作業時間 を 文字型で '01:45' として格納したデータを Date型の'1.75'というデータに変換したいのですが、どうしたらできるでしょうか。 ご教授ください。

    2014/04/18 00:06
  • マイクロソフトのジェットエンジン

    ふと疑問に思ったので質問します! マイクロソフトのデータベースはジェットエンジンで動いていますが、オラクルのデータベースのエンジンは何という名前なのでしょうか?また、MYSQLとは別のエンジンなのでしょうか?統合されているのでしょうか?

    2014/04/13 11:14
  • SQL 文字列検索につきまして

    はじめまして。 この質問に関連する内容につきまして、ご回答を頂けたのですが 以下の事項につきまして、追加で質問させて頂きたく存じます。 【過去の質問】 >SQLにて、”指定の文字「-」を検索し、先頭から「-」のひとつ前までを取得”を実現したいのですが、 >これは実現できますでしょうか。(substrやinstrなどでは無理そうなので、お知恵お借りしたいです。) > >例) >01234567-001 >0123456-001 >012345-001 >0123456789-001 > >上記に対して、期待する実行結果は次の通りです。 >01234567 >0123456 >012345 >0123456789 【ご回答】 >select substr(col, 1, instr(col, '-') - 1) >from tbl; >でいいのではないでしょうか。 >'-'が含まれていない場合はnullが返りますので、そのあたりの制御が必要であれば適宜修正してください。 ★追加質問内容 上記のcolがNULL('-'が含まれない)場合に、colのそのままの値を出力という形にすることは可能でしょうか。 例) 01234567-001 0123456-001 012345-001 0123456789-001 0123456  ← 111345   ← 上記に対して、期待する実行結果は次の通りです。 01234567 0123456 012345 0123456789 0123456  ← 111345   ← お手数ですが、ご教示のほど宜しくお願い致します。

    2014/04/08 20:11
  • SQL-文字列操作について

    はじめまして。 SQLにて、”指定の文字「-」を検索し、先頭から「-」のひとつ前までを取得”を実現したいのですが、 これは実現できますでしょうか。(substrやinstrなどでは無理そうなので、お知恵お借りしたいです。) 例) 01234567-001 0123456-001 012345-001 0123456789-001 上記に対して、期待する実行結果は次の通りです。 01234567 0123456 012345 0123456789 こんなことは可能でしょうか。

    2014/04/08 17:17
  • SQL文のWhereについて

    SQL文を分析している最中ですが、以下の構文の意味がわかりません。 where Aテーブル.Aフィールド = Bテーブル.Aフィールド and Aテーブル.Aフィールド = Cテーブル.Aフィールド(+) and Aテーブル.Aフィールド = Dテーブル.Aフィールド(+) この構文の「(+)」の意味を教えて下さい。 宜しくお願い致します。

    2014/04/04 09:54
  • SQLコマンドの「TO_DATE」について

    SQLコマンドで、下記を実行すると「2014/04/03」などが取得できると思ったのですが、 「14/04/03」で取得してしまいます。 (aaa_dateは、DATE型で、「2014/04/03」などが入ってます) select TO_DATE(aaa_date,'YYYY/MM/DD') from AAA_TBL YYYYをYYにして、下記を実行すると、なぜか、「2014/04/03」と正常に取得します。 select TO_DATE(aaa_date,'YY/MM/DD') from AAA_TBL 逆の気がするのですが、なぜでしょうか。

    2014/04/03 19:10
  • SQLで複数列のデータを複数行にしたい

    以下のようなテーブルがあるとします。 column1 a,b,c <- カンマの数は最大50 b,d c,x SQLを実行し以下のような結果を返したいです。 以下の3つのことをすればできそうなのですが複数列を複数行にする方法がわかりません。 1.strtokenで50カラムに分割(カンマ分割) 2. 50カラムを1カラムにする 3.DISTINCTで重複データの削除 結果 a b c d x カンマの数が50あるので、かなり長いSQLになるのですが SELECT文50個をUNIONしてやればできるかなとも考えているのですが 何か良い方法はないでしょうか。 よろしくお願いします。

    2014/03/20 18:20