シーケンスの一覧を取得するSQL
SELECT * FROM all_objects WHERE object_type='SEQUENCE'
ブラウザ(User-Agent)を特定して通信を許可/拒否する
携帯用に作成したサイト(ページ)については、携帯電話からのみアクセスを許可したいケースがあると思われます。
各携帯キャリアが公開しているIPアドレスを指定するのが一つの方法です。もう一つイレギュラーな方法としてはUser-Agentを指定してアクセスを許可させる方法が考えられます。ただしUser-Agentはいくらでも偽装可能なのでセキュリティを気にする場合ははっきり言って使えない方法なのでご注意ください。
httpd.confには以下のような例で記述を行えばOKです。
(例)Docomoからのみアクセスさせたい場合
SetEnvIfNoCase User-Agent ^Docomo* AllowUserAgent <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny all Allow env=AllowUserAgent </Directory>
リモートマシンのフォルダにログを出力する
WindowsサーバーにインストールしたApacheのログを別のマシン(以下ログ用サーバー)に保管するための手順をメモしておきます。
Windowsの共有フォルダを使い実現しています。
■パスワードの統一
Windowsの共有フォルダをにログを出力することになるので、ログ用サーバーとApacheのインストールされたサーバー(以下Webサーバー)の
・ユーザーAdministratorのパスワード
or
・グループAdministratorsに所属するのユーザー名とパスワード
を一緒にしておく必要があります。
■ログ用出力フォルダの設定
1. ログ出力用のフォルダの作成
ログ用サーバーの適当な場所にフォルダを作成します。
2. 作成したフォルダを共有できるようにします。
■Apacheにおける設定
1. サービスにログオンするユーザーの変更
Windowsのサービス画面で[Apache Tomcat]を選択し、[ログオン]タブで
・[アカウント]のラジオボタンにチェック
・[アカウント]の入力欄にログ用サーバーとAPサーバーで同一の名称になるように設定したユーザー名を入力します。
(例) .\Administrator
・[パスワード]と[パスワードの確認入力]の入力欄にログ出力用サーバーとWebサーバーで同一の名称になるように設定したユーザーのパスワードを入力します。
2. httpd.confの編集
httpd.confを編集します。
・ログ用サーバーに作成したフォルダにログが出力されるような設定を追記します。
(編集例)
CustomLog "| 'C:/Program Files/Apache Group/Apache2/bin/rotatelogs.exe' '//192.168.0.225/apachelogs/access.log' 86400" common ErrorLog "| 'C:/Program Files/Apache Group/Apache2/bin/rotatelogs.exe' '//192.168.0.225/apachelogs/error.log' 86400"
リポジトリの内容と完全に同期させる
マージするファイルの対象が多すぎて、面倒くさいときによくやります。
やっていることはeclipseの右クリックにある「Latest from Repository」と同じです。
実行方法は以下のとおりです。
svn revert -R . svn update .
ログを出力させない方法
Tomcatのログ(catalinal.2008-03-10.log等)を出力させない方法についてのメモです。
logging.propertiesの***.levelをOFFにすればとりあえず出力されないようになります。
############################################################ # Handler specific properties. # Describes specific configuration info for Handlers. ############################################################ 1catalina.org.apache.juli.FileHandler.level = OFF 1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 1catalina.org.apache.juli.FileHandler.prefix = catalina. 2localhost.org.apache.juli.FileHandler.level = OFF 2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 2localhost.org.apache.juli.FileHandler.prefix = localhost. 3manager.org.apache.juli.FileHandler.level = OFF 3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 3manager.org.apache.juli.FileHandler.prefix = manager. 4admin.org.apache.juli.FileHandler.level = OFF 4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 4admin.org.apache.juli.FileHandler.prefix = admin. 5host-manager.org.apache.juli.FileHandler.level = OFF 5host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 5host-manager.org.apache.juli.FileHandler.prefix = host-manager. java.util.logging.ConsoleHandler.level = OFF java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
Memory Notification: Library Cache Object loaded into SGA
Oracleのアラートログ(alert_{ORACLE_SID}.log)に下記のようなエラーが大量にはきだされるときがあります。
Memory Notification: Library Cache Object loaded into SGA Heap size 7798K exceeds notification threshold (2048K)
これはデフォルトの状態でSGAの使用量が2GB(2048K)を超えた際に必ず出てくるログのようです。
常に2GB以上、SGAの領域を使用する場合、ログを肥大化させ、より重要なログを埋もれさせるだけなので出ないようにするのがベターです。
方法としては、Oracleの隠しパラメータ_kgl_large_heap_warning_thresholdにログを出すしきい値を設定することで回避可能です。
SYSTEMユーザーで下記のコマンドを実行すればOKです。
ALTER SYSTEM SET _kgl_large_heap_warning_threshold=4096K SCOPE=both;
PFILEからSPFILEを作成する
CREATE SPFILE='C:\oracle\product\10.2.0\db_1\database\spfileORCL.ora' FROM PFILE='C:\oracle\product\10.2.0\oradata\orcl\pfile\initORCL.ora';