Oracle中心にIT全般の技術情報を気が向くままに書いています。他にLinux、仮想化技術(VMWare)やトラブルに役立つ情報などがあります。

スポンサーサイト手動でデータベースの作成を行う


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
ブログ開始しました。
これからよろしくお願いします!

このサイトは、オラクルのいろいろを取り上げたいと思います。
オラクルを取り上げているサイトは沢山ありますが、少々違った切り口になるように心がけたいです。

最初ということで、データベースの手動作成からはじめたいと思います。
DBCAが簡単ですが、やはり手動でデータベース作成した方が、管理し易いと思います。

気が向いたらRACとかDataGuardとかもやりたいです。


【環境】
DB: Oracle 10gR2
OS: Oracle Enterprise Linux V4

1.ユーザ環境の作成
oinstall,dbaグループおよびoracleユーザを作成します。
# groupadd oinstall
# useradd -g oinstall -G dba oracle
# passwd oracle
Changing password for user oracle.
New UNIX password: 
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.

2.ディレクトリ環境の作成
ORACLE_BASEを/u01/app/oracleにしたいと思います。
# mkdir -p /u01/app/oracle
# chmod -R 775 /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle/ 

3.X許可&oracleユーザでログイン
oracleユーザでログインする前に、DBCAでソフトウェアインストール時にGUI利用するので許可しておくことにします。
# xhost +
access control disabled, clients can connect from any host
# su - oracle

4.環境変数の設定1
環境変数をorcl.envに設定しています。
$ cat orcl.env
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
また、ログイン時に自動的に環境変数が有効になるように、.bash_profileに「. orcl.env」と記述しています。
$ cat .bash_profile
# .bash_profile  
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi 
# User specific environment and startup programs
PATH=$PATH:$HOME/bin export PATH
unset USERNAME 
export LANG=ja_JP 
. orcl.env

5.DBCAでデータベースソフトウェアのインストール
runInstallerコマンドを実行してDBCAからインストールします。
詳細はここでは省略します。

6.環境変数の設定2
NLS_LANG環境変数の定義を追加してます。
$ cat orcl.env
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export NLS_LANG=Japanese_Japan.JA16EUCTILDE

7.各種ディレクトリ作成
$ mkdir -p $ORACLE_BASE/admin/orcl/adump
$ mkdir -p $ORACLE_BASE/admin/orcl/bdump
$ mkdir -p $ORACLE_BASE/admin/orcl/cdump
$ mkdir -p $ORACLE_BASE/admin/orcl/udump
$ mkdir -p $ORACLE_BASE/admin/orcl/arch
$ mkdir -p $ORACLE_BASE/admin/orcl/scripts
$ mkdir -p $ORACLE_BASE/oradata/orcl
$ mkdir -p $ORACLE_BASE/flashback_area/orcl

8.初期化パラメータの作成
パラメータは適切なものを設定してくださいね。
$ cat $ORACLE_HOME/dbs/initorcl.ora
db_name=orcl
compatible=10.2.0

control_files=(/u01/app/oracle/oradata/orcl/control01.dbf,
/u01/app/oracle/oradata/orcl/control02.dbf)

sga_target=256M
pga_aggregate_target=128M

audit_file_dest=/u01/app/oracle/admin/orcl/adump
background_dump_dest=/u01/app/oracle/admin/orcl/bdump
core_dump_dest=/u01/app/oracle/admin/orcl/cdump
user_dump_dest=/u01/app/oracle/admin/orcl/udump

log_archive_dest_1="LOCATION=/u01/app/oracle/admin/orcl/arch
log_archive_dest_state_1=enable

db_recovery_file_dest=/u01/app/oracle/flashback_area/orcl
db_recovery_file_dest_size=10G

undo_management=AUTO
undo_tablespace=undotbs1

nls_language=JAPANESE
nls_territory=JAPAN

processes=100
sessions=100
open_cursors=100

9.CREATE DATABASE文の作成
CREATE DATABASE文をファイルに作成してからデータベースを作成します。
ファイルに作成しておくと、後からも確認できるし便利です。
あと、ここではアーカイブログは有効化しない方が良いです。
理由は、次のcatalog等々のスクリプト実行時に、アーカイブREDOが作られちゃいますからです。
$ cat $ORACLE_BASE/admin/scripts/createdb.sql
CREATE DATABASE orcl
 USER sys IDENTIFIED BY oracle
 USER system IDENTIFIED BY oracle
 LOGFILE GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01.dbf') SIZE 10M,
 GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02.dbf') SIZE 10M
 CHARACTER SET JA16EUCTILDE
 NATIONAL CHARACTER SET AL16UTF16
 DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf'
  SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
 SYSAUX DATAFILE '/u01/app/oracle/oradata/orcl/sysaux01.dbf'
  SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
 DEFAULT TABLESPACE users
  DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'
  SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
 DEFAULT TEMPORARY TABLESPACE temptbs1
  TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf'
  SIZE 100M
 UNDO TABLESPACE undotbs1
  DATAFILE '/u01/app/oracle/oradata/orcl/undo01.dbf'
  SIZE 100M;

10.データベースの作成
準備にいろいろ必要でしたが、いよいよデータベースを作成します。
$ sqlplus "/ as sysdba" 
SQL*Plus: Release 10.2.0.1.0 - Production on 土 2月 9 10:39:57 2008 
Copyright (c) 1982, 2005, Oracle.  All rights reserved. 
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production 
With the Partitioning and Data Mining options
に接続されました。
SQL> startup nomount
ORACLEインスタンスが起動しました。

Total System Global Area  268435456 bytes
Fixed Size      1218892 bytes
Variable Size     88082100 bytes
Database Buffers   176160768 bytes
Redo Buffers      2973696 bytes
SQL> @$ORACLE_BASE/admin/orcl/scripts/createdb.sql

データベースが作成されました。

11.スクリプト実行
必要なスクリプトを実行します。
catalogとcatprocは有名ですね。pupbldはsqlplusのエラーが出なくするのに使います。
詳細は別途調べてくださいね。
ところで、実行中にいろいろとエラーが出ますが、基本は無視でOKです。
SQL> @?/rdbms/admin/catalog
<中略>
PL/SQLプロシージャが正常に完了しました。
SQL> @?/rdbms/admin/catproc
<中略>
PL/SQLプロシージャが正常に完了しました。
SQL> @?/rdbms/admin/catblock
<中略>
PL/SQLプロシージャが正常に完了しました。
SQL> conn system/oracle
接続されました。
SQL> @?/sqlplus/admin/pupbld
<中略>
シノニムが作成されました。

12.アーカイブログ有効化
必須じゃないですが、通常はアーカイブログは設定しておいた方が良いです。
アーカイブログの設定はデータベースをマウント状態にして行います。
SQL> conn / as sysdba
接続されました。
SQL> shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup mount
ORACLEインスタンスが起動しました。

Total System Global Area  268435456 bytes
Fixed Size      1218892 bytes
Variable Size     88082100 bytes
Database Buffers   176160768 bytes
Redo Buffers      2973696 bytes
データベースがマウントされました。
SQL> alter database archivelog;

データベースが変更されました。
設定が変更されたか確認してみます。
SQL> archive log list
データベース・ログ・モード     アーカイブ・モード
自動アーカイブ         有効
アーカイブ先   /u01/app/oracle/admin/orcl/arch
最も古いオンライン・ログ順序   40
アーカイブする次のログ順序    41
現行のログ順序       41

13.データベースオープン
データベースがマウント状態なので、オープンします。
SQL> alter database open;
 データベースが変更されました。

記:2008/02/09 09:48:51



以上です。




トラックバックURL

この記事にトラックバックする(FC2ブログユーザー)



前ページへ:RAC構築 10gR2 on Oracle Linux5.2[VMWare] (10)RACサーバ2の作成
次ページへ:RAC構築 10gR2 on Oracle Linux5.2[VMWare] (11)SSH環境設定

ページのトップへ

必ずお読みください

本ブログ記事をご利用になって生じたいかなる損害についても当方は一切責任を負いません。
ご利用は自己責任でお願いします。(^―^)

広 告





ブログランキング/その他


ビジネスブログ100選

ブログランキング・にほんブログ村へ
blogramで人気ブログを分析




最新トラックバック


RSSリンクの表示

QRコード

QR

アクセスカウンター

ユニーク:
トータル:


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。