rmanでバックアップ実行するとだいたいWIOが100%くらいになる。
バックアップ元とバックアップ先が同一ディスクだからっていうのもあるだろうが、
それ以外にもDB遅いというのを言われているので対応したときのメモ。
ファイルシステムオプション
noatime,nodiratime,nobarrier,max_batch_time=0
DBパラメータ
filesystemio_options=setall
をひとまず設定して様子見。
インフラエンジニアのブログ
イ◯◯◯◯◯◯スという会社のインフラシステム設計、構築をしてます。 ゆるーく更新していきたいと思います。
2016年4月20日水曜日
2016年3月15日火曜日
oemサーバをデータベースターゲット登録したときにNMO setuid-rootがなんとかというメッセージが出たときの対処
NMO setuid-rootではありません(Unixのみ)。root.shスクリプトを実行して、この問題を解決してください。次に発行されるOSコマンド・ジョブにより、このアラートはクリアされます。
というメッセージ警告がOEMサーバのデータベースターゲットに出てたので対処したおきのメモ。
/u01/app/em/gc_inst/core/12.1.0.5.0/root.sh
を実行しました。
Finished product-specific root actions.
/etc exist
なおりました。
というメッセージ警告がOEMサーバのデータベースターゲットに出てたので対処したおきのメモ。
/u01/app/em/gc_inst/core/12.1.0.5.0/root.sh
を実行しました。
Finished product-specific root actions.
/etc exist
なおりました。
2016年2月5日金曜日
制御ファイルいじったらSCN絡みで起動できなくなった
制御ファイルの名前などを変更してたときにSCN絡みで起動できなくなったときのエラーと、復旧方法のメモ
SQL> shutdown immediate
ORA-01109: データベースがオープンされていません。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup
ORACLEインスタンスが起動しました。
Total System Global Area 4294967296 bytes
Fixed Size 2932632 bytes
Variable Size 2399141992 bytes
Database Buffers 1879048192 bytes
Redo Buffers 13844480 bytes
データベースがマウントされました。
ORA-01589:
データベースをオープンするにはRESETLOGSまたはNORESETLOGSを使用する必要があります
SQL> alter database open resetlogs;
alter database open resetlogs
*
行1でエラーが発生しました。:
ORA-01152: ファイル1は十分に古いバックアップからリストアされていません。 ORA-01110: データファイル1:
'/DATA/GENEDEV01/datafile/system.dbf'
SQL> recover database using backup controlfile until cancel;
ORA-00279: 変更1242068(02/05/2016 10:02:49で生成)にはスレッド1が必要です ORA-00289:
検討すべきログ・ファイル:/DATA/GENEDEV01/arch/GENEDEV01_1_47_901205509.dbf ORA-00280:
変更1242068(スレッド1)は順序番号47に存在します。
ログの指定: {<RET>=suggested | filename | AUTO | CANCEL}
/DATA/GENEDEV/REDO/redo_03_01.rdo ★上記してあるアーカイブログがなかったのでREDOログを指定。
ログが適用されました。
メディア・リカバリが完了しました。
SQL> alter database open resetlogs;
データベースが変更されました。
SQL> shutdown immediate
ORA-01109: データベースがオープンされていません。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup
ORACLEインスタンスが起動しました。
Total System Global Area 4294967296 bytes
Fixed Size 2932632 bytes
Variable Size 2399141992 bytes
Database Buffers 1879048192 bytes
Redo Buffers 13844480 bytes
データベースがマウントされました。
ORA-01589:
データベースをオープンするにはRESETLOGSまたはNORESETLOGSを使用する必要があります
SQL> alter database open resetlogs;
alter database open resetlogs
*
行1でエラーが発生しました。:
ORA-01152: ファイル1は十分に古いバックアップからリストアされていません。 ORA-01110: データファイル1:
'/DATA/GENEDEV01/datafile/system.dbf'
SQL> recover database using backup controlfile until cancel;
ORA-00279: 変更1242068(02/05/2016 10:02:49で生成)にはスレッド1が必要です ORA-00289:
検討すべきログ・ファイル:/DATA/GENEDEV01/arch/GENEDEV01_1_47_901205509.dbf ORA-00280:
変更1242068(スレッド1)は順序番号47に存在します。
ログの指定: {<RET>=suggested | filename | AUTO | CANCEL}
/DATA/GENEDEV/REDO/redo_03_01.rdo ★上記してあるアーカイブログがなかったのでREDOログを指定。
ログが適用されました。
メディア・リカバリが完了しました。
SQL> alter database open resetlogs;
データベースが変更されました。
2015年11月18日水曜日
awsのスケールアップ失敗
構築タイミングでt1.smallで構築し、リリース前にc4.xlargeに変更したところステータスチェックで1/2となりEC2が起動しない状況がありました。
調べたところ、拡張ネットワーキング機能が原因でした。
VPC 内の Windows インスタンスでの拡張ネットワーキングの有効化 http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/enhanced-networking.html
今回はWindows 2012 ServerだったんですがWindows OS側でこの拡張ネットワーキングを有効化していないことでネットワーク接続ができず1/2のステータスチェックエラーになっているようでした。
これは気づかない・・・
調べたところ、拡張ネットワーキング機能が原因でした。
VPC 内の Windows インスタンスでの拡張ネットワーキングの有効化 http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/enhanced-networking.html
今回はWindows 2012 ServerだったんですがWindows OS側でこの拡張ネットワーキングを有効化していないことでネットワーク接続ができず1/2のステータスチェックエラーになっているようでした。
これは気づかない・・・
2015年11月11日水曜日
Oracle RAC DB手動削除
Oracle RAC DBの手動削除手順です
1-1.oracleユーザにスイッチ
# su - oracle
1-2.クラスタデータベースの起動を確認。起動してなかったら起動させる。
$ srvctl status database -d クラスタデータベース名
Instance XXXXX01 is running on node ホスト1
Instance XXXXX02 is running on node ホスト1
$ srvctl start database -d クラスタデータベース名
1-3.DBに接続
$ sqlplus SYSTEM/SYSTEM@クラスタデータベース名
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
XXXXX01 もしくは XXXXX02
1-4.DBを単一インスタンスモードに変更
SQL> alter system set cluster_database=FALSE scope=spfile;
SQL> quit
1-5.DB 停止
$ srvctl stop database -d クラスタデータベース名
$ srvctl status database -d クラスタデータベース名
Instance XXXXX01 is not running on node ホスト1
Instance XXXXX02 is not running on node ホスト2
1-6.排他モードでDB起動
$ export ORACLE_SID=クラスタSID
$ sqlplus / as sysdba
SQL> STARTUP MOUNT EXCLUSIVE RESTRICT;
ORACLEインスタンスが起動しました。
Total System Global Area 1.7180E+10 bytes
Fixed Size 5304248 bytes
Variable Size 2372763720 bytes
Database Buffers 1.4663E+10 bytes
Redo Buffers 138514432 bytes
データベースがマウントされました。
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
クラスタデータベース名
1-7.DB削除
SQL> DROP DATABASE;
データベースが削除されました。
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing optionsとの接続が切断されました。
SQL> quit
1-8.DBリソースの削除
$ srvctl status database -d クラスタデータベース名
Instance XXXXX01 is not running on node ホスト1
Instance XXXXX02 is not running on node ホスト2
Instance クラスタデータベース名 is not running on node ホスト1
$ srvctl remove database -d クラスタデータベース名
Remove the database クラスタデータベース名? (y/[n]) y
$ srvctl status database -d クラスタデータベース名
PRCD-1120 : The resource for database クラスタデータベース名 could not be found.
PRCR-1001 : Resource ora.クラスタデータベース名.db does not exist
1-9.ASM上データ削除
$ exit
# su - grid
$ asmcmd -p
ASMCMD [+] > cd DATA
ASMCMD [+] > ls
ASMCMD [+] > rm -r データベースファイル格納ディレクトリ
You may delete multiple files and/or directories.
Are you sure? (y/n)
ASMCMD [+] > ls
1-10.1号機、2号機側データベースサーバ上の不要ファイル削除
$ exit
# find / -name クラスタデータベース名
# find / -name 1号機側インスタンス名 or 2号機側インスタンス名
# rm -fr findで見つけた不要ファイル
1-1.oracleユーザにスイッチ
# su - oracle
1-2.クラスタデータベースの起動を確認。起動してなかったら起動させる。
$ srvctl status database -d クラスタデータベース名
Instance XXXXX01 is running on node ホスト1
Instance XXXXX02 is running on node ホスト1
$ srvctl start database -d クラスタデータベース名
1-3.DBに接続
$ sqlplus SYSTEM/SYSTEM@クラスタデータベース名
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
XXXXX01 もしくは XXXXX02
1-4.DBを単一インスタンスモードに変更
SQL> alter system set cluster_database=FALSE scope=spfile;
SQL> quit
1-5.DB 停止
$ srvctl stop database -d クラスタデータベース名
$ srvctl status database -d クラスタデータベース名
Instance XXXXX01 is not running on node ホスト1
Instance XXXXX02 is not running on node ホスト2
1-6.排他モードでDB起動
$ export ORACLE_SID=クラスタSID
$ sqlplus / as sysdba
SQL> STARTUP MOUNT EXCLUSIVE RESTRICT;
ORACLEインスタンスが起動しました。
Total System Global Area 1.7180E+10 bytes
Fixed Size 5304248 bytes
Variable Size 2372763720 bytes
Database Buffers 1.4663E+10 bytes
Redo Buffers 138514432 bytes
データベースがマウントされました。
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
クラスタデータベース名
1-7.DB削除
SQL> DROP DATABASE;
データベースが削除されました。
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing optionsとの接続が切断されました。
SQL> quit
1-8.DBリソースの削除
$ srvctl status database -d クラスタデータベース名
Instance XXXXX01 is not running on node ホスト1
Instance XXXXX02 is not running on node ホスト2
Instance クラスタデータベース名 is not running on node ホスト1
$ srvctl remove database -d クラスタデータベース名
Remove the database クラスタデータベース名? (y/[n]) y
$ srvctl status database -d クラスタデータベース名
PRCD-1120 : The resource for database クラスタデータベース名 could not be found.
PRCR-1001 : Resource ora.クラスタデータベース名.db does not exist
1-9.ASM上データ削除
$ exit
# su - grid
$ asmcmd -p
ASMCMD [+] > cd DATA
ASMCMD [+] > ls
ASMCMD [+] > rm -r データベースファイル格納ディレクトリ
You may delete multiple files and/or directories.
Are you sure? (y/n)
ASMCMD [+] > ls
1-10.1号機、2号機側データベースサーバ上の不要ファイル削除
$ exit
# find / -name クラスタデータベース名
# find / -name 1号機側インスタンス名 or 2号機側インスタンス名
# rm -fr findで見つけた不要ファイル
2015年9月25日金曜日
exadata環境化のsmart flash cache
oracle databaseの場合SSDを2次キャッシュとして利用可能にする設定があり、
それがsmart flash cacheという機能のようだ。
で通常のoracle databaseの場合には
DB_FLASH_CACHE_FILE
DB_FLASH_CACHE_SIZE
のパラメータを設定することで実装できる。
ここまでは別に良い。
疑問なのがexadataの場合。
ストレージサーバ側の設定でSSDを2次キャッシュとして利用する設定して、
データベースサーバ側で特に
それがsmart flash cacheという機能のようだ。
で通常のoracle databaseの場合には
DB_FLASH_CACHE_FILE
DB_FLASH_CACHE_SIZE
のパラメータを設定することで実装できる。
ここまでは別に良い。
疑問なのがexadataの場合。
ストレージサーバ側の設定でSSDを2次キャッシュとして利用する設定して、
データベースサーバ側で特に
DB_FLASH_CACHE_FILE
DB_FLASH_CACHE_SIZE
とか設定するようなアーキテクチャじゃないと考えている。
ちょっと調べたけどわからなかったなー
登録:
投稿 (Atom)