豚吐露@wiki
Oracle
最終更新:
Bot(ページ名リンク)
-
view
Oracle
環境
Ubuntu10.04LTS server
OracleXE 10.2
Ubuntu10.04LTS server
OracleXE 10.2
ドキュメント
http://www.oracle.com/technetwork/jp/indexes/documentation/
旧OTN掲示板
http://otn.oracle.co.jp/forum/index.jspa?categoryID=2 ※ReadOnly
新OTN掲示板
https://forums.oracle.com/forums/main.jspa?categoryID=484
http://www.oracle.com/technetwork/jp/indexes/documentation/
旧OTN掲示板
http://otn.oracle.co.jp/forum/index.jspa?categoryID=2 ※ReadOnly
新OTN掲示板
https://forums.oracle.com/forums/main.jspa?categoryID=484
Oracle Knowledge data base
https://krown.oracle.co.jp/krown/oisc_search.do
https://krown.oracle.co.jp/krown/oisc_search.do
■ SQL Developer
Oracle謹製のGUI tool。これが無いと見えないカラムもあったりするので、対Oracleでは必須です。
SQL Developer
Javaで書かれてるので、起動にはJavaが必要になるんだけど...なぜかJREではなくJDKが必須になってます。
何使ってるんでしょうね?
で、64bit環境のOracle Database突っ込むと、SQL DeveloperとJDKも一緒に付いてくるんだけど...SQL Developerって32bit環境のJDKでないと動かないらしい。別途32bit環境用のJDKのinstallが必要になるとかどーとか...ちゃんと試してません。(´・ω・`)
Oracle謹製のGUI tool。これが無いと見えないカラムもあったりするので、対Oracleでは必須です。
SQL Developer
Javaで書かれてるので、起動にはJavaが必要になるんだけど...なぜかJREではなくJDKが必須になってます。
何使ってるんでしょうね?
で、64bit環境のOracle Database突っ込むと、SQL DeveloperとJDKも一緒に付いてくるんだけど...SQL Developerって32bit環境のJDKでないと動かないらしい。別途32bit環境用のJDKのinstallが必要になるとかどーとか...ちゃんと試してません。(´・ω・`)
- ORA-01033
> sqlplus /nolog SQL> conn sys/manager as sysdba SQL> shutdown normal SQL> startup mount SQL> recover database SQL> alter database open
で、recover時にエラーが出る。
■tips
調べるのに良く使いたくなるコマンド
SQLPlusを使う前に設定しておきたいこと
ADRCIの使い方
『PublicKeyToken=89b483f429c47342』とか出てDBにつながらない
UninstallしたハズのOracle.DataAccessが邪魔をする
32bit版と64bit版のODACを共存させたい
Backupの方法
既存のdatabaseからDDLを生成したい
tnsnames.oraの確認方法
外部からの接続を許可したい
TNSNAMEを使わない接続文字列
tablespaceの使用量を知りたい
セッションが勝手に切れる時間の設定
SQL*Plusの応答が全く返って来なくなったら…
パスワードの有効期限を無期限に変更する
パスワードの変更方法
調べるのに良く使いたくなるコマンド
SQLPlusを使う前に設定しておきたいこと
ADRCIの使い方
『PublicKeyToken=89b483f429c47342』とか出てDBにつながらない
UninstallしたハズのOracle.DataAccessが邪魔をする
32bit版と64bit版のODACを共存させたい
Backupの方法
既存のdatabaseからDDLを生成したい
tnsnames.oraの確認方法
外部からの接続を許可したい
TNSNAMEを使わない接続文字列
tablespaceの使用量を知りたい
セッションが勝手に切れる時間の設定
SQL*Plusの応答が全く返って来なくなったら…
パスワードの有効期限を無期限に変更する
パスワードの変更方法
- Oracle Install時に異常終了する
『設定: 構成データのリポジトリへのアップロード中にエラーが発生しました』とか出てinstallが正常終了しない...
原因判明。ローカルな環境でinstall作業してたから。
どうも、コレinternet回線を利用して何かをuploadしてるらしい...(-ω-;)
何をuploadしとるんだ...何を...
internet回線含まれてるnetworkに繋いで作業したらあっさり入った。ヽ(=´▽`=)ノ
原因判明。ローカルな環境でinstall作業してたから。
どうも、コレinternet回線を利用して何かをuploadしてるらしい...(-ω-;)
何をuploadしとるんだ...何を...
internet回線含まれてるnetworkに繋いで作業したらあっさり入った。ヽ(=´▽`=)ノ
- 日付関係でおかしい言われたら
ORA-01861が発生して日付のフォーマットがおかしいといちゃもんつけられたら、そのSQL実行前に以下のSQLを実行。
ALTER SESSION SET NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss';
あと、暗黙変換に使われるフォーマットは以下で取得可能。
select * from v$nls_parameters where parameter='NLS_DATE_FORMAT';
- REDO Logの使い方
-- 現在使用されているREDO Logのgroup番号を調べる -- CURRENT :使用中 -- INACTIVE :待機中 select group#, status from v$log;
-- REDO Logの各groupの実ファイルpath select group#, member from v$logfile;
-- アーカイブLogのモード確認 -- ARCHIVELOG :アーカイブログを残す -- NOARCHIVELOG :アーカイブログを残さない select log_mode from v$database;
- -- システムのテーブル一覧
- SELECT * FROM DICT ORDER BY TABLE_NAME;
-
- -- ユーザのテーブル一覧
- SELECT * FROM TAB;
- SELECT * FROM USER_TABLES;
- -- テーブルのカラム一覧
- SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME='TABLE';
- -- PK,FK,制約一覧
- SELECT * FROM USER_CONS_COLUMNS WHERE TABLE_NAME='TABLE';
-
- -- 実行SQL一覧(DBA)
- -- ※ただし、SQLはparse(解析処理)済みの状態でキャッシュされており、要求SQLと一致するparse済みキャッシュがあると記録されない。
- SELECT * FROM V$SQL WHERE PARSING_SCHEMA_NAME='USER';
- SELECT SQL_FULLTEXT, FIRST_LOAD_TIME, LAST_LOAD_TIME, LAST_ACTIVE_TIME FROM V$SQL WHERE PARSING_SCHEMA_NAME='USER';
-
- -- parse cache削除 ※共有プール内のライブラリ・キャッシュ(sqlのparse結果、PL/SQL、Javaコードなど)、ディクショナリ・キャッシュ(ユーザ名、プロファイル、セグメント、テーブルスペース情報、順序番号、スキーマオブジェクトのメタデータなど)が削除される。
- ALTER SYSTEM FLUSH SHARED_POOL;
-
-
- -- セッション一覧
- SELECT * FROM V$SESSION WHERE SCHEMANAME='USER';
- SELECT USERNAME, OSUSER, TERMINAL, PROGRAM, LOGON_TIME, SERVICE_NAME
- FROM V$SESSION WHERE USERNAME='USER';
更新日: 2020年05月25日 (月) 11時19分21秒
- DBの総データ量を調べる方法: http://imfaq.intra-mart.jp/imfaq/index.php?action=artikel&cat=32&id=449&artlang=ja -- (s1n) 2012-10-03 16:23:55
- sqlplusでSIDを省略するとどうなるか?通常『sqlplus user/passwd@sid』のようにして接続を行う。接続時、SIDを省略『sqlplus user/passwd』しても接続できる環境とできない環境がある。接続できるのは、接続先のOracleDBが接続元PCのローカル環境に存在し、環境変数『ORACLE_SID』が設定されている場合。この時sqlplusはLISTENERを用いずBEQ接続を用いてDBへの接続を行う。 -- (s1n) 2012-10-10 10:11:10
- Bequeath Net8 IPC接続 -- (s1n) 2012-10-10 10:23:26
- 行ロック: 行ロックをしたい場合は『select文』を使う。『select文』末に『for update』と記載するとhitしたレコードがロックされる。ただし、表を結合していた場合は『of句』を使わないとロックされないらしい。 また、『wait句』を使うことで既にロックがかかっていた場合に、ロックが解除されるまでの時間を秒で指定する。『nowait句』を指定すると既にロックがかかっていた場合、エラーとなる。どちらも設定しない場合はロックが解除されるまで延々待ち続ける。 -- (s1n) 2012-10-15 18:19:06
- マルチテーブル・インサート。『insert all』これを使うと、1回のSQLで複数データをinsertしたり、複数のtableに一度にい -- (s1n) 2012-11-19 09:15:07
- Oracle10gまではlistener.logが4GByteに達するとTNSListenerが強制終了してたらしい。しかもサービス起動中はlistener.logが動かせないっておまけ付き。w 11gからはADR(Automatic Diagnostic Repository)って仕組みが導入されたおかげでサービス起動中でもlistener.logの移動はできるようになったらしい。 -- (s1n) 2012-12-10 20:58:41
- OracleDatabase11gにおいてObject名は30Byte内に収めんといけんらしい。Table名やPKEY名、TableSpace名とか色々全部っぽい。 -- (s1n) 2015-09-18 17:03:06
- DBA_TABLESPACE_USAGE_METRICS テーブルスペースの使用量を調べる -- (s1n) 2016-03-13 10:30:02
- https://mydbhost.example.com:5500/em/ -- (s1n) 2018-07-18 16:25:46
- Oracleでlimitを使いたい場合、ROWNUM+サブクエリを使う。12c以降であれば、OFFSET&FETCHを使う。 -- (s1n) 2020-05-25 11:20:34