2011年12月9日金曜日

POWERSHELL 文字列エスケープ&置換

置換文字列にドル記号($)が入ると、-replace を普通に使ってうまく置換できなかった。
PS C:\doc\test> $STR1="My name is $[NAME]"
PS C:\doc\test> $STR2=$STR1 -replace "`$[NAME]","TOM"
PS C:\doc\test> $STR2
My name is $[NAME]

POWRSHELLのエスケープ符号(`)は効かない.か。。
  いろいろ検索してみると、[regex]::Escape メッソドを使う方法を見つかった
PS C:\doc\test> $STR2=$STR1 -replace [regex]::Escape("$[NAME]"),"TOM" PS C:\doc\test> $STR2 My name is TOM

で[regex]::Escapeメッソドは何をしたのかを見てみると、
PS C:\doc\test> [regex]::Escape("$[NAME]")
\$\[NAME]

2011年8月18日木曜日

LINUX 连续多IP添加


在使用Linux系统为网卡配置IP地址的时候,经常会遇到为某个网卡配置多 IP地址问题,普通的配置多IP的方法,经常会直接建立基本ifcfg-eth0:0 的方法来配置多IP,但在IP数量很多的时候很不方便,特别是如果这些IP需要更改的话,按照常规的办法去配置修改脚本,会非常繁琐。
针对这个问题,RedHat Linux 提供了下面的方法解决该问题:
配置脚本:
/etc/sysconfig/network-scripts/ifcfg-eth0-range0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR_START=192.168.0.10
IPADDR_END=192.168.0.100
CLONENUM_START=0
NETMASK=255.255.255.0
NO_ALIASROUTING=yes
脚本配置文件:
/etc/sysconfig/network-scripts/ifcfg-eth0-range1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR_START=192.168.0.150
IPADDR_END=192.168.0.200
CLONENUM_START=100
NETMASK=255.255.255.0
NO_ALIASROUTING=yes

Note: CLONENUM_START defines where the alias will start. If this is the second range file, you will need to set CLONENUM_START to a value higher than the number of IP addresses assigned. To check what you currently have used, you can run ‘ifconfig –a | grep eth1’. This will list devices such as eth1:0, eth1:1, eth1:2, and so on. If you are currently using upto eth1:16, you will need to set CLONENUM_START to 17 to assign the IPs correctly.

2011年7月31日日曜日

64ビットflashplayer pluginインストール

64ビットのをダウンロード、インストールする

[root@localhost oracle]# ln -s /usr/lib/mozilla/plugins/libflashplayer.so /home/oracle/.mozilla/plugins/libflashplayer.so
[root@localhost oracle]# ll  /home/oracle/.mozilla/plugins/libflashplayer.so
lrwxrwxrwx 1 root root 42  4月 14 01:18 /home/oracle/.mozilla/plugins/libflashplayer.so -> /usr/lib/mozilla/plugins/libflashplayer.so
[root@localhost oracle]#

2011年6月4日土曜日

Thunderbird-バックアップしたファイルの復旧方法

ThunderbirdのMailフォルダ配下のファイルをそのままコピーしてメールのバックアップを取っている。
だが、Thunderbirdはそれらのファイルをインポートする機能はなさそうで、
復旧は下記の方法で行う。
*下記方法について、「ローカルフォルダ」にメッセージがないのが前提。
メッセージが入った場合は、一旦メッセージの保存先を変えたほうがよい。

1.ローカルフォルダのメッセージ保存先を調べる
「ローカルフォルダ」→「設定」→「メッセージの保存先」
私の場合(Mac):
/Users/ran/Library/Thunderbird/Profiles/xxxxxx.default/Mail/Local Folders

2.バックアプしたファイルを上記の保存先にコピーする

3.Thunderbird再起動
再起動したら、ローカルフォルダーにコピーしたメッセージが見えるようになるはず。

4.メッセージ移動
「メッセージ移動」機能で、「ローカルフォルダ」内のメッセージをあるアカウントの受信フォルダに移動する。

2011年5月22日日曜日

Oracle DBA11g Bronze復習3

1.重要スキーマ
SYS:データディクショナリを構成する実表とビューを所有する
SYSTEM:管理情報を格納する追加の表とビュー及び様々なOracleオプションとツールによって使用される内部表とビューを所有する

2011年4月24日日曜日

Oracle 11g SQL基礎復習2

◆GROUP BY
   ・GROUP BY句とHAVING句の順番は交換できる
 ・ORDER BY句はGROUP BY句と一緒に使用する場合、ORDER BYではGROUP BY句で指定したいずれかの列を使用しなければならない。


◆関数
 ・ADD_MONTH(日付,n)
  指定した日付が月末の場合、nヶ月後の月末日を戻す。
 ・LENGTH
  スペースを含めた文字数が戻ります
LENGTH関数は、全角文字(漢字、ひらがな等)を1文字とします
・
LENGTHB

  バイト単位の文字列の長さを調べる 


◆SQLPLUSコマンド
 ・CHANGEコマンド 
 機能:文字列を置換する(区切り文字は任意に設定可能)
構文:C[HANGE sep 置換対象文字列 [ sep [置換文字列 [sep]]
説明:
・SQLバッファ内の置換対象文字列を置換文字列で置き換えます
・sepは、区切り文字で、任意に指定することができます(半角文字)
・置換対象文字列が複数存在する場合には、先頭の1つのみを置換します
・置換文字列後の区切り文字の指定は、任意です
 
◆制約
 ・参照整合性制約
   親表の親キーには、主キー制約又は一意キー制約の設定が必須。
   親表の定義後に、子表の外部キーを定義することができる
   外部キーは1つまたは複数の列の組み合わせで指定する
 ・副問い合わせによる表作成でコピー可能なものは、以下の通りです 
  表定義、データ、NOT NULL制約 
 ・制約のタイプ
  制約タイプはビューUSER_CONSTRAINTSの列CONSTRAINT_TYPEの値による調べる
C...CHECKまたはNOT NULL  
P...主キー(PRIMARY KEY)
U...一意キー(UNIQUE)
R...参照整合性(REFERENCES)
V...WITH CHECK OPTION指定のビュー  
O...WITH READ ONLY指定のビュー 


◆ビュー
・複数の表からビューを作成できます 
・ビューをもとにビューを作成できます 
・ビューを使用して更新、追加、削除ができます(制限あり)
・ビューを書き換えることができます
・元表がない場合にもFORCE句を指定するとビューを作成できます 
・ビューの元表が削除されてもビューは削除されません(無効になる) 

◆データ型
 ・ NUMBER型
  指定桁数に収まらない数値は格納できません。エラーになります 
  桁数を越えた整数部はエラーになります
桁数を越えた小数部は四捨五入されます

◆シノニム
 ・パブリック・シノニムの作成
  CREATE PUBLIC SYNONYM シノニム名 FOR オブジェクト名; 
  パブリック・シノニムを作成するには、CREATE PUBLIC SYNONYM権限が必要 
  パブリック・シノニムは、データベースのすべてのユーザーがアクセスできる 

  シノニム名の最大長は32バイト(通常30バイトまで、例外は、Java の機能使用する場合) 
  スキーマ・オブジェクトは、存在しなくてもシノニムを作成できる
  スキーマ・オブジェクトにアクセスするには、別途アクセス権限が必要 


◆ロール・権限
・ユーザに付与されるロールの確認できるビュー
USER_ROLE_PRIVS現行のユーザーに付与されたロールを示します
SESSION_ROLESユーザーが現在使用できるロールを示します
DBA_ROLE_PRIVSデータベース内のすべてのユーザーおよびロールに付与されたロールを示します

・ロールに含まれる権限の確認できるビュー
ROLE_SYS_PRIVSロールに付与されたシステム権限を示します
ROLE_TAB_PRIVSロールに付与された表権限を示します
ROLE_ROLE_PRIVS別のロールに付与されたロールの情報を示します
*ユーザーがアクセス権限を持っているロールの情報のみが得られます

・権限の確認できるビュー
USER_SYS_PRIVS
現行のユーザーに付与されたシステム権限を示します
SESSION_PRIVS
ユーザーが現在使用できる権限を示します
DBA_SYS_PRIVS
ユーザーおよびロールに付与されたシステム権限を示します
USER_TAB_PRIVS
現行のユーザーがオブジェクト所有者、権限付与者または権限受領者であるオブジェクトの権限付与を示します
USER_TAB_PRIVS_MADE
現行のユーザーがオブジェクト所有者であるオブジェクトの権限付与を示します
USER_TAB_PRIVS_RECD
現行のユーザーが権限受領者であるオブジェクトの権限付与を示します
DBA_TAB_PRIVS
データベース内のすべてのオブジェクトについての権限付与を示します
ALL_TAB_PRIVS_MADE
現行のユーザーがオブジェクト所有者または権限付与者であるオブジェクトの権限付与を示します
ALL_TAB_PRIVS_RECD
・現行のユーザーが権限受領者であるオブジェクトについての権限付与
・使用可能になっているロールまたはPUBLICが権限受領者であるオブジェクトについての権限付与




Oracle DBA11g Bronze復習2

◆制約
・主キー制約は、表構造を表示するDESCでは、NOT NULLと表示される(NOT NULLだけを削除することはできない)
◆バックアップ・リカバリ
・バックアップおよびリカバリを自動化するためには、以下の設定が必要です
 フラッシュ・リカバリ領域の作成(位置とサイズの指定)
 ARCHIVELOGモードでの稼動
 アーカイブ・ログの出力先をフラッシュ・リカバリ領域に設定

・フラッシュバック・テーブルの場合 
 ・フラッシュバック・テーブルでは、参照整合性制約を維持したままリカバリします。
  参照整合性制約に違反するリカバリはできません
・親表と子表を1度にフラッシュバック・テーブルをすると参照整合性制約を維持したままリカバリされる
・親表と子表を個別にフラッシュバック・テーブルを行っても参照整合性制約に違反しなければ可能です
・フラッシュバック・ドロップの場合
フラッシュバック・ドロップでは、表はリカバリされますが、参照整合性制約は削除されます。主キー制約は、維持されます 

◆リスナー
・リスナーは、Oracleインストール時に、デフォルトで構成され 、インストール後に、変更することができます
・リスナーの構成は、listener.oraファイルに格納されます
・Enterprise Managerからリスナーの開始又は停止できます 

◆セキュリティ
 ・ユーザの削除
  ユーザーを削除するには、DROP USER文を使用します
構文:DROP USER ユーザー名 [CASCADE];
ユーザーが作成したロールは削除されません
現在接続しているユーザーは削除できません
自分のスキーマ内に所有するオブジェクトがあると削除できません
CASCADE句を指定するとスキーマ内に所有するオブジェクトや表に関連する主キー、参照整合性制約等も削除されます

 ・外部認証
外部認証は、オペレーティング・システムまたはネットワーク・サー ビスによってユーザーを認証する方法
初期化パラメータOS_AUTHENT_PREFIXで、ユーザー名の接頭辞を指定する。デフォルト値は、OPS$である 

 ・ロールのWITH ADMIN OPTION付き付与 
  WITH ADMIN OPTION付きで権限を付与されるとロールの削除、ロールの更新、ロール権限の付与、ロール権限の取り消しが可能になる

 ・システム権限とオブジェクト権限
  システム権限の付与できるユーザ:DBA
  オブジェクト権限の付与できるユーザ:
  オブジェクト所有者、DBA、WITH GRANT OPTION付きで権限付与されたユーザ
◆DBCAのできること
 ・データベースの作成、削除
 ・データベースへのオプションの追加
 ・テンプレート管理
 ・自動ストレージ管理の構成
 *データベースのアップデートはDBUAで行う。
◆メモリ
 ・ラージプール
   ラージ・プールは、システム・グローバル領域(SGA)のオプションのメモリー領域です
ラージ・プールは、以下の目的で使用されます
セッション・メモリー
I/Oスレーブ
バックアップおよびリストア操作
パラレル問合せ
ラージ・プールは、LRU(
Least Recently Used)アルゴリズムを使用しないので、古いメモリーを削除しません (共有プールの他のメモリーは、LRUリストで管理します) 

   自動共有メモリー管理の対象コンポーネントの1つである
初期化パラメータLARGE_POOL_SIZEで指定(バイト単位)
デフォルト値は、0。ALTER SYSTEM文で動的に変更できます

・データベース・バッファ・キャッシュ
  データベース・バッファ・キャッシュは、データファイルから読み込んだデータ・ブロックのコピーが保持される領域です。修正済のブロックおよび未修正のブロックが含まれます
データベース・バッファ・キャッシュは、複数のバッファ・プールで構成されます。以下のようなバッファ・プールがデータベース・バッ ァ・キャッシュのサイズに関連します
DB_CACHE_SIZE.,,,,,,,,..デフォルトのデータ・ブロック
DB_KEEP_CACHE_SIZE..,,,.再利用の可能性が高いデータ・ブロック
DB_RECYCLE_CACHE_SIZE...再利用の可能性が低いデータ・ブロック
標準のブロック・サイズは、初期化パラメータDB_BLOCK_SIZEで設定します
標準以外の2K~32Kのブロック・サイズによる表領域を作成できます
LRUアルゴリズムで管理される
DB_BLOCK_SIZEは、動的な変更はできません
DB_CACHE_SIZEは、ALTER SYSTEM文で、動的に変更できます
データベース・バッファ・キャッシュ内の変更された(使用済)バッファをDBWnプロセスがディスクに書き込みます

・実行計画
 SELECT文やDML文を実行する場合には、いくつかの処理をどのような順番で行なうかを決めます。この処理の組合わせを実行計画といいます
実行計画は、再利用できるようにSGAの共有プールに格納します
正確には、SGAの共有プールの共有SQL領域に格納されます
複数ユーザーが使用する同じSQL文を共有プールに格納してメモリーを節約します