スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Oracle Archiveログの削除(バックアップ)方法(簡易的)

今回はアーカイブログを簡易的に削除(バックアップ)する方法をメモ代わりに記載しておきます。

Oracleのアーカイブログですが、デフォルトでは自動削除されないため、
意外とサーバーの容量を圧迫してしまいます。
ただしアーカイブログはデータリカバリで使用する為、そのまま削除しただけでは
元に戻せなくなってしまいますので、以下の手順が必要となります。

【1】OracleDBサーバにログイン。

【2】アーカイブログの出力先ディレクトリ確認
   select name, value from v$parameter where name like 'log_archive%'

【3】出力先のファイルをすべて別のディレクトリにバックアップ(ファイルコピー)

【4】出力先ディレクトリ内ファイルの削除
  【3】の作業完了を確認後、出力先のディレクトリ内ファイルを削除する。

【5】通常とおり利用できていればOK。

簡単ですね!

今回はアーカイブログ運用開始からデータファイルのバックアップが
取られていないケースを想定していますが、リカバリ時間等を短縮したい場合は
定期的にデータファイルのバックアップを取ることで、
その時点からのアーカイブログだけを適用させることもできるので、
それ以前のデータは不要となるため、削除対象とすることができ、
容量の節約にもつながります。
スポンサーサイト

テーマ : ソフトウェア開発
ジャンル : コンピュータ

(Redmine1.1.1続き)バックアップ方法

1.filesディレクトリのバックアップ方法
  Redmineのインストールディレクトリ直下のfilesディレクトリをコピーする。

2.データベースのバックアップ方法
  MySQLを使用している場合、mysqldumpコマンドを実行してデータベースのダンプデータを取得する。
  mysqldump -u MySQLユーザー名
       -pMySQLパスワード
       --single-transaction ・・・一貫性のあるバックアップ
       --master-data=CHANGE MASTER文でダンプ開始時のバイナリログの位置情報を記録するかどうか(1.する 2.しない)
       --flush-logs ・・・ダンプを開始する前に、MySQL サーバ内のログファイルをフラッシュする
       --hex-blob バイナリ型のデータをエスケープ処理を行わずに実際に格納された値の16進表記でダンプする。
       --default-character-set=文字コード
       Redmineデータベース名 > 出力ファイル名

  mysqldump -u root -proot --single-transaction --master-data=2 --flush-logs --hex-blob --default-character-set=utf8 redmine > database_backup.sql

Redmineが抱えているデータの保管はこれだけで大丈夫だと思います。
ただ、config系を変更していると思うので、redmine_home/configの配下を
クラッシュに備えて適宜バックアップしておくのもお勧めします。
(※変更したタイミングでとっておけばおk)

テーマ : ソフトウェア開発
ジャンル : コンピュータ

(Redmine1.1.1続き)thinサーバーの構築(Mongrelよりも高速なWebサーバー)

thinをWindowsサービスで起動をする為のmongrel_serviceならぬ「ThinService」なるものを
C#.NETで作成してみました。
ちょっとアナログ的な手順が混ざってますが気になさらず(汗

「ThinService」以下のリンクからダウンロードして下さい。

ダウンロードサイト
(違うサイトに飛びますが私のサイトですのでご安心下さい)

ファイルを解凍するとソース一式が入ってます。
「ThinService」をそのまま使いたい方は
\thin_service\thin_service\bin\Release\ThinService.exe
を任意の場所にコピーして下さい。(後でサービスが参照するので動かさないような場所が望ましい)

ではthinの設定を始めます。

1.thin本体のインストール
  gem install thin --platform mswin32

2.Windowsサービスのインストール
  かなりアナログ的ですが、MS-DOSプロンプトにてscコマンドを以下のように発行してWindowsサービスに登録します。

sc create サービス名 binpath= "\"ThinService.exeのパス\" \"ruby.exeのパス\" \"thinのパス\" \"redmineのパス\" \"ポート番号\""
  sc create thin_service1 binPath= "\"C:/redmine/thin_service/ThinService.exe\" \"C:/Ruby187/bin/ruby.exe\" \"C:/Ruby187/bin/thin\" \"C:/redmine\" \"3000\""
  sc create thin_service2 binPath= "\"C:/redmine/thin_service/ThinService.exe\" \"C:/Ruby187/bin/ruby.exe\" \"C:/Ruby187/bin/thin\" \"C:/redmine\" \"3001\""
  sc create thin_service3 binPath= "\"C:/redmine/thin_service/ThinService.exe\" \"C:/Ruby187/bin/ruby.exe\" \"C:/Ruby187/bin/thin\" \"C:/redmine\" \"3002\""

3.ThinServiceの起動
  ※Windowsサービスを追加できない環境では以下のようなコマンドを実行して対応可能。
  (ただしコマンドプロンプトは立ち上げたままでなくてはならない)
  thin -e production -p 3000 start
  thin -e production -p 3001 start
  thin -e production -p 3002 start

これでthinの設定は完了です。
正しい作成方法かはわかりませんが(汗

テーマ : ソフトウェア開発
ジャンル : コンピュータ

(Redmine1.1.1続き)productionログのローテーションに関して

production.logは基本設定のままではローテーションが行われません。
その為、ログファイルが肥大化してしまう為、
日次でログローテーション処理を実行する必要があります。

本来であればRedmineが使用しているLogger機能によりログローテーションをすることも可能だが、
今回作成した環境ではWindows環境及びRailsインスタンスを複数起動している為、
正しくログローテーションが行われないみたいです。

なので今回はWindowsのタスクスケジューラーを使用して
夜中の12時にログローテーションをするようなタスクを作成してカバーしました。
サーバーを一旦落とさなくてはいけないのが癪にさわりますが。

ちなみに登録したタスクのサンプル用のバッチは下からダウンロードできます。
MS-DOSコマンドを実装した事があまりないのでかなり適当ですが(汗
動かなかったらすいません。。。

ダウンロードサイト
(違うサイトに飛びますが私のサイトですのでご安心下さい)


ダウンロードしたファイルの中に、「redmine_daily.bat」というファイルがあるので
定義の部分を自分の環境に合わせて直すと良い感じだと思います。
参考までに使ってみてください。(変なことになっても知りませんが)

ちなみにLinux環境ではlogroate.dを編集することで対応可能みたいです。
参照)http://redmine.jp/faq/system_management/production-log-rotate/

Windows環境は運用向きじゃないんですかね(笑

テーマ : ソフトウェア開発
ジャンル : コンピュータ

Redmine1.1.1のインストールメモ

Redmineのインストールメモです。

●作成する環境

 redmine(1.1.1)
 MySQL(5.5.8)
 Ruby(1.8.7)
 mongrel(1.1.5)
 mongrel_service(0.4.0)
 Apache(2.2.17)
 Windows Server 2008

 1.redmine(1.1.1)をダウンロードする。
   (SVN版):http://redmine.rubyforge.org/svn/branches/1.0-stable
   (ZIP版):http://rubyforge.org/frs/?group_id=1850
   ※SVN版は別途Railsをインストールする必要がある。
    gem install rails -v=2.3.5

 2.MySQL(5.5.8)をインストールする。
   http://www-jp.mysql.com/downloads/mysql/

   参考)
    http://www.dbonline.jp/mysqlinstall/install/index2.html
    http://www.dbonline.jp/mysqlinstall/install/index3.html

   サービス名:MySQL
   rootユーザ名/パスワード:root/root

 3.コマンドプロンプトにて以下のコマンドを実行し、DBを作成する。
   mysql -u root -p                        ←rootユーザでログインする
   Enter password: *******                    ←rootパスワード入力する
   create database redmine character set utf8;          ←データベース名を指定
   create user 'redmine'@'localhost' identified by 'redmine';   ←redmineユーザを作成する。
   grant all privileges on redmine.* to 'redmine'@'localhost';  ←権限の付与
   ※上記はデータベース名「redmine」、ユーザ「redmine」、パスワード「redmine」で作成される

 4.(redmine_home)\config/database.example.ymlをコピーして(redmine_home)\config/database.ymlを作成し、
   (redmine_home)\config/database.ymlのproductionを以下のように編集する。

   production:
    adapter: mysql
    database: redmine
    host: localhost
    username: redmine
    password: redmine

 5.(redmine_home)\config/email.yml.example をコピーしてconfig/email.ymlを作成し、
   (redmine_home)\config/email.ymlのproductionを以下のように編集する。
   production:
    delivery_method: :smtp
    smtp_settings:
    address: smtp.hogehoge.jp
    port: 25
    domain: hogehoge.jp
    authentication: :none

 6.Ruby(1.8.7)をインストールする
   http://rubyinstaller.org/

 7.(ruby_home)/bin配下に以下のlibmySQL.dllをコピーする(下記URLからダウンロード)
   http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll

 8.コマンドプロンプトにて以下のコマンドを実行する(redmine_homeにて作業)
   gem install i18n -v=0.4.2
   gem install mysql ⇒ いくつかエラーがでるが無視。
   gem install rake
   gem install rack -v=1.0.1
   rake config/initializers/session_store.rb
   rake db:migrate RAILS_ENV="production"
   rake load_default_data RAILS_ENV="production"

 9.ログの出力方法を設定する。(デフォルトのままでよければ飛ばしてOK)
   (ruby_home)/config/environments/production.rbに以下の設定を追加する。
   config.logger = Logger.new(config.log_path)
   config.logger.level = Logger::INFO
   ※ログの出力レベルに関しては、デフォルト「INFO」のため、ワーニングやエラーのみの出力にする場合は以下のように編集する。
    config.logger.level = Logger::WARNING

 10.WEBrick(WEBサーバ)を起動する(redmine_homeにて作業、WEBrickは動作確認用)
   ruby script/server webrick -e production

 11.ブラウザから以下のアドレスにアクセスする
   http://localhost:3000/
   ログイン:admin/admin

 12.Mongrel(WEBサーバ)をインストールする(Apache2のmod_proxy_balancerでバランシングする為、バランシングする数だけ作成)
   gem install mongrel_service
   mongrel_rails service::install -N "(サービス名)" -c (redmine_home) -p (ポート番号) -e (作動環境)
   mongrel_rails service::install -N Mongrel1 -c C:\redmine -p 3000 -e production
   mongrel_rails service::install -N Mongrel2 -c C:\redmine -p 3001 -e production
   mongrel_rails service::install -N Mongrel3 -c C:\redmine -p 3002 -e production
   ※例では3つサーバーを作成。mod_proxy_balancerも対応させる)

   ※サービスの削除
   mongrel_rails service::remove -N Mongrel1
   mongrel_rails service::remove -N Mongrel2
   mongrel_rails service::remove -N Mongrel3

 13.Mongrelをサービスから起動する。(作成したサービス全てを立ち上げる)

 14.ブラウザから再度以下のアドレスにアクセスする
   http://localhost:3000/
   ログイン:admin/admin

 15.Apache2をインストールする。(OpenSSLとか用途に応じたものをダウンロード)
   http://httpd.apache.org/download.cgi#apache22

 16.(apache_home)\conf\https.confの以下の行のコメントアウトを外す。
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    Include conf/extra/httpd-vhosts.conf

 17.(apache_home)\conf\extra\httpd-vhosts.confを以下のように編集する。
    ※必要のないはコメントアウトしておいた方が間違いない

    
     ServerAdmin hogehoge@hogehoge.jp
     DocumentRoot "C:\redmine\public"
     ServerName localhost
     ProxyPass /redmine/ balancer://redmine/
     ProxyPassReverse /redmine/ balancer://redmine/
     
      BalancerMember http://localhost:3000 loadfactor=30
      BalancerMember http://localhost:3001 loadfactor=30
      BalancerMember http://localhost:3002 loadfactor=30
     

     ErrorLog "logs\error.log"
     CustomLog "logs\access.log" common
    


    ※注意
    上記例はサブディレクトリとしてredmineを指定している為、
    redmineが参照するパスが全てずれてしまう。(通常は/から参照する為)
    例のように開始するパスを変更する場合は
    (redmine\home)\config/routes.rbの
    ActionController::Routing::Routes.draw do |map|
    の下に
    ActionController::Base.relative_url_root = '/redmine'
    を追加する。
    追加後、mongrelサービスを再起動する。

 18.Apache2の再起動をする。

 19.ブラウザから再度以下のアドレスにアクセスする
   http://localhost/redmine/
   ログイン:admin/admin

※Redmineインストール時の注意
 ひとつのRailsアプリケーションのインスタンスは1度にひとつのリクエストしか扱う事ができない。
 Windows環境ではRailsインスタンスを複数立ち上げることで対応可能となる。(※ただし複数ポートを消費)
 Windows環境以外ではPassengerを推奨する。(Redmine公式でも推奨されている)


とりあえずWEBサーバーはMongrelで作りました。
ちょっと遅いみたいなんで、「thin」というのも良いかなと検討中です。
でもサービス起動できないんだよなー。

テーマ : ソフトウェア開発
ジャンル : コンピュータ

プロフィール

maribell200x

Author:maribell200x
都内でSEをしているダメリーマンです。好きなものは猫、写真、ファッション、映画とかなり雑食みたいです。

アクセス数
検索フォーム
カスタム検索
最新記事
カテゴリ
最新コメント
最新トラックバック
月別アーカイブ
RSSリンクの表示
FC2ブログランキング

FC2Blog Ranking

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。