2014年12月18日木曜日
オラクル ロック解除
データをテーブルにインサートするとき、反応がない。
SQL自体は問題ないことを確認したあと、もしかしてロックのせいかなと思っている。
ロックとは、ある処理がコミットされずに、その後に続く処理が待ち状態になってしまっていること。
対応手順は下記となります。
SQL> SELECT SID, SERIAL# FROM V$SESSION
2 WHERE SID IN (
3 SELECT SID FROM V$LOCK
4 WHERE TYPE IN ('TM','TX')
5 );
SID SERIAL#
---------- ----------
30 49247
74 47697
SQL> alter system kill session '30,49247';
システムが変更されました。
SQL>
SQL> alter system kill session '74,47697';
システムが変更されました。
SQL> SELECT SID, SERIAL# FROM V$SESSION
2 WHERE SID IN (
3 SELECT SID FROM V$LOCK
4 WHERE TYPE IN ('TM','TX')
5 );
レコードが選択されませんでした。
SQL>
PL/SQLプロシージャのコンパイル時フリーズになる
PL/SQLプロシージャのコンパイル時フリーズになる
フリーズしたセッションが応答待ちのままになっているためです。
停止するセッションを識別するには、フリーズしてしまったセッションの索引番号とシリアル番号を指定します。
セッションのシステム識別子(SID)とシリアル番号を識別するには、V$SESSION動的パフォーマンス・ビューを問い合せます。
SELECT
SID ,SERIAL# ,STATUS
FROM
V$SESSION
WHERE
USERNAME = 'LEON_TENANT';
SID SERIAL# STATUS
---------- ---------- --------
40 1 INACTIVE
42 2493 ACTIVE
ALTER SYSTEM KILL SESSION '42,2493';
再度コンパイルを実施すると、無事にコンパイルことはできました。
フリーズしたセッションが応答待ちのままになっているためです。
停止するセッションを識別するには、フリーズしてしまったセッションの索引番号とシリアル番号を指定します。
セッションのシステム識別子(SID)とシリアル番号を識別するには、V$SESSION動的パフォーマンス・ビューを問い合せます。
SELECT
SID ,SERIAL# ,STATUS
FROM
V$SESSION
WHERE
USERNAME = 'LEON_TENANT';
SID SERIAL# STATUS
---------- ---------- --------
40 1 INACTIVE
42 2493 ACTIVE
ALTER SYSTEM KILL SESSION '42,2493';
再度コンパイルを実施すると、無事にコンパイルことはできました。
2014年12月3日水曜日
resin deploy timeout 解消
問題:
>resin deploy imart.war
java.lang.IllegalStateException: QueryFutureCallback[] future timeout: 120000ms
解決方法:
%resin_home%/resin.properties のdependency_check_interval を-1に変更する。
# dependency_check_interval : 5m
dependency_check_interval : -1
resinを再起動する。
resin deploy を実施する。
>resin deploy imart.war
java.lang.IllegalStateException: QueryFutureCallback[] future timeout: 120000ms
解決方法:
%resin_home%/resin.properties のdependency_check_interval を-1に変更する。
# dependency_check_interval : 5m
dependency_check_interval : -1
resinを再起動する。
resin deploy を実施する。
2014年12月2日火曜日
Oracleスキーマ単位にExport
1.準備
C:\verup>sqlplus system/password@127.0.0.1:8521/orcl
SQL*Plus: Release 11.2.0.1.0 Production on 火 12月 2 10:00:58 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
に接続されました。
SQL>
SQL>
ダンプファイル(Exportしたファイルのこと)とログを格納するディレクトリを作成。
SQL> create directory dumpdir as 'c:\verup\dump';
ディレクトリが作成されました。
SQL> create directory logdir as 'c:\verup\log';
ディレクトリが作成されました。
Oracleのユーザにディレクトリに読み書き権限を与える。
SQL>grant read,write on directory dumpdir to biz_one;
権限付与が成功しました。
※上記のコマンドを実行しないと、ORA-39070が発生しますよ。
ORA-39070: ログ・ファイルをオープンできません。
ディレクトリ・オブジェクトの確認
SQL>set pagesize 0;
SQL>select * from dba_directories;
2.Exportコマンドを投入
expdp dbuser/password@orcl schemas=biz_one directory=dumpdir dumpfile=biz_one_20141202.DMP
3.Import コマンドで導入
impdp new_user/password@orcl directory=dumpdir remap_schema=biz_one:biz_two dumpfile=biz_one_20141202.DMP
4.export 時と異なるスキーマ、異なる表領域に import
impdp user/password@orcl directory=dumpdir remap_schema=old_schema:new_schema dumpfile=xxxx.DMP remap_tablespace=old_tablespace:new_tablespace
登録:
投稿 (Atom)