ablog

不器用で落着きのない技術者のメモ

プロセス の検索結果:

DTrace で Oracle Database のサーバー・プロセスをトレースしてみた

2010-03-22 - 未来のいつか/hyoshiokの日記 第102回カーネル読書会 に行ってきて、DTrace を使ってみようと思ってもう 2 ケ月近くすぎた。 やっと使ってみた。 sqlplus でログインして、 $ sqlplus / as sysdba SQL*Plus: Release 10.2.0.4.0 - Production on Sun May 16 04:59:23 2010 Copyright (c) 1982, 2007, Oracle. All…

ORA-00030: User session ID does not exist.

…ion '186, 23372'; System altered. としたら、別のセッションが kill されちゃった。 ORA-00030 が出たときには、プロセスがクリーンアップ中で、次に v$session を見たときはクリーンアップが完了していたと思われる。 参考 インスタンスとプロセス - オラクル・Oracleをマスターするための基本と仕組み プロセス・アーキテクチャ sqlnet_expire_time and dead connection detection

Oracle LOVERS 勉強会 第20回 w/ 小田圭二 に行ってきた!

… DB を壊したり、プロセスを kill したりして、どうなるかいろいろ見てみる。後はアウトプットすること。情報発信したところに集まる。」 by 小田さん 「Oracle Databaseの接続マトリクスは My Oracle Support で確認してほしい。ブログにベンチマーク掲載は禁止。」 by OTN 山口さん 「OSのカーネルの勉強は必須」 by 小田さん 「クライアントがサーバのバージョンに対応していない場合は、中間DBを使ってDBリンクをはるという裏技がある。」…

Tomcat をインストールしたけど起動しない

…して ps で見るとプロセスは起動しているけど、ブラウザでアクセスすると The requested resource (/xxx) is not available.って言われる。 catalina.out を見てみると、 # less /usr/local/tomcat/logs/catalina.out 致命的: Webアプリケーションディレクトリ host-manager を配備中のエラーです java.io.FileNotFoundException: /usr/l…

Data Pump で import しようとすると ORA-31640 が発生する

… さんが話されていたことがふと頭をよぎった。 「裏ではサーバプロセスが動いている」、「Data Pump は imp/exp のようにリモートホストで実行できない。DBサーバで、サーバプロセスを起動させて。。。」とか。。。 そうか、smith ユーザで Data Pump を実行してるけど、oracle ユーザでサーバプロセスが起動して、サーバプロセスが dump ファイルを読んで import するから oracle ユーザがアクセス権を持ってないといけないのか。なるほど!

SP2-0734: unknown command beginning "CASE WHEN ..." - rest of line ignored.

…> @test.sql 1 rows selected おk! というわけで原因は空行だった。 つまり、 SQL> select * from 2 SQL> dual; SP2-0042: unknown command "dual" - rest of line ignored. こういうこと。 「SP2-」って何だろ?たぶん、SQL*Plus の SP な気がする。 「ORA-」はサーバープロセスとかが返すエラーで、「SP2-」はSQL*Plusが返すエラーじゃないかと。

Oracle Database のプロセス、セッション、ロックの状態を表示する SQL スクリプト

Oracle Database で SQL 実行したら返ってこないとか、誰が接続しているか調べたいとか、ブロックしているセッションがないか調べたいとか、そういうときにまずは一発走らせて状況を確認するための SQL スクリプトを作ってみた。 yoheia/show_proc_ses_lock.sql at master · yoheia/yoheia · GitHub set pagesize 1000 set linesize 300 col ospid for a5 col…

Oracle LOVERS 勉強会 第19回 in 青山花見 に行って来た

…abase のサーバプロセス1つあたり消費するメモリサイズを想定で書いていく。なんだろうと思ってたら、各自が書いたメモリサイズの順に席順を決めて、お昼ご飯。さすが Oracle Database の勉強会w 弁当は日本オラクル御用達の1500円の豪華弁当。参加者が増えて、1つ足りなくなったので、弁当箱のふたにみんなの弁当からすこしずつ集めて主催者のもとくんβ(id:mototaker)さんの分に。 六本木ヒルズと青山霊園の桜を眼下に隣の方々と雑談しながらお昼ご飯。 お昼が終わ…

Oracle の集計関数のチューニング

…は通常ほとんどバッチプロセス以外は実行されない。 pga_aggregate_targetの5%しか1プロセスにソートエリアがメモリに割り当て られないのでは、ディスクソートとなってしまい処理の遅延が発生してしまう。 pga_aggregate_targetを大きくするほどメモリに余裕はない。 なんとかならないのか? Answer: 大量ソートのバッチトランザクションには以下の呪文をつけて下さい。 alter session set workarea_size_policy …

シェルスクリプトから実行しているSQLが遅いので調べてみたときのメモ

…0.00 6.34 プロセス $ sqlplus / as sysdba set pagesize 1000 set linesize 300 col spid for 99999 col sid for 9999 col serial# for 99999 col username for a14 col program for a50 col machine for a50 col osuser for a20 select proc.spid, ses.sid, ses…

id:wmo6hash 先生に教えて頂いたことをメモ

サーバプロセスを strace したら gettimeofday() ばかり呼んでいたことについて update文を実行してるはずのサーバープロセスをstrace したら、time だの gettimeofdate ばかり呼んでた。何してるんだろ?spin してるのかな?posted at 23:38:42 とつぶやいたら、id:wmo6hash 先生がいろいろ教えてくれました! @yoheia straceで gettimeofday() ばっかり呼ぶプロセスに見えると言え…

Data Pump を使ってみた

… [1] 2755 プロセスの優先度を上げる。 $ su - # ps -ef # sudo renice -20 -p 2755 # sudo renice -20 -p 2758 # exit orcl_temp スキーマを作成する SQL スクリプトを生成する $ su - orcl $ cd sql $ wget http://github.com/yoheia/yoheia/raw/master/oracle/sql/create_user_script.sql $…

致命的: 持続されたセッションの保存中のIOExceptionです ... SESSIONS.ser (Permission denied)

… Persistence for more information. Restart persistence may be disabled by setting this attribute to an empty string. Apache Tomcat Configuration Reference - The Manager Component 参考 http://it.pakapaka.jp/info/209.html *1:ps で確認するとプロセスが残っている

ログアウトしても scp による転送が終了しないようにする方法

…l + z」を押してプロセスをサスペンドする。 [1]+ Stopped nohup scp dummy oracle@192.168.153.17:~/ 実行中のジョブを確認する。 $ jobs -l [1]+ 5221 停止しました nohup scp dummy oracle@192.168.153.17:~/ サスペンドしたジョブ「1」をバックグラウンドで実行再開する。 $ bg 1 [1]+ nohup scp dummy oracle@192.168.153.17…

データベース・アーキテクト・サミット - askTom Live に行って来た

… / おお、サーバープロセスがいっぱい起動して並列処理してる! CPU いっぱい積んでるマシンだと速くなりそー ListAgg 11gR2 では ListAgg 関数が追加された。ListAgg はグループ化された行に存在する一連の値を1つのリストにして出力する機能を持った関数。集約関数や分析関数によって集約された値の内訳を簡単に出力することができる。 SQL> set pagesize 10000 SQL> set linesize 300 SQL> col account…

Tomcat6 自動起動・停止スクリプト for Solaris10

…6 Tomcat のプロセスが起動していることを確認する。 $ ps -ef|egrep "[t]omcat" root 669 1 0 06:19:47 ? 0:00 /opt/tomcat6/bin/jsvc -user tomcat -home /usr/java -Dcatalina.home=/opt/tomcat6 tomcat 670 669 0 06:19:47 ? 0:04 /opt/tomcat6/bin/jsvc -user tomcat -home /…

rsync: failed to set times on Operation not permitted

…場合に許可される: プロセスに適切な特権がある (Linux では CAP_FOWNER ケーパビリティ (capability) がある)。 または実効 (effective) ユーザ ID が、ファイルのユーザ ID と等しい。 または buf が NULL で、かつプロセスがファイルへの書き込み許可を持っている。 utime - システムコールの説明 - Linux コマンド集 一覧表 The utime() system call changes the access…

oracle ユーザ以外で sqlplus でローカル接続しようとすると ORA-27123 エラー

…行されているリスナープロセスからサーバー・プロセスが fork される。ローカル接続の場合、sqlplus のプロセスから sqlplus の実行ユーザでサーバープロセスが fork される。したがって、上記のケースでは、リスナー経由では接続できるがローカル接続では接続できないという状態になる。それで、サーバー・プロセスは起動するが、共有メモリにアクセスできない。ということは、共有メモリにアクセス権があれば、$ORACLE_HOME/bin/oracle のパーミッションを修…

最速 Import 研究会

…er=scott buffer=51380224 commit=y ignore=y file=scott_exp.dmp > scott_imp.log 2>&1 & imp と サーバープロセスの優先度を上げる。 $ ps -ef $ sudo renice -20 -p 3352 $ sudo renice -20 -p 3353 関連 Oracle の Import オプションのベストプラクティス - ablog 追記(2012/07/05): KROWN#67834

ps auxw したときに STAT 列に表示される値の意味

…略? カーネル内部のプロセスの状態 説明 R Run TASK_RUNNING 実行可能な状態。CPUが空きさえすれば、いつでも実行可能な状態。 S Sleep TASK_INTERRUPTIBLE 割り込み可能な待ち状態。おもに復帰時間が予測不能な長時間の待ち状態。スリープやユーザからの入力待ちなど。 D Disk Sleep TASK_UNINTERRUPTIBLE 割り込み不可能な待ち状態。おもに短時間で復帰する場合の待ち状態。ディスクの入出力待ち。 T Stopped…

ファイルシステムをアンマウントできないときにそのファイルシステムを使っているプロセスを調べる方法

…of コマンドで /u02 以下を使っているプロセスを調べて、 # lsof /u02 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME rm 14661 root cwd DIR 8,16 12288 177274882 /u02/oradata/orcl kill すと、 # kill 14661 アンマウント成功。 # umount /u02 参考 lsofの使い方 - プロセスが使用中のファイルを調べる - うまいぼうぶろぐ

任意のディレクトリ配下にどのような拡張子のファイルがどれだけあるか集計する Perl ワンライナー

….conf:9 .rman:1 .sql:9 参考 fileparse - ファイルパスからファイル名などを取り出す 関連 再帰的にファイル名に接頭辞をつける Perl ワンライナー - ablog 追記: @yoheia 複数プロセス可なら find . | sed -ne 's/^.*\/[^/][^/]*\(\.[^/][^/]*\)$/\1/p' | sort | uniq -c でどうでしょう?posted at 12:13:09 正規表現すごいっすね。目が痛い><

lsof コマンドってなんだ?

…ルをオープンしているプロセスのリストを出力するコマンドである。 lsof - Wikipedia なるほど。 ということは Oracle のアラートログをどのプロセスがオープンしてるか調べたりできるということか。 ちょっと使ってみる。 # uname -a Linux centos51 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST 2009 i686 i686 i386 GNU/Linux # lsof alert_orcl.lo…

Oracle の export/import で対象となるオブジェクト

…したら、たぶんサーバプロセスが生成されるのでそいつのトレースをとれば何やってるかわかると思う。今回はトレースの取得まではしていない。 imp コマンドで show=y オプションをつける $ imp system/manager file=scott.dmp fromuser=scott touser=scott show=y Import: Release 10.2.0.4.0 - Production on Wed Jan 13 14:13:01 2010 Copyrig…

CPU使用率を 100% にする Perl ワンライナー

…posted at 12:48:37 Windows なら CPUGRAB.exe というのがあるらしいです。id:beakmark さんありがとうございます。 追記(2010/01/12): 実行例 # プロセス起動 $ for i in {1..4} do perl -e 'while(1){}' & done #プロセス終了 $ ps -ef|perl -lane '/perl -e while\(1\)\{\}/ and print $F[1]'|xargs kill

オンラインREDOログ障害からのリカバリ手順

…・グループをARCHプロセスがアーカイブしようとしたときにアーカイブできず、アラートログにエラーが出力されるが、インスタンスは停止せず稼働し続ける。そのまま、ログスイッチしていくが、アーカイブされていないREDOログにはスイッチできないので、ここまできて、REDOログバッファをREDOログに書き込むことができなくなりハングする。復旧方法は、不完全リカバリか、無理やりログスイッチして正常なREDOログが現行になったところで、alter system checkpoint -> …

ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode

…生すると CKPT プロセスは、 DBWn プロセスにシグナルを送って、データベース・バッファキャッシュをデータファイルに書き出すよう指示し、 CKPT プロセス自身は制御ファイルとデータファイルのヘッダのシステム変更番号(SCN)を更新する。 ハードウェア障害やOSの問題などでデータファイルのヘッダの SCN の更新に失敗すると、上記のエラーが発生し、インスタンスが異常終了する。 対処 以下の対処を上から順番に試していく。上の2つでダメな場合はデータロストが発生する。 イン…

Oracle Databse 運用手順

…dbconsole プロセスを確認する。 $ ps -f -U oracle アラートログを確認する。 $ sqlplus / as sysdba SQL> show parameter background_dump_dest NAME TYPE VALUE ------------------------------------ ----------- -------------------------------- background_dump_dest string…

Shibuya Perl Mongersテクニカルトーク#12 NoSQL特集 に行って来た

…のTCP通信では送信プロセスがwrite(2)を呼ぶたびにコンテクストスイッチが発生するため、ブロックサイズが小さいとコンテクストスイッチが頻発してパフォーマンスが低下するとのこと。 つまり、ホスト間のTCP通信ではデータを運ぶ箱のサイズが一定なので、アプリケーション送信するブロックサイズの違いによってパフォーマンスが変わることはないが、単一ホスト内でのTCP通信の場合はアプリケーションが送信するたびに実際に送信されるので、同じ量のデータを送信する場合でも、ブロックサイズが小…

twitter 経由でのブログへのアクセスが急増した

…acle.exe のプロセスダンプを解析するときには,このネーミングルールを知っているかどうかで随分と差が出ますけど #debug RT @hyoshiok: 何この超マニアック。KK/KQ/KX あたりはいじっていたな。 http://bit.ly/3qvNe6posted at 23:27:38hyoshiok: なんで、こんなマニアックな話に食いつくwww RT @komorih: oracle.exe のプロセスダンプを解析するときには,このネーミングルールを知ってい…