2011年07月19日

CPANインストール時のエラー

CPANインストールでエラーが出たので対応策をメモ

■ 環境
CentOS5.6

CPANでモジュールをインストールしようとしたら謎なエラーが発生。
Checking if your kit is complete...
Looks good
Writing Makefile for Authen::SASL
Can't locate object method "new" via package "CPAN::Meta" at /usr/lib/perl5/5.8.8/ExtUtils/MM_Any.pm line 1273.

ググってもさっぱり出てこねぇ…。

とりあえずここに書いてあった「CPAN::Metaを探して、消すかバックアップしてから再インストールしろ」というのを試した。

/usr/lib/perl5/5.8.8/CPAN に Meta というディレクトリと Meta.pm というファイルがあるので、mvした。
# mv Meta Meta.bk
# mv Meta.pm Meta.pm.bk
その後、cpanを起動してCPAN::Metaをインストール。
# cpan

cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support enabled

cpan> install CPAN::Meta
次にまた Authen::SASL をインストール。
cpan> install Authen::SASL
すんなり入った…。

オレの半日を返せ!


タグ:Perl CPAN
posted by まきすけ at 13:40 | Comment(0) | TrackBack(0) | Linuxとか

2011年07月15日

オープンソース動画配信サーバ red5を試す

Javaでつくられた動画配信サーバがあるということで試してみた。
きっかけはお客さんから「なんか動画配信できるサーバないかな?」と聞かれたので、ちょっと調べるついでに立ててみた。

Flash Media Server互換のフリーストリーミングサーバらしいが、Flashの機能を生かしてチャットとかもできるらしい。

■ 環境
OS:CentOS5.6
red5 server 0.9.1

■ インストール
サーバにJava1.6をインストール
yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel


http://www.red5.org/red5-server/ から red5のtarballをダウンロード

サーバ上でred5のtarballを解凍

以上で終了。

■ 起動
tarballを解凍したディレクトリからコマンド実行
# ./red5.sh &


■ 停止
コマンド実行
# ./red5-shutdown.sh &


iptablesを使っている場合は、TCP/1395とTCP/5080を開放しておく。

■ デモアプリ
http://[サーバのアドレス]:5080/ へアクセスすると、red5のページが開く。

デモ動画は最初から入っていないので、別途インストールする必要アリ。
サーバのトップページ中ほどに「Install a ready-made application」というリンクがあるのでクリック。
一番上の「oflaDemo」をイントールする。

Installボタンを押して一晩たっても終っていなかったが…インストールはされていたw

またトップページから「Launch a demo」>「OFLA Demo」へと進む。
砂嵐のデモ画面が開くので、右上のテキストボックスのアドレスを変更して「connect」を押す。
 「rtmp://localhost/oflaDemo」>「rtmp://192.168.0.1/oflaDemo」 など

そうすると動画の一覧が表示されるので、クリックすると動画再生が始まる。

このデモ動画はすべてflvなので、試しにH.264の動画を落として入れてみた。
動画を入れる場所は [red5インストールディレクトリ]/webapps/oflaDemo/streams/

動画を配置したら、disconnect>connect で接続し直すと一覧に表示される。


■ JW Player 5 で表示する

このデモ画面のままだとカッコ悪いし、音量もスライダーも無いので、フリーのJW Playerで動画を再生する。
http://www.longtailvideo.com/players/

解凍したフォルダをWebサーバにアップロードしておく。

サンプルのHTMLを以下のように編集すると、普通のプレイヤーっぽく表示される。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script type='text/javascript' src='swfobject.js'></script>
<div id='preview'>This div will be replaced</div>
<script type='text/javascript'>
var s1 = new SWFObject('player.swf','ply','570','320','9','#ffffff');
s1.addParam('allowfullscreen','true');
s1.addParam('allowscriptaccess','always');
s1.addParam('wmode','opaque');
s1.addVariable('id','ply');
// s1.addVariable('backcolor','3333FF');
// s1.addVariable('lightcolor','00CC00');
s1.addVariable('screencolor','000000');
s1.addVariable('icons','false');
s1.addVariable('dock','true');
s1.addVariable('displayclick','fullscreen');
s1.addVariable('file', 'hogehoge.mp4');
s1.addVariable('streamer', 'rtmp://192.168.0.1/oflaDemo');
s1.addVariable('type', 'rtmp');
s1.write('preview');
</script>

</body>
</html>


プレイリストにしたとき、プレビューを自動で表示する方法がよくわからない…。

あと、0.9.1だとh.264の再生が遅い、カクカクすることがあるが、RC1だと速くなっているという情報もある。暇なとき確認してみようかな。

続きを読む

posted by まきすけ at 19:08 | Comment(0) | TrackBack(0) | Linuxとか

2011年06月01日

yumでローカルリポジトリを指定しても正しく動作しない

■ 環境
OS: CentOS5.5

HeartBeartとPacemakerを使ってクラスタを試そうと思い、実演!Pacemakerで楽々クラスタリング OSC2011Tokyo/Spring[PDF]第2回やってみようLinux-HA「HAの基本構成」を見ながらインストール作業を始めたところ、yumがコンフリクトエラーを吐いた。
# yum -c pacemaker.repo install pacemaker pm_crmgen pm_diskd pm_logconv-hb pm_extras heartbeat
<〜略〜>
--> Processing Conflict: pacemaker conflicts heartbeat < 2.99
--> Finished Dependency Resolution
pacemaker-1.0.10-1.4.el5.x86_64 from pacemaker has depsolving problems
--> pacemaker conflicts with heartbeat
Error: pacemaker conflicts with heartbeat
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest


Linux-HAのサイトから pacemaker-1.0.10-1.4.1.el5.x86_64.repo.tar.gz をダウンロード、/tmpに解凍しており、yumのコマンドオプションで pacemaker.repo を使うよう指定してあるのにも関わらず、何故か古いバージョンのheartbeatを引っ張ってこようとしているらしい。

いろいろ試した結果…。

/etc/yum.repos.d/ にある epel.repo が悪さをしていたらしく、このファイルを削除したらきちんとローカルリポジトリをチェックしてくれるようになった。

具体的な確認方法としては、/etc/yum.repos.d/ の中のファイルを全部消して、pacemaker.repoから1つずつ追加して確認した。
こういうのが一番疲れる…。

posted by まきすけ at 19:54 | Comment(0) | TrackBack(0) | Linuxとか

2011年05月25日

iptablesにてftpのポート設定

■ 環境
OS:CentOS5.5
iptables 1.3.5

■ 目的
iptablesを使ってFirewall設定をする際、単純に20・21番ポートを許可するだけだとFTPのDATA通信ができない。この問題を解決するためのメモ。

けっこう一般的なので「iptabels ftp」でググればいっぱい出てきます。

■ 参考サイト
[linux] iptablesでftpを通す
iptablesでftpを通す

■ 手順
/etc/sysconfig/iptables-config に下記1行を追加
IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"
ip_conntrack_ftpとip_nat_ftpモジュールをロードしなさい、という記述です。

記述したらiptablesを再起動
/etc/init.d/iptables restart
iptablesを再起動したら、lsmodしてみましょう。
# lsmod
Module Size Used by
ip_nat_ftp 36545 0 <<ココ
ip_nat 53101 1 ip_nat_ftp
ip_conntrack_ftp 41361 1 ip_nat_ftp <<ココ

iptablesの設定はこんな感じ。
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 21 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT

1行目の「RELATED」を忘れずに。

タグ:iptables ftp
posted by まきすけ at 16:48 | Comment(0) | TrackBack(0) | Linuxとか

2010年12月22日

sedで複数のファイルをまとめて処理する

sedで複数のファイルをまとめて処理する方法

■ 複数のファイルをまとめてgrepする
$ /bin/ls SystemOut* | sed -e 's/.*/cat & | grep Error /' | /bin/sh

■ 複数のファイルをまとめて圧縮する
$ /bin/ls -1 *.txt | sed -e 's/.*/\/usr\/bin\/gzip & /' | /bin/sh

■ 指定の日数が経過したファイルをまとめて削除する
/usr/bin/find -ctime +5 | sed -e 's/.*/\/bin\/rm -f &/' | /bin/sh


実行したコマンドを残しておきたい場合は、こんな感じ
/usr/bin/find -ctime +5 | sed -e 's/.*/\/bin\/rm -f &/' > rm.sh
/bin/sh rm.sh


■ 解説

1. lsコマンドなどでファイル一覧を出力する(ls -1 だとファイル名だけ表示される)

2. sedコマンドで置換をする(この例では置換というより文字列追加)
# sedコマンドについて詳しく知りたい人はググってください。

ちなみに、&(アンパサンド)の部分には検索文字列と一致した文字列が入ります。
この例だと/.*/なので、全ての文字が一致します。

ファイル名が「sample.txt」だった場合、
s/.*/cat &/ → "cat sample.txt" になります。

3. パイプでシェルに渡して実行する

sed と awk を知ると、Linux運用管理がかなり楽になるのでオススメ。

タグ:Linux SED
posted by まきすけ at 03:59 | Comment(0) | TrackBack(0) | Linuxとか

2010年11月26日

snmpdの大量ログを何とかする

SNMPでサーバ監視をしていたら、/var/log/messages に大量のログが吐かれるようになった。
Nov 26 19:20:38 hostname snmpd[27372]: Connection from UDP: [10.1.1.1]:55442
Nov 26 19:20:38 hostname snmpd[27372]: Connection from UDP: [10.1.1.1]:55442
Nov 26 19:20:38 hostname snmpd[27372]: Connection from UDP: [10.1.1.1]:55442

じゃまなので何とかする。

■ 環境
RedHat Enterprise Linux 5.3 (Tikanga)
Kernel2.6
net-snmp5.3

■ snmpd.conf の修正
/etc/snmp/snmpd.conf の最後に次の一行を追加する。
dontLogTCPWrappersConnects 1
dontLogTCPWrappersConnectsをtrueにすることで、snmpで接続を試みたログが1行にまとまるようになる。

■ snmpd.options の修正
/etc/sysconfig/snmpd.options (OSによっては/etc/snmp/snmpd.options)を修正する。

最後の「-a」を削除
# snmpd command line options
# OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a"
OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid"
「-a」を消すことで、1行にまとまったログも表示されなくなる。
SNMP接続のログを1行だけ表示したい場合は「-a」をつけていてもよいが、ほとんどの場合、毎分のように接続するだろうから消したほうがログが見やすいと思う。

■ snmpdのリスタート
# /etc/init.d/snmpd restart
これでsyslogをtailすれば表示されなくなることが確認できる(はず)

■ 参考サイト
snmp-errors-in-syslog

posted by まきすけ at 19:45 | Comment(0) | TrackBack(0) | Linuxとか

2010年11月04日

環境変数 http_proxy 設定時にIDとパスを指定する

ユーザー認証をしているProxyを経由して接続する際に、環境変数 http_proxy にIDとパスを指定する方法。

主にActivePerlやStrawBerry PerlでPPMやCPANを使うときに設定します。
C:> set http_proxy=http://username:password@proxy.example.com:8080/


posted by まきすけ at 21:38 | Comment(0) | TrackBack(0) | Linuxとか

2010年10月05日

SQL*Plus よく使うSETコマンド

Oracle10g(10.2.0.5) ■ SETコマンド
コマンド短縮形説明
SET PAGESIZE [n]PAGES1ページの行数をセット(ヘッダ等の行も含む)
SET UNDERLINE { ON | OFF}UNDヘッダの下に表示されるアンダーラインの表示・非表示
SET TIME { ON | OFF }TISQLプロンプトに時刻を表示する
COLMUN [カラム名] FORMAT [書式]カラムのフォーマットを指定
SET TRIMSPOOL { ON | OFF}各行の右端のスペースを削除する
SET WRAP { ON | OFF}カラム幅に収まらないデータを折り返すか切り捨てるか

■ 書式設定の補足
・文字列書式
a[n]…文字列のカラム幅をn文字にする(ex: COLUMN COLUMN_NAME FORMAT a20)

末尾にwrapオプションをつけると、幅数を超えるデータを折り返して表示する

・数値書式
000.000… 92.15 → 092.150
990.000… 92.15 → 92.150
990.000… 92.9995 → 93.000(四捨五入される)
小数点以下は0でも9でも同じ扱いになるようだ。

■ SQL*Plus起動時に設定を読み込ませる
セットしておきたいシステム変数を記述したファイルを、自分のホームディレクトリに「login.sql」という名前で配置すると、起動時に読み込んでくれる。
(windowsXPの場合は「C:\Documents and Settings\username\login.sql」)

login.sql
alter session set NLS_DATE_FORMAT = 'yyyy/mm/dd hh24:mi';

set null '(null)'

set serveroutput on size 1000000
set time on
set trimspool on
set lines 200

column tablespace fromat a20
column name format a40 wrap


posted by まきすけ at 10:00 | Comment(0) | TrackBack(0) | Linuxとか

2010年08月14日

CentOS 基本の設定

CentOS5.5

インストール時によく設定する項目をメモ

■ /etc/fstab
tmpfs(/dev/shm)は邪魔なので削除する
ディスクアクセス速度を少しでも向上させたい場合は、noatimeをつける
  /dev/LogVol00      /         ext3    defaults,noatime   1 1
LABEL=/boot /boot ext3 defaults 1 2
#tmpfs /dev/shm tmpfs defaults 0 0
/dev/LogVol01 swap swap defaults 0 0

■ swapをなるべく使わないようにする
swappinessの値は0〜100まで。大きいほどswapをつかう。
# cat /proc/sys/vm/swappiness
60

修正するには、/etc/sysctl.confに設定を追加。
vm.swappiness = 10
再起動すると反映。

すぐに反映させるには以下のコマンドを打つ
$ sudo sysctl -p

posted by まきすけ at 02:11 | Comment(0) | TrackBack(0) | Linuxとか

2010年08月09日

メール送信スクリプト(swatch用)

swatchからアラートメールを送信する際に使っているスクリプト。

Required
・Jcode
・Net::SMTP
・MIME::Entity

#!/usr/bin/perl

use Jcode;

$body = join(' ',@ARGV);

print $body . "\n";
##############################################
# 定数
##############################################
# 送信元と送信先セット
$from = 'fromuser@domain.com'; # set mailfrom
$to = 'touser@domain.com'; # set mailto
$smtpserver = 'localhost'; # set smtp server
$helodomain = 'yourdomain'; # set HELO domain

$title = "Alert from $ENV{'SERVER_NAME'} " . `date +'%Y/%m/%d %H:%M'`;

&sendMail($from , $to , "" , $title , $body);

############################################################################
# メール送信処理
############################################################################
sub sendMail{
use Net::SMTP;
use MIME::Entity;
local($from, $to, $cc, $title, $body, $attach, $fname);
# 引数セット
($from, $to, $cc, $title, $body, $attach, $fname) = @_;
#オブジェクトの作成
$smtp = Net::SMTP->new(
$smtpserver, #SMTPサーバ
Hello=>$helodomain); #SMTPサーバのドメインを指定
#ヘッダ部の組み立て
$ret = $smtp->mail($from); #送信元
# print "MAIL:$ret\n";
$ret = $smtp->to($to); #宛先
# print "TO:$ret\n";
if($cc){
$ret = $smtp->cc($cc); #cc
}
#データ部の組み立て(MIME::Entityによるデータの作成)
$ret = $smtp->data();
# print "DATA:$ret\n";
$oMime = MIME::Entity->build(
From => jcode($from,'sjis')->jis #送信元(データ部)
, To => jcode($to,'sjis')->jis #宛先(データ部)
, Subject => jcode($title,'sjis')->jis #件名
, Type => 'text/plain;charset="iso-2022-jp"'
, Data => [jcode($body,'sjis')->jis] #本文
, Encoding => "7bit" #7bitエンコード
);
if($attach){
#添付ファイルをつける
$oMime->attach(
Path => $attach,
Type => "text/plain",
Encoding => "-SUGGEST" ,
Filename => $fname
);
}
$ret = $smtp->datasend($oMime->stringify); #文字列に変換
# print "DATASEND:$ret\n";

# データの終わり、メール送信
$ret = $smtp->dataend();
# print "DATAEND:$ret\n";
#SMTP接続の終了
$ret = $smtp->quit;
# print "QUIT:$ret\n";
}


swatch側のConfigはこんな感じ
watchfor = /ERROR/
echo bold
exec /path/to/script/alertmail.pl '$_'
continue
posted by まきすけ at 18:44 | Comment(0) | TrackBack(0) | Linuxとか

郵政の郵便番号一覧(KEN_ALL.CSV)を変換するスクリプト

郵政の郵便番号一覧(KEN_ALL.CSV)を変換するスクリプトです。

HDDを整理してたら出てきたので残しときます。

作成日は2007年12月…何してたんかな〜。

#!/usr/bin/perl

# 郵政の郵便番号一覧(KEN_ALL.CSV)を変換する。
# http://www.post.japanpost.jp/zipcode/download.html
# --------
# 半角カナ⇒全角カナに(住所カナ)
# 半角英数⇒全角英数に(住所カナ)
# EUCだと'〜''−'が '?'になってしまうので半角ハイフンにする。
# 「以下に掲載がない場合」という表記を消す(カナも)
# 各列10個目以降のデータの意味がわからないので省いて出力する。
# 出力文字コードはEUCです。
# --------

use Jcode;

open(IN,"<KEN_ALL.CSV") || die "cant open file";
open(OUT,">zen_ken_all.txt") || die "cant open write file";

while(){
$str = Jcode->new(\$_,'sjis')->h2z->euc;
@arr = split(/,/,$str);
$arr[5] = Jcode->new(\$arr[5],'euc')->tr('[0-9a-zA-Z]','[0-9a-zA-Z]')->euc;
$arr[8] = Jcode->new(\$arr[8],'euc')->tr('〜','-')->euc;
$arr[8] =~ s/(次のビルを除く)//;
$arr[5] =~ s/\(.*\)//g;
if($arr[5] eq '"イカニケイサイガナイバアイ"'){
$arr[5] = '""';
}
if($arr[8] eq '"以下に掲載がない場合"'){
$arr[8] = '""';
}
print OUT "\"$arr[0]\",$arr[1],$arr[2],$arr[3],$arr[4],$arr[5],$arr[6],$arr[7],$arr[8]\n";
}

close(IN);
close(OUT);


posted by まきすけ at 18:11 | Comment(0) | TrackBack(0) | Linuxとか

2010年07月31日

Oracle+PHP で ORA-12154エラー

■ 環境
[Client]
Windows XP
Oracle Client 10g
PHP 5.2.6

[Server]
Oracle Standard Edition 10g

Client側でPHPのバッチを動かしていたが、Client側PCの老朽化によりプログラムの移行を行うことになった。
しかしながらまたしてもトラブったのでメモ。

PHPをインストールし、php.iniもそのまま移行したが、PHPを実行すると下記のエラーが発生。

pdo_oci_handle_factory ORA-12154

php.iniのdllの問題か?と思ったが検索してもあまり良い結果は得られず。

結局のところ、PDOをnewするコードを書き変えたらうまくいった。

元のコード
$db = new PDO("oci:dbname=//" . $SERVER .  ":1521/" . $SID , $USER, $PASSWD);

直したコード
$db = new PDO("oci:dbname=" . $SID , $USER, $PASSWD);


どうも元のコードの書式はOracle Instant Clientの書式っぽい。ちゃんとOracle Clientをインストールしていたんだけどな…。

なんか納得いかない結末。
posted by まきすけ at 17:58 | Comment(0) | TrackBack(0) | Linuxとか

2010年05月17日

コマンド プロンプトのプロンプト表示を変更する

コマンドプロンプト(DOSプロンプト)のプロンプト表示を変更するための環境変数設定。

よく忘れてしまうのでメモ。

環境:Windows XP SP3

マイコンピュータのプロパティを開き、詳細設定タブを選択。

「環境変数」ボタンを押す。

ユーザー環境変数の「新規」ボタンを押す。

変数名:PROMPT
変数値:$T $N:$G

OKを押して閉じる。

これでコマンドプロンプトの表示が以下のようになります。
19:56:27.90 C:>



コマンドラインから prompt /? を実行すると詳細を見れます。

PROMPT には通常の文字と次に示す特殊コードを使用できます:

$A & (アンパサンド)
$B | (パイプ)
$C ( (左かっこ)
$D 現在の日付
$E エスケープ コード (ASCII コードの 27)
$F ) (右かっこ)
$G > (不等号 (より大))
$H バックスペース (直前の文字を削除します)
$L < (不等号 (より小))
$N 現在のドライブ
$P 現在のドライブとパス
$Q = (等号)
$S (空白)
$T 現在の時刻
$V Windows XP のバージョン番号
$_ キャリッジ リターンとラインフィード
$$ $ (ドル記号)



posted by まきすけ at 20:04 | Comment(0) | TrackBack(0) | Linuxとか

2010年04月02日

ちょいとブックマーク的なメモ

ちょいとブックマーク的なメモ

ER図モデリングツール DBDesigner: プログラマの思索

Sunのシングルサインオン
OpenSSO

HAクラスタ
DBRD
posted by まきすけ at 09:49 | Comment(0) | TrackBack(0) | Linuxとか

2009年12月25日

Microsoft ProjectのViewer

MS Projectのビューワを探したメモ。
まだ実際には使っていない。

OpenProj -- JAVAアプリ
IBM ILOG Gantt for .NET
HD Projette -- シェアウェアらしい



タグ:microsoft PROJECT
posted by まきすけ at 18:32 | Comment(0) | TrackBack(0) | Linuxとか

2009年12月10日

Perl de Excel(Win32OLE)

Perlを使ってエクセルを作成する作業があったのでメモ。

■ 環境
OS:Windwos XP
Microsoft Office Excel 2003
ActivePerl 5.8.9

DB:Oracle 10g R2 SE One

■ 概要
今まではSQLを手で実行して、取得したデータをエクセルへコピペ。
工数の大きな作業ではないが毎月作業を行うので、自動化することにした。

で、今回やりたいこと。

・DBからデータを読み込む。
・エクセルに貼り付け。
・フォントサイズ調整。
・書式設定。
・カラム幅設定。
・シートは複数ある。SQLもそれぞれ違う。

準備として、Win32::OLEのモジュールをインスコしておく。

DBについてはテーマと違うので割愛。

■ Excelオブジェクトの準備と生成
# Excel関連
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';
$Win32::OLE::Warn = 3; # 0にすると例外メッセージの表示を抑制

# エクセルオブジェクト生成
my $Excel;
eval {
my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
|| Win32::OLE->new( 'Excel.Application', 'Quit' );
};
if ($@) {
die qq{Excel Not Found! $@};
}

上記の処理の場合、既にエクセルが起動していればそのウィンドウに新しいブックが作成されます。処理を終了するときに
$Excel->Quit;
と実行すると、先に開いていたブックも閉じてしまいますので、それが嫌な場合は常に「Win32::OLE->new」としておいたほうがいいです。
ただし、newで処理したときにエラーが発生すると、プロセスだけ残ってしまうことがあるので注意。

続きます

タグ:Perl EXCEL
posted by まきすけ at 19:03 | Comment(0) | TrackBack(0) | Linuxとか

2009年11月13日

[libHaru] HARU Free PDF Library

"HARU"というFreeのPDFライブラリがあるらしく、なかなかよさげだったのでメモ。

HARU Free PDF Library
山本隆の開発日誌 Haru Free PDF Libraryがすごい

RubyやPHPでも使えるようなので、折を見てサンプルを参考になにか作ってみようかと思います。




タグ:libharu PDF
posted by まきすけ at 16:12 | Comment(0) | TrackBack(0) | Linuxとか

2009年11月09日

Oracle DBConsoleサービスが起動しない

Oracle DBConsoleサービスが起動しない状況に陥ったのでメモ。

■ 環境
OS: Windows 2003 Server R2
DB: Oracle 10g SE R2(10.2.0.4)

■ 状況
Windows Update適用後、サーバー再起動を行ったがOracle DBConsoleサービスが起動せず。5分ほど起動中のまま応答なしになる。

Windows Updateの際にproxyの設定を行ったため(こちらの記事参照)、OracleDBConsoleサービスがProxyを見にいってしまっていたらしい(あくまで推測)

通常であればproxyの設定を戻せば通常どおり起動するのではないかと思われるが…起動しなかった。

致し方ないのでDBConsoleの設定を初期化する。

DBConsole for Oracle Enterprise Manager:猫目的日々からそっくり引用させていただきます。

>set oracle_sid=XXXXX(SID)
>emca -deconfig dbcontrol db
(SIDを聞かれます→入力し、'y')
>emca -config dbcontrol db
(SID、リスナーのポート、SYSのパスワード等を聞かれます→入力し、'y')

暫くすれば、DBConsole は正常に起動する(している)筈です。
(emctl status dbconsole で見ると、deamon がどーとか出ますが、、、EM は使えます)

その後、
>emctl secure dbconsole
で DBConsole をセキュア化する等の再設定を行います。
(SYS と OS のパスワード、ホスト名等を聞かれます)

上記の、
emca -deconfig/-config dbcontrol db
のコマンドですが、DB Control の再構築を行うコマンド(らしい)です。


引用のとおり再構築を行い、無事に起動しました。
ちなみに、OEM上でのバックアップの設定は残ってました。

まあなんつーか、オラクルさん…もうちょっとまともなツール作ってくんないかな〜。
EEでもおんなじような事があるっつーのはどうなんですかね。年間でいくら保守支払っているのかと…。
続きを読む

posted by まきすけ at 16:22 | Comment(0) | TrackBack(0) | Linuxとか

[Windows 2003 Server] Windows Updateでエラー(0x80072EFD)

【環境】
Windows 2003 Server R2(32bit)
社内プロキシを使用

【エラー時の状況】
Windows 2003 ServerにてWindows Update(Microsoft Update)を行うと、エラーコード 0x80072EFD「Web サイトに問題が発生したため、このページを表示できません。」と表示される(下記画面)

msupdterr.gif

【対応策】
Internet Explorerにて、プロキシの設定を行う。
コマンド プロンプトを開き「proxycfg」と入力し、現在の設定を確認する。
C:> proxycfg
Microsoft (R) WinHTTP Default Proxy Configuration Tool
Copyright (C) Microsoft Corporation. All rights reserved.

現在の WinHTTP プロキシ設定:
HKEY_LOCAL_MACHINE\
SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\
WinHttpSettings :

直接アクセス (プロキシ サーバーなし)


「proxycfg -u」と入力することで、IEのプロキシ設定と同じ設定に変更します。
C:>proxycfg -u
Microsoft (R) WinHTTP Default Proxy Configuration Tool
Copyright (C) Microsoft Corporation. All rights reserved.

更新されたプロキシ設定
現在の WinHTTP プロキシ設定:
HKEY_LOCAL_MACHINE\
SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\
WinHttpSettings :

プロキシ サーバー: proxyserver:8080
バイパス一覧 : 172.*;192.*;<local>


この状態でMicrosoft Updateを行ったらうまくいきました。

Updateが完了したら「proxycfg -d」を実行し、直接アクセスに戻します。
私はproxycfg -dを実行し忘れて、Oracle Enterprise ManagerのOracle DBConsole サービスが起動しないという状況に陥りました。

■ 参考サイト
御社は大丈夫?WindowsUpdateできてますか(All About)

なお、Microsoft Updateがうまくいかなくてパッチを個別にダウンロードして当て込む場合は以下のページが参考になります。
複数の Windows 更新プログラムまたは修正プログラムを同時にインストールし、再起動を 1 回で済ませる方法(MS公式)

# それにしても最近業者のスパムコメントが多いので、コメントは承認制にしました。



posted by まきすけ at 12:45 | Comment(0) | TrackBack(0) | Linuxとか