MacにOracle Databaseを入れようとして頑張っみたけど・・
結果、諦めました。
会社で11gを使っていてローカルで検証やチューニングを試してみたいと思ったのがきっかけ。
(DBAじゃないので、色々出来ない)
諦めてVirtualBoxにUbuntuいれて、Oracle Databaseを入れてみた
VirtualBoxをVagrant経由で使う
vagrant、VirtualBoxのインストールは省略
ubuntuインストール
A list of base boxes for Vagrant - Vagrantbox.es
適当にubuntuの
vagrant box
を探す以下、boxを登録、作成
$ vagrant box add ubuntu14 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box $ vagrant init ubuntu14
- IPを固定にして使いたいので
Vagrantfile
を編集
config.vm.network "private_network", ip: "192.168.125.125"
ubuntuに入る
$ vagrant ssh
ubuntuにdockerをインストール
$ sudo vi /etc/apt/sources.list.d/docker.list 以下を追記 -------------------------------------------------------------------- deb https://apt.dockerproject.org/repo ubuntu-trusty main -------------------------------------------------------------------- $ sudo apt-get update $ sudo apt-get install linux-image-extra-$(uname -r) $ sudo apt-get update $ sudo apt-get install docker-engine # Macだと起動時にエラーになった気がする。以下のどちらかで解決できたはずです。。 # $ sudo usermod -aG docker vagrant $ sudo usermod -aG docker ubuntu
Docker起動
$ sudo service docker start $ docker --version
DockerにOracle Database XE 11gをインストール&起動
$ sudo docker pull wnameless/oracle-xe-11g $ sudo docker run -d -p 49160:22 -p 49161:1521 wnameless/oracle-xe-11g
- 起動確認
$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 919c59369a7c wnameless/oracle-xe-11g "/bin/sh -c '/usr/sbi" 13 minutes ago Up 13 minutes 8080/tcp, 0.0.0.0:49160->22/tcp, 0.0.0.0:49161->1521/tcp reverent_joliot
- 停止
$ sudo docker stop 919c59369a7c
919c59369a7c
- Githubの接続情報を元に
SQL Developer
からアクセスできるか試してみる
hostname: 192.168.125.125
port: 49161
sid: xe
username: system
password: oracle
接続テストには成功する、接続も成功する。でも警告がでた!
リクエストされた操作の実行中にデータベース警告が発生しました: ORA-28002: the password will expire within 7 days 28002. 00000 - "the password will expire within %s days" *Cause: The user's account is about to expire and the password needs to be changed *Action: change the password or contact the DBA ベンダー・コード28002
Oracleが起動したコンテナに入る
ssh root@localhost -p 49160 password: admin
/u01/app/oracle/product/11.2.0/xe/bin# ./sqlplus system/oracle@localhost/xe ---------------------------------------------------------------------------------------- SQL*Plus: Release 11.2.0.2.0 Production on Sat Jan 30 22:38:34 2016 Copyright (c) 1982, 2011, Oracle. All rights reserved. ERROR: ORA-28002: the password will expire within 7 days Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production SQL> ALTER USER system IDENTIFIED BY oracle;
- (おまけ)パスワードの期限を無制限に設定 alter profile default limit password_life_time unlimited;
これで警告はなくなりました。。