データベースを削除して新規データベースを作成したら起動しなくなった
- 2008.10.11
- Oracle
データベースを作り直す、というか削除してから新しいデータベースを作った。 DBCAを使ってデータベースorclを削除した。 DBCAを使ってデータベースiwd2を作成した。 するとインスタンスが起動しなくなってしまった。 最終的になおったが、試行錯誤したので、以下の順番はあくまで目安、ご参考までといったところ。 ■管理者でログインしてデータベースを起動する […]
データベースを作り直す、というか削除してから新しいデータベースを作った。 DBCAを使ってデータベースorclを削除した。 DBCAを使ってデータベースiwd2を作成した。 するとインスタンスが起動しなくなってしまった。 最終的になおったが、試行錯誤したので、以下の順番はあくまで目安、ご参考までといったところ。 ■管理者でログインしてデータベースを起動する […]
Solaris 10 にインストールしたOracle10gを再インストールするために削除することにした。 1. データベースを削除する。 2. Oracleソフトウェアを削除する。 3. 使わないディレクリやファイルを削除する。 ■データベースを削除する X Windowが使える環境で、dbcaを起動する。 日本語で表示したいときは、LANGを指定しておく。 […]
オペレーティング認証、conn / as sysdbaができない状態だったので、Oracleデータベース管理の教科書を参考に初期化パラメータを変更したら、connで接続できないし、startupもできない状態になってしまった。 元に戻す方法をメモしておいた。 ■初期化パラメータを変更した 初期化パラメータファイルのREMOTE_LOGIN_PASSWORDFILEパラメー […]
オペレーティング・システム認証である conn / as sysdba で接続できない。なので、シェルでのdbstart、dbshutスクリプトコマンドも使えないので不便。 製品: Oracle Server – Enterprise Edition 製品バージョン: 10.2.0.3.0 プラットフォーム: Sun Solaris x86-64bit  […]
WebページでSQLの結果を表示したいときがある。 ■SELECT結果を表示する EMPテーブルから、LAST_NAME列を取り出して一覧にする。 [‘LAST_NAME’] か [‘last_name’] か、大文字・小文字をきちんと指定する。 select.php <!DOCTYPE html PUB […]
重複行を削除したいケースがたまにある。 取り込んだマスターデータに重複があった インポートを2回行って、二重登録してしまった サンプル: 住所録テーブル ID 名前 電話 住所 1 阿部 03-1234-1234 東京 2 井上 03-5678-5678 東京 3 阿部 03-1234-1234 4 井上 03-5678-5678 […]
TSV、CSVで、エクスポートするためのSQL文を簡単に作る方法。 3列くらいの書き出しなら手書きが早い。 しかし、50列もあるような場合は、以下の方法でSQL文を組み立てる。 ■最終的に作りたいSQLを確認する emp_export_tab.sql set echo off set heading off set termout off set pause off se […]
OracleからDr. Sumにデータを取り込む際にエラーが発生した。 EMP line(341)にて、フィールド位置が不正とのエラーが発生しています。 “line(341), position(49/48)” ■行を指定して情報を取得する ROWNUMを利用して先頭からn行目を取得す […]
Oracle XEを使い始めてしばらくするとログインできなくなっていた。 JDBC経由だとなぜか接続できるが、SQLPlusだとORA-01034とORA-27101エラーが発生してログインできない。 ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Li […]
いろいろなやり方があると思うが…とりあえずメモしておく。 (未完成記事ですよ) ■backup_ORCL.sql sqlを記述したファイルをviで作っておく。 set echo on set feedback on alter tablespace SYSAUX begin backup; host cp -f "/u02/oradata/ORCL/sysaux01.dbf […]
Oracleからテキストタブ形式やCSV形式でデータをエクスポートして書き出す。 ■Oracleからテキストタブファイルとしてエクスポートする テープル: emp 書き出す列: id, last_name, first_name, address 書き出す行: 全レコード 書き出し先のファイル名: ファイル名.txt ■テキストタブ […]
Oracle XEの初期状態をメモしておく。 SQLPLUSは、SYSTEMでログインしておく。 ■初期の状態 ディレクトリの確認 $ echo $ORACLE_HOME /usr/lib/oracle/xe/app/oracle/product/10.2.0/server メモリ使用量の確認 SQL> show sga Total System Global A […]
Oracle8iからOracle10g XEへの引っ越しメモ。 ■データのエクスポートの前準備 キャラクタセットを確認しておく。EUCでエクスポートされることが分かる。 $ echo $NLS_LANG Japanese_Japan.JA16EUC キャラクタセットをSJISでエクスポートしたいときはNLS_LANGを指定しておく。 $ export NLS_LANG= […]
MiracleLinux v3 にOracle XE(Oracle Database 10g Express Edition)をインストールしてみた。Oracle EXではなく XEなんだな。 RPMでインストールするだけなので、簡単だった。 ■ocssd.binを止めておく 以前にOracle10.1.0 をインストールしようとしたせいか、ps aux | grep […]
別のテーブルからフィールドの値をコピーしてUPDATEしたいときがある。 郵便番号の一覧表から、都道府県をコピーする。などというときに使う。 UPDATE時に、SELECT結果を用いるというやり方で実施する。 ■別表からコピーして行を更新する 自分の住所録の住所欄に郵便番号リストの住所をコピーする。(全ての行を一括で更新) SQL> UPDATE my_ […]
副問い合わせを使用して、表のコピーを作成する。と同時に行の挿入を行う。つまり、テーブルをコピーすることになる。 ■別の表の行を使用して表を作成する SQL> CREATE TABLE employee2 2 AS 3 SELECT * FROM employee ; ■別の表の行を使用して表を作成する 列を選択して表をつくる。 SQL> […]
よく使うOracle8iのコマンドをメモ。Oracle10iでもほぼ同じ。 Oracle SQL*Plus編 Oracle 管理編 Oracle SQL編 Oracle エラー編 【SQL*Plus編】 ■シェルからSQL/PLUSを使う $ sqlplus /nolog ■ログインする いくつかの方法がある。&n […]
なんで、Oracle8iへJDBC接続できないんだろ…と悩んでいたが、原因発覚!なんとSIDの名前を間違えていたのだ。tnsnames.oraのSERVICE_NAMEと違うじゃないかー!! ■ソースはこれ Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@192.168. […]
ちょっと便利なTips。SQLPlusは、奥が深いのであった。 ■表示する列の長さを変更 > COLUMN [列名] FORMAT [A10] ■CSVファイル出力 set echo off set heading off set termout off set pause off set pagesize 0 set linesize 500 set feedback off […]
連続した番号を自動的に生成して主キーに使用する。 <社員番号を自動生成> EMPテーブルに社員番号EMP_IDカラムがあるとする。 ■順序の作成 EMP_ID_SEQという名前の順序(シーケンス)を作る。 CREATE SEQUENCE emp_id_seq START WITH 1 INCREMENT BY 1 NOCACHE ; NOCHACHEを指定 […]
データの移行など、たくさんあるデータをまとめてインポートするときに便利なのが、SQLローダー。 ■データをテキストTABで用意 お客様データとして、customer.txtとして準備する。 ■テーブルを作成 sqlplusなどで、テーブルを作成しておく。 ■ロードする仕組みをシェルスクリプトで用意 入れ物(テーブル)と入れるもの(データ)が準備できたので、どうやっていれるか(制御ファイル)を用意す […]
ある業者さんが、テーブル名、フィールド名を小文字で作ったため、SQL*Plusを使うときの注意をメモした。 テーブル名をactual_userとする。 ■セレクト文の書き方 > SELECT "email" FROM "actual_user" ■SQL*Loader idは、「順序」から発行する。 login_nameは、C00173547のようにCを頭に8桁の数字。 regist_tim […]