ablog

不器用で落着きのない技術者のメモ

2010-01-01から1ヶ月間の記事一覧

SEVERE:次の変数に対する値を、コマンドラインまたはレスポンス・ファイルから取得できませんでした。

Oracle10gR2(10.2.0.1.0) をサイレント・インストールしようとしたらこんなエラーが。 +------+ SEVERE:次の変数に対する値を、コマンドラインまたはレスポンス・ファイルから取得できませんでした。 DEP_MODE(InstallType), TLDepModes(TopLevelInstallType…

Oracle の Import オプションのベストプラクティス

ほんとにベストプラクティスなのかわからんが、とりあえずメモ。 $ export LANG=C $ export American_America.JA16SJISTILDE # スキーマ単位 $ nohup imp system/manager fromuser=scott touser=scott buffer=65530 commit=y ignore=y file=scott.dmp > imp-…

CREATE USER 文を生成する SQL スクリプト

Oracle で imp コマンドでスキーマの定義もデータもまるまる入れ替るときのために作った SQL スクリプト。 最初、オブジェクトを全部削除する SQL スクリプトを作ろうかと思ったけど、ぐぐってみると、id:niwanos さんが FKとか張ってたりするとDROP TABLEす…

ORA-01950: no privileges on tablespace ...

$ sqlplus / as sysdba SQL> create table scott.test_users (id number(4)) tablespace users; create table scott.test_users (id number(4)) tablespace users * ERROR at line 1: ORA-01950: no privileges on tablespace 'USERS' SQL> alter user scott…

任意のディレクトリ配下にどのような拡張子のファイルがどれだけあるか集計する Perl ワンライナー

$ perl -MFile::Find -MFile::Basename -e 'find sub{$h{(fileparse($_,qw{\.[^\.]+$}))[2]}++ if -f},@ARGV;END{map{print "$_:$h{$_}\n"}keys %h}' . .sh:27 .pl:3 .conf:9 .rman:1 .sql:9 参考 fileparse - ファイルパスからファイル名などを取り出す 関…

Oracle であるユーザの権限を別のユーザーにコピーする SQL スクリプト

例えば、SCOTT ユーザーがいたとして、SCOTT ユーザーに SYS ユーザーの権限をコピーしたいような時に使う SQL スクリプト。 SYS ユーザーは例としてよくないかもしれないけど、以下の通り実験に使ってしまったので。。。 yoheia/create_grant_user_script.s…

xargs でコマンドに引数をひとつずつ渡す方法

# ls /dev/sd[a-z][0-9]* | xargs -n1 tune2fs -l | egrep 'Maximum mount count|Check interval' Maximum mount count: -1 Check interval: 0 (<none>) tune2fs: Bad magic number in super-block while trying to open /dev/sda2 Couldn't find valid filesystem</none>…

bash で ファイルのタイムスタンプを比較する

$ ls -l -rw-r--r-- 1 oracle oinstall 0 1月 13 18:45 a -rw-r--r-- 1 oracle oinstall 0 1月 13 18:46 b $ if [[ a -ne b ]]; then > echo a is newer than b. > else > echo a is older than b. > fi a is older than b. 参考 http://www.geocities.jp/ge…

bash でループの中でループの外のシェル変数の値を変更する

$ a=1 $ ls|while read LINE > do > a=2 > done $ echo $a 1 と、ループの中で変数 a の値を変更してもループの外の変数 a の値は変わらない。 forやwhile文などのリダイレクト処理はカレントシェルではなく、 サブシェルで実行される http://lagendra.s.kan…

lsof コマンドってなんだ?

1. ハンドラーモニタリング - ユニックスのlsofコマンドに該当 Dion Cho - Oracle Performance Storyteller: Process Explorer lsof コマンドってなんだ? lsof(エルエスオーエフ)コマンドは"list open files"の意味であり、多くのUnix系オペレーティング…

Oracle の export/import で対象となるオブジェクト

Oracle の export/import について以下の質問を受けた。 full=yでExportした後に、特定のスキーマの全オブジェクトをImportで戻す場合、戻らないオブジェクトって何かありますか? ないと思います。 シーケンスオブジェクトも、元を消しとけばExport時の状態…

メモリをがんがん消費する Perl ワンライナー

メモリ使用率監視のテストをするために、メモリをがんがん消費する Perl ワンライナーを書いてみた。 perl -e 'while(1){$i++;$h{$i}=$i}' 追記(2016/03/24): 仮想化時代はこちら perl -e '$hn=`hostname`; while(1){$i++;$h{$i}=$i . " $hn" . 'x'x4000 }'

メモリ使用率を意図的に上げようと思ってごちゃごちゃしたときのメモ

ちょっとごちゃごちゃしてみたのをメモっておく。 $ cd $ORACLE_HOME/dbs $ cat <<EOF > initorcl1.ora DB_NAME=orcl1 PRE_PAGE_SGA=true SGA_MAX_SIZE=100M SGA_TARGET=100M EOF $ for i in {2..3} do cp initorcl1.ora initorcl${i}.ora echo perl -i -ple '$ARG</eof>…

CPU使用率を 100% にする Perl ワンライナー

$ perl -e 'while(1) {}' これも id:sh2 さんに教えていただきました。ありがとうございました。 yoheia: CPU、メモリの使用率の監視のテストのため、使用率を上げたいんだけど、スマートなやり方ないかな?誰か教えて。posted at 12:45:28sh2nd: @yoheia pe…

アラートログに任意のメッセージを出力する方法

SQL> exec dbms_system.ksdwrt(2, 'ORA-600') などと実行すれば良い。引数の意味 第1引数 1 - トレースファイルに出力 2 - アラートログに出力 3 - 両方 第2引数 出力するメッセージ twitter でつぶやいたら、 yoheia: Oracle のアラートログ監視テストで、…

データベースの状態を確認するSQL

Oracle でデータベースの状態を確認する SQL SQL> select host_name, instance_name, status from v$instance; HOST_NAME INSTANCE_NAME STATUS ---------- ---------------- ------------ db01 orcl OPEN

ユーザ管理の不完全リカバリ

Oracle Database でユーザ管理、つまり rman を使わないでデータファイル障害から不完全リカバリする手順のまとめ。 インスタンスを停止する。 $ sqlplus / as sysdba SQL> shutdown immediate オフラインバックアップを取得する。 データベースをマウントす…

SQL*Plus でspool するときに余計なものを出力しない方法

こんな風に spool すると、 $ sqlplus / as sysdba <<EOF set pagesize 0 set head off set feed off spool onlineall.sql select 'alter database datafile '''||name||''' online;' from v\$datafile; spool off EOF $ cat onlineall.sql SQL> select 'alter database datafile '''||name||''' online;' from v$datafile; alter da…</eof>

ユーザ管理の完全リカバリ

Oracle Database でユーザ管理、つまり rman を使わないでデータファイル障害から完全リカバリする手順のまとめ。 リカバリ方法の種類 1. クローズデータベースのリカバリ SYSTEM表領域、UNDO表領域に属するデータファイルをリカバリする場合 2.1. オープン…

なぜデータベースをオープンしないと表領域をオフラインにできないか?

システム表領域内のデータディクショナリを変更するから。たぶん。 要するに、nomount でできる変更は spfile を、mount でできる変更は制御ファイルを、open しないとできない変更はデータファイルを変更している。というシンプルな話か。

一時表領域障害からのリカバリ手順

一時ファイル再作成用SQLスクリプトを作成する。 $ cd /home/oracle # 「control.trc」はあらかじめ「alter database backup controlfile to trace as ...」で取得しておいた論理バックアップ $ cp control.trc create_tempfile.sql # 「Set #1. NORESETLOGS…

オンラインREDOログ障害からのリカバリ手順

REDOログ・グループの一部のメンバが破損したケース 破損したメンバのファイル名を調べる。 破損していても STATUS が INVALID にならない場合がある。その場合、インスタンスを再起動すると INVALID になる。 SQL> select a.group#, a.status group_status,…

オンラインREDOログ・グループの STATUS が ACTIVE ってどういう意味?

ACTIVE このオンラインREDOログはアクティブです。インスタンス・リカバリに必要です。ただし、現在書込みが行われているログではありません。ブロック・リカバリに使用されている可能性があります。また、アーカイブされる場合とされない場合があります 高…

制御ファイル障害からのリカバリ手順

Oracle Database で制御ファイルに障害が発生した場合のリカバリ手順をまとめてみた。 以下の方法でリカバリすることができる。 一部の制御ファイルに障害が発生したケース 正常な制御ファイルをコピーする 全ての制御ファイルに障害が発生したケース バック…

ORA-01242 の対処法の検証

ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode - ablog について実機検証してみた。 まとめると、データファイルへの書込み権限が剥奪されたなどの理由で一時的にデータファイルへの書込みができなくなった場合は、対処後に…

ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode

現象 アラートログに以下のメッセージが出力されてインスタンスが停止する。 ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode ORA-01122: database file 1 failed verification check ORA-01110: data file 1: '/opt/app/oracl…

Oracle Database の無効オブジェクトってなんだ?

無効オブジェクトとは 使用できなくなった 索引 PL/SQLオブジェクト(プロシージャ、ファンクション、パッケージ、トリガー) のこと。 原因・影響・対処 PL/SQLオブジェクト 原因: PL/SQLオブジェクトから参照しているオブジェクトの変更 影響: 次回実行時に…

Oracle Databse 運用手順

Oracle Database を運用するときに使う手順をリストアップしてみた。 別途、マニアックなコマンドのまとめをしたくなってきた。oerr、Prelim Connection、oradebug、bbed とか。ほとんど使ったことないので、調べがてらに。 環境・前提条件 Linux Oracle10g …

sort コマンドの -u オプション

sort コマンドには -u オプションてのがあるのか。知らんかった。 $ perl -le 'print $_%3 for(1..100)' > hoge.txt $ wc -l hoge.txt 100 hoge.txt $ cat hoge.txt|sort|uniq 0 1 2 $ sort -u hoge.txt 0 1 2 $ find ... -exec rm {} + ってのも知らなかっ…

ブログのサイドバーに人気記事を表示する方法

はてなブックマークブログパーツ でコードを生成して貼付ければおk。 ここで作ったコードをそのまま貼付けると思ってたデザインと違ったので、id:sugyan さんのところのソースを参考にちょっといじって最終的に以下のコードを貼付けた。 <script language="javascript" type="text/javascript" src="http://b.hatena.ne.jp/js/widget.js" charset="utf-8"></script> <script language="javascript" type="text/javascript"> Hatena.Bo…