About Oracle

ブログ「三流覚え書き」のカテゴリ「Oracle」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはAccessです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

About Oracle

Powered by
Movable Type 3.35

メイン

Oracle アーカイブ

2007年06月29日

開発ツール

今までOracleの開発には、
SI Object Browserを使用していました。
たまたま仕事先にあったので使っていますが、
今後これがない所で働く事になったら非常にやっかいだと思い別なツールを使おうと思いました。

そこでOracleのサイトをみると無償のツールOracle SQL Developerがありまた。
JDeveloperもありましたが、しばらくOracle SQL Developerを使ってみようと思います。

PL/SQLのデバック権限

10gにてDBMS_DEBUGを利用してPL/SQLのデバッグをする場合。

デバッガに接続するセッションにDEBUG CONNECT SESSIONシステム権限が必要。

その他、EXECUTE権限とDEBUG権限。

Oracle Sql Developer の Compiler Optionsの設定

Oracle Sql Developer で パッケージをコンパイルしたら
やたらと警告メッセージが出てきた。
はじめは、PLW-XXXXXを調べて修正していたが、作業が全然進まなくなってしまったので、
警告がでないように変更。

1.メニューバーの[Tools]-[Preferences]を選択
2.[PL/SQL Compiler Options ]を選択
3.[Generate PL/SQL Debug Information]のチェックをはずす
4.すべて[DISABLE]を選択

コンパイルすると警告メッセージがでなくなって、めでたし、めでたし。

10g Enterprise Manager Database Controlへの接続

[アドレス]
http://ホスト名:ポート番号/em

[ポート番号の確認]
$ORACLE_HOME/install/portlist.ini に書いてある。

[例]
http://127.0.0.1:5500/em

2007年07月02日

10g ゴミ箱を空にする。

{ゴミ箱の中身を確認する}


SELECT * FROM RECYCLEBIN

{ゴミ箱の中身を空にする}


PURGE RECYCLEBIN

{ゴミ箱のテーブルを削除する}


PURGE TABLE テーブル名

{ゴミ箱のインデックスを削除する}


PURGE INDEX インデックス名

{ゴミ箱のテーブルスペースを削除する}


PURGE TABLESPACE テーブルスペース名

ロールに付与された権限の確認

「DBA_SYS_PRIVS」にてロールに付与された権限を確認できます。


SELECT * FROM DBA_SYS_PRIVS

例:CONNECTロールに付与されている権限を確認する


SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'CONNECT'

※今後のOracleのリリースでは、CONNECT,DBA,RESOURCE ロールは自動的に作成されないかも
だそうです。

ロールの確認

すべてのロールを表示


SELECT * FROM DBA_ROLES

すべてのユーザーおよびロールに付与されたロールの表示


SELECT * FROM DBA_ROLE_PRIVS

2007年07月06日

Oracleのバージョン確認方法

select * from v$version

2007年07月11日

ORA-20000 buffer overflow

DBMS_OUTPUTにて標準出力に表示する時にバッファサイズを超えるとでる。

ORACLE 10G R1以前までバッファのサイズは2Kバイト~1Mバイト。行サイズ255バイト。
以下でバッファサイズを変更できる。


DBMS_OUTPUT.ENABLE(1000000);

ORACLE 10G R2はバッファのサイズは2Kバイト~無制限。行サイズ32Kバイト


DBMS_OUTPUT.ENABLE(NULL);

 +-----------------+----------------------------------+
 | ORU-10027 |  バッファオーバーフロー  |
 +-----------------+----------------------------------+
 | ORU-10028 |  行の長さオーバーフロー |
 +-----------------+----------------------------------+

ストアドオブジェクトのコンパイラ設定を調べる

ストアドオブジェクト
(PROCEDURE、FUNCTION、PACKAGE、PACKAGE BODY、TRIGGER、TYPE、TYPE BODY)
のコンパイラの設定を調べるには、USER_PLSQL_OBJECT_SETTINGSを利用する

SELECT * FROM USER_PLSQL_OBJECT_SETTINGS

2007年07月24日

Oracle Sql Developer にて 行番号表示

1.メニューバーの[Tools]-[Preferences]を選択
2.[Code Editer] - [Line Gutter]を選択
3.[Show Line Numbers]にチェックをつける

2007年09月13日

10g フラッシュバック メモ

■UNDO保存の保障の確認
保障しないとUNDOデータが上書きされるかも

select tablespace_name,retention from dba_tablespaces where tablespace_name = 'UNDOTBS1'

■UNDO保存の保障


alter tablespace 'UNDOTBS1' retention GUARANTEE;

■SCNとタイムスタンプのマッピング


select current_scn,scn_to_timestamp(current_scn) from v$database



select timestamp_to_scn(systimestamp), systimestamp from dual

■フラッシュバック問合せ
SCNにて


select name from test as of scn 344387777 where id = 2

■フラッシュバック・バージョン問合せ
SCNにて


select
versions_xid XID,
versions_startscn START_SCN,
versions_endscn END_SCN,
versions_operation OPERATION,
id,name
from test versions between scn minvalue and maxvalue

■フラッシュバック・トランザクション問合せ
SCNにて


select * from flashbak_transaction_query where table_name='TEST'

■oracle flashbak query


update test set name= (select name from test as of scn 344387777 where id = 2) where id=2

■oracle flushbak table
※flashback table 権限 or flashback any table 権限 が必要

行移行を有効にしないとだめ


alter table test enable row movement

・対照表はロックされる
・システム表、固定表はNG
・表の定義が変更されているとNG
・関連する表は、同時にフラッシュバックする


flashback table test to scn 344494686

■oracle flushbak drop

flashback table test to before drop rename to 'test2'

・マテリアライズドビュー、ビットマップ結合索引、参照性合成制約はNG
・制約や索引などは手動でリネームする


--索引名の取得
select index_name from user_indexes where table_name='TEST';
--リネーム
alter index "BINXXXXXXXXXXXXX" rename to pk_test;

2007年10月19日

Error 46 initializing SQL*Plus (SQLPlusが起動しない)

突然SQLPlusが起動しない・・・

ちなみに環境は

WinXP
SQL*Plus: Release 9.2.0.1.0 - Production

最近いろいろな物をインストールしていたので、
何が原因かわからない。。。

Webを徘徊した結果,

HD暗号化ソフトをインストールした時・・・・とか言うのを見つけた。
そういえばインストールしたと思い、一回削除しようと思ったが
勝手にアンインストールができないのであきらめ。

他にないか調査・・・

環境変数 の 『http_proxy』 の 設定 を 間違っていない?
というのがあった。

自分の環境変数を確かめると!!!!見事に間違っていた。

訂正前 : hoge.com:8080
訂正後 : http://hoge.com:8080

sqlplusを実行すると、見事に起動しました。

いやー、最近eclipseをインストールしていた時に、
プロキシ設定したような・・・・覚えていない・・・まあいいや。

2007年10月29日

DELETEからTRUNCATEへ置き換え

PLSQLにてバッチ処理を作成した。

処理上、10万件以上のでーたをDELETEしていたが、
パフォーマンスが悪いので対策としてTRUNCATEへ置き換えする事にした。

TRUNCATEはロールバックできなかったり、実行前後でCOMMITされたり、
PLSQLから使用する場合には、動的SQLにて実行しなくてはいけなかったりする。
単純には、置き換えできないので注意する。

今回の自分のケースでは、10分ぐらいかかっていたのが、1分半ぐらいになった。

変更前


DELETE FROM WORK;

変更後


EXECUTE IMMEDIATE 'TRUNCATE TABLE WORK';


2008年04月09日

【OO4O】ORAPARM_OUTPUT変数の最大サイズ

ServerTypeがVAR、VARCHAR2、ORATYPE_RAW_BINのORAPARM_OUTPUT変数の最大サイズは、
デフォルトで128バイト。
MinimumSizeにてサイズを予想されるサイズより大きい値を設定。

[VBの例]


OraDatabase.Parameters.Add "ret", 0, ORAPARM_OUTPUT
Set pret = OraDatabase.Parameters("ret")
pret.ServerType = ORATYPE_VARCHAR2
pret.MinimumSize = 1024

2008年04月25日

ロックの解除

1.V$LOCKとV$SESSIONからSIDとSERIAL#を調べる。

SELECT SID, SERIAL#,USERNAME,STATUS,MACHINE,PROGRAM
FROM V$SESSION
WHERE SID IN (
              SELECT SID 
              FROM   V$LOCK
              WHERE TYPE IN ('TM','TX')
);

2.セッションの切断

ALTER SYSTEM KILL SESSION 'SID,SERIAL#'

例: ALTER SYSTEM KILL SESSION '10,5000';

3.それでもだめな場合、
  サーバープロセスを強制終了。
  いやな場合は、DB再起動か?

2009年03月16日

Oracle研修終了

5日間の研修も終えて,Webで申請。

やっと Oracle Database 10g Gold になりました。

実際の業務で管理をするわけでもなく。
もったいない気がします。

しばらくするとまた記憶喪失になるので,
研修でやった事を少し纏めてみようかと思っています。

2009年04月10日

Oracleペーパードライブ

検証用に10gR2(30日間トライアル版)を以下にインストールした。

OS :WinXP
CPU:Pen4 3GHz
メモリ:1GB

メモリの空きが500MB以上あったので楽勝で動くだろうと思って
何も考えずにインストール。

インストール終了,DB作成後,自動でサービス上がり・・・・・。
CPU使用率100% アーンド メモリの使用が1GBを超え
ファンの音とディスクのカシャカシャ音が鳴り響くまったく動かない・・・・・。

サービスを止めようとコンパネを開こうとしたが・・・・・。
コンパネを開くのに15分ぐらいかかりあきらめて電源オフ。

PC起動させF8キー連打でXPをセーフモードで立ち上げる。
OEMもJOBもiSQLも使わないので以下のサービスを停止して再起動。
(1)OracleDBConsoleSID
(2)OracleJobSchedulerSID
(3)OracleOraDB10_home1iSQL*Plus

無事起動!!!
よかったよかった。

2009年04月
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30