hagino3000's blog

平成アーカイブス (更新停止)

開発用Oracleデータベース作成メモ

開発用DB作成依頼が増えてきたのでメモ
windowsサーバにDBCAを使ってデータベースの作成を行う場合の話です。

事前準備

基本設定を確認

データベースキャラクタセットは後で変更できないので注意。
必ず本番環境に合わせる。


適当でいい場合

JA16SJISTILD、多言語対応アプリの場合はUTF-8

  • SID

プロジェクト名なんかを元に適当に命名
マシンに1インスタンスしか乗せない場合はホスト名と同じにするとか。


サーバの状態の確認

  • 空きメモリ
  • 空きディスクサイズ
  • データファイル作成先ディレクト
  • リスナーの構成(既に構成されている場合)


その他要件の確認

  • 同時接続数はどれぐらいか(開発者の人数)
  • 言語、地域設定等あれば

データベースの作成

Database Configuration Assistant を起動
データベースの作成ウィザードで次の通り進める

  1. データベースタイプは「汎用」を選択
  2. SID は事前確認の通り
  3. サーバー構成は「専用サーバ構成」を選択
  4. SYS, SYSTEM等アカウントのパスワードは適当で(後で必ず変えてもらう)
  5. メモリ設定は開発者数(同時接続数)と、サーバの空きメモリ具合を見て決める
  6. 文字コード設定は事前確認の通り
  7. 言語設定は要望がなければJAPANESEとかでOK
  8. フラッシュバック領域は必要なら領域を確保しておく
  9. ログモードはそのままでOK
  10. バックアップ計画は適当に
  11. サンプルスキーマ不要

以上で作成開始

リモート接続テスト

SQL*PLUS

tnsnames.oraを編集して、次を追加

[接続名] =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = [ホスト名])(PORT = [リスナーのポート]))
    )
    (CONNECT_DATA =
      (SID = [設定したSID])
    )
  )
SQL>conn sys/[設定したパスワード]@[設定したSID] as sysdba


接続できない場合

  • サーバのファイアウォール設定を確認、リスナーの待ちうけポート(デフォルト:1521)を空ける
  • 共有サーバ構成になっていないかチェック

(共有サーバの場合は tnsnames.oraの内容を変更)

  • sqlnet.oraの内容を確認、ローカルネーミング接続ができるか


エンタープライズマネージャ(Oracle Enterprice Manager 10g Database Control)
サーバーでコンソールを叩いてURLを確認

C:\windows\system32>emctl status dbconsole

ブラウザからアクセスして表示されればOK
ついでにSYSかSYSTEMでログインしてみる。


接続できない場合

完了報告

次のものを完了報告とともに依頼者に引き渡す。

次の結果をEXCELかなんかに貼り付けたファイル

SQL>select * from NLS_DATABASE_PARAMETERS
SQL>select name, display_value, description from v$parameter order by name


接続方法メモ
後でいろいろ質問されるのも面倒なので作る。


例:アカウントscottを使ったテスト接続(scottはロック解除しておく)

tnsnames.oraに次の行を追加してくださいな

[設定したSID] =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = [ホスト名])(PORT = [ポート番号]))
    )
    (CONNECT_DATA =
      (SID = [設定したSID])
    )
  )


SQL*PLUSを起動して次の通り打ち込みます
SQL> conn scott/tiger@[設定したSID]


既存アカウントの初期パスワード

  • SYS
  • SYSTEM
  • SYSMAN*1
  • DBSNMP
  • SCOTT


以上を報告して終わり
表領域とユーザの作成まで頼まれる事が多いけど、それはまた別のエントリにまとめる

*1:SYSMANのパスワードを変更する場合、エンタープライズマネージャの設定ファイルも変更が必要になるので注意