2014年6月25日水曜日

[Linux] Oracleを入れてみた

Linuxの勉強を兼ねてOracleをインストールしてみました。

環境:
 CentOS 6.5 @ VMWare
 Oracle 11gR2

http://www.server-world.info/query?os=CentOS_5&p=oracle11g
を参考にしつつ、インストール作業が完了したので
まずはリスナーを起動してみたら「No Services」とかいう不穏なメッセージが・・・

では、Net Configuration Assistantを使ってみよう。


Oh...


このエラーで調べても有効な解決方法が見つからない・・・
とりあえずlistener.oraを見てみよう。



ふむ、SID_LIST_LISTENERがないな。
というわけで追記。


で、リスナー再起動っと。


よしよし、無事つながった。

でもなんでnetca使えないのか・・・
もうちょっと調べなくては。

2014年6月24日火曜日

備忘録 2014.06.24

備忘録として、後で見たい記事を。


■OneDriveの無料容量拡大
http://internet.watch.impress.co.jp/docs/news/20140624_654783.html

■次期IE機能
http://internet.watch.impress.co.jp/docs/news/20140617_653700.html

■Windows XPまだ利用されている
http://news.mynavi.jp/news/2014/06/24/110/

[Oracle] ODBC接続でORA-01017エラー

質問されただけである上に全然解決してないんですが。

環境
 Windows Server 2012 x64
 Oracle Client 11.2.0.3.0 //たぶんx64

で、Oracle用ODBC(Oracle提供のODBCではない)を使用している環境において
ODBCの「Test Connection」を使用するとORA-01017エラーが確かにでました。

SQL*Plusでは問題なくつながるようだったので
とりあえずやりたいことはできる、という話に落ち着きました。


色々試した感じだと、上記ODBCのパスワード欄に文字数制限が
かかっているのかも?という感じ。

でもパスワード、15文字くらいだったしなぁ・・・
腑に落ちない。

2014年6月18日水曜日

[Python] はじめてのぱいそん

そのうちPythonでGUIツールを作ることになるかも、
とのことなので試しにHello World的なものを作ってみた。

■用意したもの
 Python 3.3.0
 cx_Freeze4.3.3

■ソース
#sample.py
from tkinter import *
from tkinter.messagebox import *

root = Tk()

n = IntVar()
n.set(0)

func_table = (showinfo, showwarning, showerror, askquestion, askokcancel,
              askyesno, askretrycancel)

name_table = ('showinfo', 'showwarning', 'showerror', 'askquestion',
              'askokcancel', 'askyesno', 'askretrycancel')

def message_box():
    func = func_table[n.get()]
    func(title = 'about', message = u'Hello World!')

for m, name in enumerate(name_table):
    Radiobutton(root, text = name, value = m, variable = n).pack(anchor='w')

Button(root, text = "Open message box", command = message_box).pack()

root.mainloop()


んで、とりあえずビルドするために、
#setup.py
import sys
from cx_Freeze import setup, Executable

base = None

if sys.platform == 'win32' : base = 'Win32GUI'

exe = Executable(script = 'sample.py', base = base)
2
setup(name = 'sample',
      version = '0.1',
      description = 'converter',
      executables = [exe]
)


ここまで準備を終え、setup.py buildするとexeファイルは出来上がるのだが
いざ実行すると

---------------------------
cx_Freeze: Python error in main script (traceback unavailable)
---------------------------
Cannot import traceback module.
Exception: cannot import name MAXREPEAT
Original Exception: cannot import name MAXREPEAT
---------------------------
OK
---------------------------

が出る・・・


調べてみたところPython 3.3.0のバグだったみたい。
3.3.5にアップグレードしたらちゃんと動きましたとさ。
# 原因を追究するのに半日かかってしまったorz

2014年6月17日火曜日

LinuxとかPythonとか

同時である必要はないのですが、
今後LinuxとかPythonとかをちょっとずつ覚えていく必要がありそう
ということで書き込み。

これまでWindowsばっかりだったし・・・

2014年6月12日木曜日

[PowerShell] 比較演算子にハマる

色々とPowerShellを書いてたら、ps1ファイルのあるフォルダに
なぜか「0」というファイルが作られている。。。

なんでや!

PS> $array = @()
PS> $array += ・・・
PS> if ($array.Length > 0) {
PS>     ・・・
PS> }



・・・



($array.Length > 0)



おまえか!



ついつい癖で不等号使ってしまったorz
-gt 使わないといけないんでしたね。。

ということでこんな感じで書き換えたら解決。

PS> $array = @()
PS> $array += ・・・
PS> if ($array.Length -gt 0) {
PS>     ・・・
PS> }

2014年6月11日水曜日

[PowerShell] リモートからHDDの空き容量を調べる

イベントログを見ることができるんだから、ディスクの空き容量を調べることもできるだろう、
ということでこんな感じで書いてみた。

PS> $username = "username"
PS> $sPassword  = ConvertTo-SecureString -String "password" -AsPlainText -Force
PS> $credential = New-Object System.Management.Automation.PSCredential($username, $sPassword)
PS> $hdd_list = Get-WmiObject -Class win32_logicaldisk -ComputerName "host-name"
-Credential $credential
PS> $msg = ""
PS> foreach($hdd  in $hdd_list) {
PS>     $driveLetter = $hdd.DeviceID -replace(":", "")
PS>     $freeSpace = [string] ([math]::round($hdd.FreeSpace / ([math]::pow(1024, 3)), 2))
PS>     $msg = "Freespace of " + $driveLetter + " drive is " + $freeSpace + "(GB)."
PS> }
PS> $msg

# 2015.04.09 1行目を追記。ご指摘ありがとうございます。

[PowerShell] リモートからイベントビューアを見る

サーバのチェックを行うのに一々リモートデスクトップ接続するのは面倒。
(特にチェックするサーバが多ければ多いほど)

ということで、作業PCからPowerShellを使用し、
リモートでイベントビューアを表示する方法を調べてみた。

PS> # 共有リソースに接続
PS> net use \\[host-name or ip-address] [password] /user:[user-name]
PS>
PS> # イベントログを表示
PS> Get-EventLog system -ComputerName [host-name or ip-address]

過去n日間に発生したシステムエラーの件数を表示したいならこんな感じ

PS> net use \\[host-name or ip-address] [password] /user:[user-name]
PS>
PS> # ndays はマイナスの値にすること
PS> $ndays = -3
PS> $error_count = Get-EventLog system -ComputerName [host-name] | Where-Object { $_.EntryType -eq "Error" -and $_.TimeGenerated -gt (Get-Date).AddDays($ndays) } | Group-Object $_.EntryType

とりあえず投稿

調べたことなどを不定期に掲載します。
3日坊主にならないように気を付けないと。。