トップシェアのDBMS

Oracle記事一覧

Oracleインストール

インストールの前に

  • 実験・勉強用途で使うならExpressEditionで十分。
  • Windowsマシンに入れるとメモリをこれでもかというぐらい食うので普段使っているマシンに入れる場合はパフォーマンスダウンを覚悟せよ。普段はOracleのサービスをとめておくのが吉

インストールシステム要件

メモリ512M、SWAP1G必要。その他の要件はディスクの空きスペースが必要。

Linuxだと512Mでも動かなくはないけど、推奨どおり1Gメモリがほしいところ。

要件を満たしていないけどインストールを強行したい場合は以下のオプションをつける

$./runInstaller -ignoreSysPreqs

10g Express Edition

  • ついにオラクルにも無償版登場

Oracle10g ExpressEditionインストール

11g Express Edition

  • Linuxは64bitのみ。

http://tidus.ultimania.org/wiki/index.php?OracleXE

10g

  • Windowsならそれほど迷うことなく完了する。Linuxでお勧めは本体のインストールが10分で終わるMiracleLinuxV2.1Update3?

10.1.0 成功事例

  1. windows2000にて実験。30分あれば終了。起動その他すべてが凶悪なほど遅くなるので、遊びマシンに入れましょう。
  2. MiracleLinuxV3onSIS630ノートで成功。
  3. MiracleLinuxV2.1Update3onAthlonで成功。
  4. CentOS3.4onPLE133T(384M)でも成功
  5. RedHatEnterpriseV2.1(LineoxV2.1)onAthlon(256M)で成功

10.2.0

  • 512Mでも動かなくはないけど、推奨どおり1Gメモリがほしいところ
  1. RedHatEnterpriseES3update1(PentiumIII600Mhz,512M)で成功

9i

  • ディスクがCD3枚なのでダウロードするのにも一苦労。雑誌の付録DVDをつかいましょう

9iインストール成功

  1. MiracleLinuxV2.1

インストールCD収録雑誌(これ以外に情報があったら求む!)

Oracle9.2.0.1

  • DBMagazine2003/09(Linux/Windows&MiracleLinuxV2.1)

Oracle10g

  • DBMagazine2004/06(Linux)
  • DBMagazine2004/07(Windows)
  • DBMagazine2005/01(Linux&Wiindows&MiracleLinux)

Oracle11g

  • DBMagazine2008/01(Linux)

リブート時の各種サービス起動

  • すべてのオペレーションはoracleユーザーで行うこと!

DB起動(9&10g)

sqlplus /nolog もしくは sqlplus "/ as sysdba" だと下のconnectは不要
> connect / as sysdba 
> startup

リスナー

lsnrctl start

Enterprise Manager 10g

  • 起動確認
emctl status dbconsole
  • 起動してないことを確認したら、起動する。
emctl start dbconsole
  • アクセスしてみる
http://ホスト名:5500/em/

有益なページ

http://kamoland.com/oracle/ora92redhat9.html
http://www.servj.com/pc/index.html
http://www.dotfoward.jp/DB/Oracle/Oracle9i/o9i90100LinuxEnterpriseServer/Oracle9iLinux01.html

OracleClientインストール記録

Oracle Instant Client for Linux

  • USAのOTNでダウンロードできる。GUIなしでインストールできる
  1. basicとsqlplusをダウンロードして解凍
  2. 解凍したファイルの.soファイルを/usr/local/lib/ora10gを作成してコピー
  3. 環境変数LD_LIBRARY_PATHに/usr/local/lib/ora10gを追加する
  4. sqlplusのバイナリをパスの通ったディレクトリに移動
  • sqlplus使用例
sqlplus user/[email protected]ホストIP:ポート(1521)/SID
  • 成功
  1. VineLinux3.0
  2. FedoraCore4

OracleClient履歴

クライアントOSOracleClientバージョンOracleバージョン結果
20008.1.7MiracleLinux+Oracle9.2.0
Vine2.6r49.2.0Miracle+Oracle9.2.0
  • Windowsからの接続設定
    • OracleClientインストール
Oracle8.1.7でも30分コースです。
  • NetManagerの設定
サービスネーミング
特に難しいところはないはず
  • VineLinux2.6r4
Custom選択
SQL*PlusとOCI,Thinのみ選択
tnsnames.ora,sqlnet.oraをコピーした。
見事成功!

Oracle本体

MiracleLinuxはここ?

  • Windowsでのインストール(Athlon1G+256M)
8.1.7
本体のインストールは10分
DB作成に30分
でもエラーが出て使えず
  • Oracle8.1.7+RedHat7.2
    WorkStationでインストール
    CD-ROM1からsshdインストール
    CD-ROM2からcompat-glibcインストール
    Xの設定はインストール後にXConfiguratorする
    インストーラーが立ち上がらず。
  • Oracle9.2.0+VineLinux2.6r4
    サーバーインストール手順とまったく同じにやる。クライアントは問題なかったがサーバーはインストーラーの最初で落ちるのであきらめた。pen3で成功。nforce2だとフリーズ

オペレーション

エクスポート

  • テーブル単位
exp ユーザー/パスワード@オラクルSID tables=テーブル名[,二つ目テーブル]
  • データベース毎
exp ユーザー/パスワード@オラクルSID file=/var/tmp/oradata.tmp  log=exp.log

DBCAを使わないデータベースの作成

参考URL

http://rina.jpn.ph/~rance/linux/oracle/createdb_9i2.html

上記を参考に若干手直し

1.下準備

.bash_profileの
SID=ora920
ディレクトリ作成
mkdir $ORACLE_BASE/admin/ora920
mkdir $ORACLE_BASE/admin/ora920/bdump
mkdir $ORACLE_BASE/admin/ora920/cdump
mkdir $ORACLE_BASE/admin/ora920/create
mkdir $ORACLE_BASE/admin/ora920/pfile
mkdir $ORACLE_BASE/admin/ora920/udump
mkdir /home/oracle/oradata
mkdir /home/oracle/oradata/ora920
vi $ORACLE_BASE/admin/ora920/pfile/initora920.ora
db_name=ora920
db_domain = localdomain
control_files =  ('/home/oracle/oradata/ora920/control01.ctl','/home/oracle/oradata/ora920/control02.ctl')
remote_login_passwordfile = none
background_dump_dest='/opt/oracle/app/oracle/admin/ora920/bdump'
user_dump_dest='/opt/oracle/app/oracle/admin/ora920/udump'
core_dump_dest='/opt/oracle/app/oracle/admin/ora920/cdump'
undo_management = AUTO
undo_tablespace = undotbs
fast_start_mttr_target = 300
compatible = 9.2.0.1.0
vi $ORACLE_BASE/admin/ora920/create/createdb.sql
CREATE DATABASE ora920
       DATAFILE '/home/oracle/oradata/ora920/system01.dbf' SIZE 100M
               AUTOEXTEND ON MAXSIZE UNLIMITED
       LOGFILE
               GROUP 1 ('/home/oracle/oradata/ora920/log1a.rdo') SIZE 1M,
               GROUP 2 ('/home/oracle/oradata/ora920/log2a.rdo') SIZE 1M
       UNDO TABLESPACE undotbs
               DATAFILE '/home/oracle/oradata/ora920/undotbs01.dbf' SIZE 50M
               AUTOEXTEND ON MAXSIZE UNLIMITED
       DEFAULT TEMPORARY TABLESPACE temp
               TEMPFILE '/home/oracle/oradata/ora920/temp01.dbf' SIZE 100M
               AUTOEXTEND ON MAXSIZE UNLIMITED
       CHARACTER SET ja16euc
       NATIONAL CHARACTER SET al16utf16;
ln -s /opt/oracle/app/oracle/admin/ora920/pfile/initora920.ora /opt/oracle/app/oracle/product/9.2.0/dbs/initora920.ora

2.実行

oracleユーザでSQL*Plusを次のように起動する。 
# sqlplus /nolog 
SQL> connect / as sysdba 
インスタンスをNOMOUNTで起動させる。 
SQL> startup nomount 
SQL> @$ORACLE_BASE/admin/ora920/create/createdb 
「データベースが作成されました」というメッセージが出れば成功。作成と同時にオープンされているので、パラメータを確認してみよう。 
SQL> show parameter

sqlloadr

  • CSVからインポートする時に利用されるコマンドラインツール。固定長のデータも利用可能

SQLコマンド

日付型の変換

TO_DATE('2006-01-01','YYYY-MM-DD')

n分前のデータ取得

  • 下記は100分前のデータ取得(undo表領域がすくないと見れないかも)
select * from sometable as of timestamp (systimestamp - interval '100' minute );
Counter: 28699, today: 2, yesterday: 2

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-08-12 (月) 15:33:57