ablog

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

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

Tomcat6 自動起動・停止スクリプト for Solaris10

Linux でやりたかったんだけど、手元に Solaris10 しかなかったので、Solaris10で。 インストール・設定手順 インストールする。 # wget http://ftp.riken.jp/net/apache/tomcat/tomcat-6/v6.0.24/bin/apache-tomcat-6.0.24.tar.gz # gunzip -c apache-tomca…

rsync: failed to set times on Operation not permitted

ぐぐってみると、 You must actually own a directory in order to set its access and modification times to an arbitrary value. Just having write permissions is not sufficient.Either chown the directory, or don't use the -t or -a flags in rsyn…

oracle ユーザ以外で sqlplus でローカル接続しようとすると ORA-27123 エラー

環境 $ cat /etc/issue CentOS release 5.3 (Final) Kernel \r on an \m $ uname -r 2.6.18-128.el5 $ sqlplus -s / as sysdba <<EOF > select * from v\$version; > EOF BANNER ---------------------------------------------------------------- Oracle Databas</eof>…

tar の解凍先を指定する方法

tarを解凍するために目的のディレクトリまでtarファイルを移動するのも悪い慣習の一つです。 tarの-Cオプションを使えば好きなディレクトリへtarファイルを解凍できます。 tar xfv a.tar -C /tmp/a/b -Cオプションを使う方法は、tarファイルを移動して、cdで…

Oracle Database で統計情報がいつ収集されたかざっくり確認する SQL

yoheia/show_last_analyzed.sql at master · yoheia/yoheia · GitHub set pageszie 50000 set linesize 200 col owner for a10 select 'DBA_TABLES' "DICTIONARY", owner, to_char(min(last_analyzed),'YYYY-MM-DD HH24:MI:SS') "MIN", to_char(max(last_ana…

Tomcat 上のWebアプリケーションが作るディレクトリやファイルのパーミッションを制御する方法

起動スクリプト作成 vim /etc/init.d/tomcat #!/bin/bash # # chkconfig: 35 80 20 # description:Tomcat 6.0.24 # Source function library. . /etc/init.d/functions export JAVA_HOME=/usr/local/jdk1.6.0_18 export CATALINA_HOME=/usr/local/tomcat6.0.…

OSユーザのプライマリグループを変更する

# uname -a SunOS solaris101 5.10 Generic_137138-09 i86pc i386 i86pc # id tomcat uid=604(tomcat) gid=602(tomcat) # usermod -g oinstall tomcat # id tomcat uid=604(tomcat) gid=501(oinstall)

bash で テスト用に YYYY-MM-DD を含むファイル名でファイルを作成し、タイムスタンプもその日付にする

$ for i in {1..365}; do touch -t `date -d "-$i days" '+%Y%m%d%H%M'` hoge-`date -d "-$i days" '+%Y-%m-%d-%H%M%S'`.log; done $ ls -ltr|head -10 total 0 -rw-r--r-- 1 oracle oinstall 0 Jan 28 2009 hoge-2009-01-28-173905.log -rw-r--r-- 1 oracle…

JDK をインストールしたときに作成されるシンボリックリンク

とりあえずメモっておく。rpm をインストールすると、 /usr/java/latest /usr/java/default は自動的ににできるけど、 /usr/bin/java などは作成されたり、変更されたりしなさそう。 # rpm -qa --queryformat "%{name}-%{version}-%{release}.%{arch}\n" # r…

最速 Import 研究会

Oracle の Import を高速化してみた。本当に速くなってるかどうかは不明w 本番環境じゃやっちゃいけない危険なことをしています。 環境は Oracle10gR2(10.2.0.4.0) EE on CentOS5.3(32bit) です。 I/O スケジューラを deadline にする。 # vi /boot/grub/gru…

ブラウザで漫画・コミック本を描いて公開するSNS「漫描き」がリリースされたらしい

なんか知り合いが SNS を作ったみたい。http://mankaki.jp/ http://headlines.yahoo.co.jp/hl?a=20100126-00000006-zdn_n-sci ブラウザ上で漫画描けるSNS「漫描き」 - ITmedia NEWS

ORA-27038: created file already exists

ERROR at line 1: ORA-01501: CREATE DATABASE failed ORA-00200: control file could not be created ORA-00202: control file: '/opt/app/oracle/oradata/orcl/control01.ctl' ORA-27038: created file already exists Additional information: 1 ほえ?「…

rman でオンラインバックアップとってたけど、ディスク容量が足りなくなったときの対処法

ただのメモ。 不要なデカいファイルがないか探して、あれば消す。 # du --max-depth=3 -x /u01 | sort -n 5336 /u01/app/oracle/oraInventory 15292 /u01/app/oracle/admin 1798588 /u01/app/oracle/product 1968812 /u01/app/oracle/oradata 3788032 /u01/a…

初期化パラメータ log_buffer を変更する

SQL> conn / as sysdba SQL> alter system set log_buffer=5242880 scope=spfile; SQL> shutdwon immedaite SQL> startup SQL> show parameter log_buffer NAME TYPE VALUE ------------------------------------ ----------- -----------------------------…

無効オブジェクトをコンパイルする方法

Oracle Database で無効な PL/SQL オブジェクトをコンパイルし、無効なインデックスを再構築する手順。 まだちゃんと検証してないけど、とりあえずメモっておく。 conn / as sysdba --無効な PL/SQL オブジェクトをコンパイルする EXECUTE UTL_RECOMP.RECOMP…

Perl ワンライナー(-nまたは-pオプションつき)に引数を渡す方法

テストのため、hoge.log を作成する。 $ perl -le 'for(1..10){print}' > hoge.log $ cat hoge.log 1 2 3 4 5 6 7 8 9 10 以下の例では、引数のうち「hoge.log」をファイルとしてオープンして一行ずつ処理し、「1」と「2」はワンライナーの中で引数として受…

パーティション表の統計情報がいつ収集されたか確認する SQL

スキーマ単位でパーティション表の統計情報が最後に収集された日時を表示する SQL。 set pagesize 50000 set linesize 200 col table_owner for a10 col table_name for a20 col index_owner for a10 col index_name for a20 col partition_name for a20 col…

Oracle Database 関連の情報源

とりあえず列挙。後で整理する。 オラクル社 日本語 https://support.oracle.com/CSP/ui/flash.html http://support.oracle.co.jp/ http://www.oracle.co.jp/alliance/partnership/ Oracle Software Delivery Cloud OTN Japan Homepage https://mix.oracle.c…

export した dump から DDL を作成する方法 with Perl ワンライナー

show=y をつけて import を実行し、DDL を生成する。 $ imp system/manager file=scott.dmp fromuser=scott touser=scott show=y log=impshow_scott.log 以下のような DDL が出力されるがこのままでは実行できない。 $ cat impshow_scott.log Import: Releas…

Oracle Database から DDL 文を生成する SQL スクリプト

Oracle Database から DDL 文を生成する SQL スクリプトを作った。 用途は export&import してデータを移行したいけど、表領域の構成を変えたい場合など。 この SQL スクリプトを使ってDDL 文を生成して、表領域の指定を変更して DDL を実行し、ignore=y オ…

SQL で年月(YYYYMM)のリストを作成する

200501 200502 200503 200504 200505 200506 200507 200508 200509 200510 200511 200512みたいなリストを SQL で作りたくてやってみた。 SQL> select to_char(add_months(to_date('200412','YYYYMM'),level),'YYYYMM') yyyymm from dual connect by level <…

リスト・パーティション表にダーっとパーティションを追加してみた

追加して、 SQL> conn scott/tiger SQL> set serveroutput on size 1000000 SQL> declare cursor cu is select to_char(add_months(to_date('200412','YYYYMM'),level),'YYYYMM') mon from dual connect by level <= 12*5+2; sql_stmt varchar2(500); begin …

ORA-01659 の対処法

表領域に空きはあるが、断片化している。DB を使っている人がいるから exp & imp とかできない場合。 現象 import 実行したら、 ORA-01659: unable to allocate MINEXTENTS beyond ... in tablespace ...って怒られた。 対処法 環境変数をセットする。 $ exp…

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

ほんとにベストプラクティスなのかわからんが、とりあえずメモ。 $ export LANG=C $ export NLS_LANG=American_America.JA16SJISTILDE $ nohup exp system/manager owner=scott consistent=y direct=y recordlength=65536 file=scott_exp.dmp > scott_exp.lo…

dmesg コマンドで表示される内容をログファイルに出力する方法

syslog.conf に以下の通り記述を追記して、 # vi /etc/syslog.conf kern.* /var/log/dmesg syslogd を再起動したら、 # /etc/rc.d/init.d/syslog restart /var/log/dmesg に出力されるようになった。 id:kazuhisya さん Manami Taira (@mana_cat) | Twitter …

VMware Fusion 2 から 3 へ移行

VMware Fusion 2 から 3 へ移行したときのメモ。 evalcenter で、 評価版をアクティベートしてシリアル番号を入手する。 VMware Fusion 3 の評価版をダウンロードする。 デスクトップの VMware Fusion を実行する。 [VMware Fusion のインストール]を選択し…

SQL スクリプトに exit を書かずに exit する

シェルからSQLスクリプトを実行して、SQL スクリプトに exit を書かずに exit するには $ sqlplus -s / as sysdba @show_ts_pctused.sql <

ps auxw したときに STAT 列に表示される値の意味

STAT列 何の略? カーネル内部のプロセスの状態 説明 R Run TASK_RUNNING 実行可能な状態。CPUが空きさえすれば、いつでも実行可能な状態。 S Sleep TASK_INTERRUPTIBLE 割り込み可能な待ち状態。おもに復帰時間が予測不能な長時間の待ち状態。スリープやユ…

rman で制御ファイルとSPFILEを自動バックアップする方法

Oracle Database で rman を使って制御ファイルと SPFILE が変更されると自動的にバックアップされるようにする方法。 rman リポジトリには制御ファイルを使う構成。 設定する。 $ su - oracle $ rman target / nocatalog RMAN> CONFIGURE CONTROLFILE AUTOB…

ファイルシステムをアンマウントできないときにそのファイルシステムを使っているプロセスを調べる方法

ファイルシステムをアンマウントしようと思ったら、 # umount /u02 umount: /u02: デバイスを使用中です って怒られた。 lsof コマンドで /u02 以下を使っているプロセスを調べて、 # lsof /u02 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME rm 14661 ro…