oracle

リスナー関連のエラー

関連コマンド LSNRCTL TNSPING TNS_NAME 例 TNSPING ORCL グローバル・データベース名→サービス名になる サーバー側 listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.30)(PORT = 1521)) (ADDRESS…

横縦変換

横を縦にするSQLサンプル with seq as -- 1~5を返すテーブルを用意する ( select 1 val from dual union select 2 val from dual union select 3 val from dual union select 4 val from dual union select 5 val from dual ) , tate as --横テーブルを5倍…

PLSQL文法基礎

declareは必須ではない begin insert into aaa (key1,data1) values(1,to_char(sysdate,'yyyymmdd')); commit; end; /

Oracle 各種情報テーブルなど V$〜 DBA〜 USER〜

ORACLE/オラクルSQLリファレンス(データディクショナリ)

ORACLE user関連のSQL

登録ユーザーの一覧を見る SELECT * FROM dba_users; 新しいユーザーの登録 CREATE USER my_name IDENTIFIED BY "my_password" [DEFAULT TABLESPACE my_tablespace] [TEMPORARY TABLESPACE my_temp_tablespace] [PROFILE my_profile] ユーザーにログイン権限…

impdp CONTENT=DATA_ONLY の場合 テーブルが無いときはエラーになる

インポート先のテーブルが存在していとき、CONTENT=DATA_ONLY とした場合、テーブルは作れるのか? やってみた C:\Users\shodai>impdp testuser/testuser@orcl dumpfile=EXPDAT.DMP CONTENT=DATA_ONLY Import: Release 11.2.0.1.0 - Production on 金 11月 7…

ロールバックしても出力できるログ

PRAGMA AUTONOMOUS_TRANSACTION と宣言すると、呼び出し元とは、別のトランザクションで実行される。 CREATE OR REPLACE PROCEDURE INVESTIGATE_LOGGER( MODULEID IN VARCHAR2, TEXT IN VARCHAR2 ) IS PRAGMA AUTONOMOUS_TRANSACTION; BEGIN insert into LOG…

PL/SQL言語リファレンス

Oracle Database PL/SQL言語リファレンス11g リリース1(11.1) http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/appdev.111/E05670-03/toc.htm

PLSQL からのファイル出力

参照 http://www.seiji-tsubosaki.net/CHRONICLE/CONTENTS/contents01/contents_01.html

Oracle リスナーが接続できない

【状況】 Windows7上にオラクルを立てた。 他のWindowsからアクセスしようとしたら、接続できず。 C:\>tnsping 192.168.0.28 TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 31-5月 -2014 23:49:16 Copyright (c) 1997, 2010, Or…

oracle 領域の節約

TRUNCATE TABLE HWMも下がる。領域の解放もされる DELETE HWMは変わらず、領域の解放はされない テーブルの圧縮 容量が節約されるらしい(1/2~1/4)UPDATE が少し遅くなるらしいDELETE は少し早くなるらしい 圧縮というのは、zip圧縮のようなものではなく、重…

OsqlEdit

近頃はこのソフトにお世話になりっぱなし http://www.hi-ho.ne.jp/a_ogawa/ Oracleに対するSQL関係でとても使いやすいですね

Oracle ダウンロード

2014/5/1現在でのカレントバージョンのダウンロード Oracle Database 11g Release 2 for Microsoft Windows (32-bit) Oracle Database 11g Release 2 (11.2.0.1.0) Standard Edition, Standard Edition One, and Enterprise Edition Clientのインストール wi…

分析関数 OVER (PARTITION BY ~ ORDER BY ~)

グループ毎の件数 select 社員マスタ.* ,count(*) over( partition by 課コード) as 課人数 from 社員マスタ 課コード毎の人数も出力する グループ毎の最大値 select 社員マスタ.* ,max(年齢) over( partition by 課コード) as 課高齢 from 社員マスタ 課コ…

エラーログに便利な自立型トランザクション

PRAGMA AUTONOMOUS_TRANSACTION自律型トランザクション - オラクル・Oracleをマスターするための基本と仕組み

PL/SQL言語の基礎

Oracle Database PL/SQLユーザーズ・ガイドおよびリファレンス 10g リリース2(10.2)PL/SQL言語の基礎

Undo Redo RollbackSegment

アンデゥ リデゥ ロールバックセグメントの違いundo 主にRollBack用のデータ Oarcle9i 以降。それまではRollbackSegment が用いられていた。RollbackSegment 主にRollBack用のデータ Oarcle9i 未満Redo 障害復旧の為の更新ジャーナル

Oracle Client を windows7に入れるときのトラブルメモ

インストール画面が表示されない。Officeがインストールされたときに一緒にインストールされるIMEと、オラクルのインストーラーの相性が悪いそうな。 一度 Office版IME以外のものに、変えてから、再度オラクルクライアントのインストールをすべし。IMEの切り…

階層検索

テーブルのイメージ CREATE TABLE OYAKO1 ( KEY1 VARCHAR2(100), ME VARCHAR2(100), KO VARCHAR2(100) ) こんなデータ入れた KEY1 ME KO a 10 20 a 10 30 m11 20 m12 30 a 40 50 m21 50 a 60 20 SQL select level -- rootからのレベル , key1 -- 目印 ,me ,k…

ORA-01779 BYPASS_UJVC

結合ビュー(Join View)に対してUPDATEを実施すると、2つの表の主キーが一致しておらず内容的にも重複がある可能性がある(対象表の同一行を複数回更新する)場合に発生する。ORA-01779: 複数表にマップする列を変更できません。(Oracle8iの場合) キー…

ORA-28001 パスワードが期限切れです

ORA-28001 パスワードが期限切れです ObjectBrowserから 久々にログインしようとしたら、パスワードの期限切れ とのメッセージが表示されてしまい、ログインできない。どうしようか?とりあえずの回避方法その1コマンドプロントから ログインを試みる >sqlp…

切捨て切上げ四捨五入

マイナス値の切捨ては、どっち方向? 「捨てる」という意味合いから、桁を取るということで、「-1.5」 は 「.5」を取って「-1」とする意見が多いようだ。 Excelでも、同様になる。以下、それぞれの環境での方法をメモしておく。 Excel ExcelVBAのRound関数は…

ORACLE バッチ更新

複数のUPDATE、DELETEまたはINSERT文を単一のバッチにグループ化し、バッチ全体をデータベースに送信して1回のラウンドトリップで処理することにより、データベースへのラウンドトリップの回数を削減できます。その結果、アプリケーションのパフォーマンスが…

複数列の IN

条件分に使う IN は カッコを用いると、複数列の条件指定にも、使用できる SELECT * FROM TABLE_NAME WHERE (KEY1,KEY2) IN ( ('A',10),('B',12),('C',13))

CREATE TABLE

CREATE TABLE <表名> (列名 データ型 [列制約] [, 列名 データ型 [列制約], ...] [表制約] ) [TABLESPACE 表領域名] [PCTFREE 空き領域割合] [PCTUSED 使用領域割合] [STRAGE ( [INITIAL 初期エクステントサイズ] [NEXT 増分エクステントサイズ] [MINEXTENTS…

ORA-06502

ORA-06502: PL/SQL: 数値または値のエラー: 文字列バッファが小さすぎます。 の原因。 Oracle10gからMAX関数の戻り値の型がNunber型に変わった事が原因。 10.1.0.4 10.2.0.1 で、発生するとの情報あり。発生する例 WDATE VARCHAR2; SELECT MAX(YMD) INTO WD…

統計情報の収集タイミングを知る

sqlPlus上で以下のコマンドを実行 SQL> SHOW PARAMETERS STATISTICS_LEVEL NAME TYPE VALUE -------------------- -------- ------------------------------ statistics_level string TYPICALが「TYPICAL」または「ALL」の場合に、自動で統計情報が収集され…

Oracle impdp/expdp

expdp userid/password@sid \ dumpfile=DPUMP_DIR:expdp_TEST_TBL1.dmp \ logfile=DPUMP_DIR:expdp_TEST_TBL1.log \ status=60 \ tables=\ userid.TEST_TBL1 impdp userid/password@sid \ dumpfile=DPUMP_DIR:expdp_TEST_TBL1.dmp \ logfile=DPUMP_DIR:impdp…

投入されたsqlを調べる

SQLの文字列から、各種情報を得る SELECT /* HOGEHOGE_RESEARCH_SQL */ FIRST_LOAD_TIME -- SQL文がライブラリキャッシュにロードされたの作成時刻のタイムスタンプ ,SQL_ID -- SQLを一意に識別するID ,SQL_TEXT -- カレント・カーソルのSQL テキストの最初…

ORACLE テーブル名、項目名の列挙

select USER_OBJECTS.OBJECT_TYPE -- テーブル情報 ,USER_TAB_COLS.TABLE_NAME ,USER_TAB_COMMENTS.COMMENTS TABLE_COMMENTS -- 列情報 ,USER_TAB_COLS.COLUMN_NAME ,USER_TAB_COLS.DATA_TYPE ,NVL(USER_TAB_COLS.DATA_PRECISION,USER_TAB_COLS.CHAR_LENGTH)…

Oracle Partition

既に、パーティション分割されているテーブルに、新たにパーティションを追加する ALTER TABLE TBL_TEST1 ADD PARTITION TBL_TEST1_P201205 VALUES LESS THAN (20120601) TABLESPACE USERS STORAGE(INITIAL 64K MINEXTENTS 1 MAXEXTENTS 2147483645 BUFFER_P…

グループ中の中の最大値をもったレコードの抽出

select ID ,Val ,extraCol from getMaxRows a where Val = ( select max(b.Val) from getMaxRows b where b.ID = a.ID ) order by ID,extraCol;

Oracle パスワード 大文字小文字の区別を無くす

11gからは、パスワードの大文字/小文字を区別するようになったらしい。 従来どおり、大文字/小文字を同一のものとして扱う為には、 初期化パラメータ SEC_CASE_SENSITIVE_LOGON を FALSE に変更すれば良い。 ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FA…

oracleのパスワード

ORA-28001_パスワードが期限切れです これは、パスワードの有効日数の期限切れの意味である。パスワードの復活方法 sqlplusから起動を行えば良い Oracleの覚え書きパスワードを無期限にする方法 プロファイルのPASSWORD_LIFE_TIMEを設定すれば良い。ログイ…

チューニングに有効なView

V$表(動的パフォーマンスビュー)が有効らしい 参考 ORACLE/V$表編 - オラクルちょこっとリファレンス http://www.master-program.net/contents/oracle/dictionary_2.html

Oracle 参照のみView

CREATE VIEW OR REPLACE V_HOGEHOGE AS SELECT COL1,COL2 FROM T_HOGEHOGE WITH READ ONLY 参考 CREATE VIEW VIEW - オラクル・Oracleをマスターするための基本と仕組み

マテビューのリフレッシュ

sqlplusから投入することSQL> exec DBMS_MVIEW.REFRESH('V_MATEVIEW')

テーブルに対する変更SQLまとめ

項目の追加 ALTER TABLE TEST_TBL1 ADD ( Tuika1 VARCHAR2(10) NULL ) / COMMENT ON COLUMN TEST_TBL1.Tuika1 IS '追加項目' / 項目名の変更 ALTER TABLE TEST_TBL1 RENAME COLUMN TUIKA1 TO TUIKA2 / COMMENT ON COLUMN TEST_TBL1.TUIKA2 IS '追加項目2' / …

メモリ、エリアに関して

ロールバックセグメント ロールバック・セグメントは、ロールバックを行う為に使われる。 REDOログとは、別のものである http://www.t3.rim.or.jp/~buchi/architec/sld012.htmREDOログバッファ データベースに対して行われたすべての変更内容が記録されるSGA…

効率の良い SQL

検索条件項目は、計算するな 索引が使用されなくなる × SELECT * FROM TBL_A WHERE TBL_A.VALUE * 10 > :WK_VALUE○ SELECT * FROM TBL_A WHERE TBL_A.VALUE > :WK_VALUE / 10 /NOT は回避せよ 否定演算子は、検索が効かず、全表走査になる。他の判定方法で代…

SQL 実行 のコメントログを出力する

set echo on をつけるとすべての内容が出力される。 spool aaa.log set echo on select sysdate from dual / spool off■もう一つの方法 prompt コメント文字列 spool aaa.log prompt start select sysdate from dual / prompt end spool off

実行計画の採取方法

■ SQLPLUSから実行する方法この方法は、実際には、SQLの実行をしていない SQL> explain plan for 2 SELECT 3 /*+ 4 LEADING (TRAN_SALE M_CUSTOMER M_ITEM) 5 USE_HASH(M_CUSTOMER M_ITEM) 6 */ 7 * FROM TRAN_SALE 8 LEFT JOIN M_CUSTOMER 9 ON M_CUSTOMER.…

オラクルホーム oracle_home

オラクルホームの取得方法 Windows系の場合レジストリから検索する。ORACLE_HOME で検索すると、出てくる

Oracle リンク

Oracle® Database 2日で開発者ガイド http://download.oracle.com/docs/cd/E16338_01/appdev.112/b56265/tdddg_intro.htm

シノニムをexportしたい

シノニムを、exportのtablesに記述すると、エラーになる。 スキーマ単位でなら、可能。スキーマー単位のexportができないときは、シノニムの参照先の実表をexportして、シノニムのcreateスクリプトを別途保管しておくと方法になる。

count distinct

SELECT COUNT(DINTINCT FILENAME ) FROM TABLENAMECOUNT() の中に、DISTINCT が かけるとは知りませんでした。 これで、同一のものを集約した後の件数を知ることができます〜

HINT文リンク

where key1=100 and key2=100参考 Oracle SQL の Hint(ヒント)句まとめ(一覧) http://www.drk7.jp/MT/archives/001425.htmlhttp://oracle.na7.info/tuning1.html http://tom384.ld.infoseek.co.jp/DF001.html オプティマイザ・ヒントの使用方法 http://t…

SQL max値の行全体を取得

http://tsubosak.hp.infoseek.co.jp/1-10/12-select.html(1) サブクエリ SELECT WK_DATE, ENAME, WK_TIME FROM EMP WHERE ( ENAME, WK_TIME ) IN ( SELECT ENAME, MAX(WK_TIME) MAX_WK_TIME FROM EMP WHERE WK_DATE >= TO_DATE('20020101') AND WK_DATE GROU…

oracle SQLでフィールド一覧を取得

http://d.hatena.ne.jp/augster/20080205/1202717099基本形 select * from USER_TAB_COLUMNS 問題点 ・number型とそれ以外で、長さの表現が変わる ・PKはこれからはわからない

init.ora

init.oraはココにあった \\A50\public_root\usr\lib\oracle\xe\app\oracle\product\10.2.0\server\config\scripts プロセス数の触り方がココに書いてあった http://noro2-diary.at.webry.info/200812/article_47.html現状は? select name,value from v$para…