基于Docker OracleLinux安装Oacle12c数据库

#安装参考: https://github.com/wscherphof/oracle-12c  

#按原作者步骤装了好几次都没成功把自已改好的步骤分享给大家,想折腾的可以试试! 学习专用!

#oracle12c 亲测版本: linuxamd64_12102

下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/overview/index.html

#环境:ubuntu14.04 + docker1.7.1

#步骤1:开始 

安装docker 自行 百度 or Google!

#获取 oraclelinux 的docker image

docker pull oraclelinux

#启动docker image

docker run --privileged -ti oraclelinux


#安装所需软件:

yum -y install unzip binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc.i686 glibc glibc-devel glibc-devel.i686 ksh libgcc.i686 libgcc libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686 libaio-devel libaio-devel.i686 libXext libXext.i686 libXtst libXtst.i686 libX11 libX11.i686 libXau libXau.i686 libxcb libxcb.i686 libXi libXi.i686 make sysstat vte3 smartmontools nano git


#下载需用的配置文件 下载目录为:~/

cd ~/

git clone https://github.com/wscherphof/oracle-12c


#安装后建议建立快照 因为上面下载软件非常慢慢,有vpn另说: 

sudo docker commit -m "更新信息" 578d9cf08eed 快照名 #578d9cf08eed 是启动docker [root@578d9cf08eed /] root@ 后面的字符串

#建立快照后启动 

sudo docker run --privileged -ti  快照名 /bin/bash


#上传oracle12c文件 目录为 /tmp/install

#docker image上操作

mkdir -p /tmp/install

#主机上操作:(我描述的可以比较麻烦)

#参考: http://blog.csdn.net/lincyang/article/details/44176569

sudo docker inspect -f '{{.Id}}' c5f856e20367 //c5f856e20367 启动docker [root@578d9cf08eed /] root@ 后面的字符串

#得到类似这样的数据 :a111cada5b22996b9737cc4c6d097557188e2fc24a6632233d4500f11b464efd

#上传操作:

sudo cp linuxamd64_12102_database_* /var/lib/docker/aufs/mnt/a111cada5b22996b9737cc4c6d097557188e2fc24a6632233d4500f11b464efd/tmp/install

#结果:

 _database_1of2.zip /tmp/install/linuxamd64_12102_database_1of2.zip

linuxamd64_12102_database_2of2.zip /tmp/install/linuxamd64_12102_database_2of2.zip


#解压oracle12c 且 删除压缩包

cd /tmp/install && unzip linuxamd64_12102_database_1of2.zip && unzip linuxamd64_12102_database_2of2.zip && rm *.zip


#建立用户 组

groupadd -g 54321 oinstall && groupadd -g 54322 dba

#userdel oracle && rm -rf /home/oracle && rm /var/spool/mail/oracle #原作者执行了这个,经测试,不需要

useradd -m -u 54321 -g oinstall -G dba oracle

echo "oracle:oracle" | chpasswd


#设置环境变量: nano ~/.bashrc文件 末尾添加

export ORACLE_BASE=/u01/app/oracle

export CVUQDISK_GRP=oinstall

export ORACLE_SID=ORCL

export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1

export PATH=$ORACLE_HOME/bin:$PATH


mkdir -p $ORACLE_BASE && chown -R oracle:oinstall $ORACLE_BASE && chmod -R 775 $ORACLE_BASE

mkdir -p /u01/app/oraInventory && chown -R oracle:oinstall /u01/app/oraInventory && chmod -R 775 /u01/app/oraInventory


#复制需要的文件到指定目录 已clone请忽略  获得地址:https://github.com/wscherphof/oracle-12c

#进入 ~/oracle-12c目录

cd ~/oracle-12c

cp ./step1/oraInst.loc /etc/oraInst.loc

chmod 664 /etc/oraInst.loc


cp ./step1/sysctl.conf /etc/sysctl.conf  #这行单独复制 因为这个文件在系统上是存在的,要输入Y确定覆盖


echo "oracle soft stack 10240" >> /etc/security/limits.conf

cd /tmp/install/database/rpm && rpm -iv cvuqdisk-1.0.9-1.rpm


#进入 ~/oracle-12c目录


cd ~/oracle-12c

cp ./step1/db_install.rsp /tmp/db_install.rsp

cp ./step1/install /tmp/install/install


/tmp/install/install  #这步原文档说要等待 5分钟 根据自已机器有所不同


#步骤1:结束 建议建立快照 sudo docker commit -m "更新信息" 578d9cf08eed 快照名 ##578d9cf08eed 是启动docker [root@578d9cf08eed /] root@ 后面的字符串


#建立快照后启动

sudo docker run --privileged -ti 快照名 /bin/bash


#步骤2:开始


$ORACLE_HOME/root.sh


mkdir -p $ORACLE_BASE/oradata && chown -R oracle:oinstall $ORACLE_BASE/oradata && chmod -R 775 $ORACLE_BASE/oradata

mkdir -p $ORACLE_BASE/fast_recovery_area && chown -R oracle:oinstall $ORACLE_BASE/fast_recovery_area && chmod -R 775 $ORACLE_BASE/fast_recovery_area


#进入 ~/oracle-12c目录


mkdir -p $ORACLE_HOME/config/scripts

cd ~/oracle-12c

cp ./step2/initORCL.ora $ORACLE_HOME/dbs/initORCL.ora

cp ./step2/createdb.sql $ORACLE_HOME/config/scripts/createdb.sql

cp ./step2/conf_finish.sql $ORACLE_HOME/config/scripts/conf_finish.sql

cp ./step2/create /tmp/create


/tmp/create  # #这步原文档说要等待 15分钟 根据自已机器有所不同(我这等了一个小时)

步骤2:结束

#这里不建议建立快照把步骤3结束建立

#建立快照后启动

sudo docker run --privileged -ti 快照名 /bin/bash


步骤3:开始

#进入 ~/oracle-12c目录


cd ~/oracle-12c

cp ./step3/startdb.sql $ORACLE_HOME/config/scripts/startdb.sql

cp ./step3/start /tmp/start


#启动数据库(ps:这里可建议不启,先建立快照,以免忘记了) sudo docker commit -m "更新信息" 578d9cf08eed 快照名

/tmp/start


#最后删除oracle12c安装文件

rm -rf /tmp/install


#最后的最后 以后怎么用

#建立快照sudo docker commit -m "更新信息" 578d9cf08eed 快照名   #578d9cf08eed 是启动docker  root@578d9cf08eed /] root@ 后面的字符串

#启动快照 

sudo docker run --privileged -ti 快照名

#启动数据库

/tmp/start


#数据库默认密码: change_on_install 

初始化scott 用户

[root@d8149a913ea3 /]# sqlplus /nolog

SQL> connect sys/change_on_install as sysdba

SQL> @?/rdbms/admin/utlsampl.sql    #这个执行后会退出sql> 再次进入就行了

[root@d8149a913ea3 /]# sqlplus scott/tiger   #使用scott连接

#WEB管理页 https://docker imgage ip:5500/em/login 

#查看oraclelinux ip的命令:

#如:https://172.17.0.5:5500/em/login #用户sys 密码:change_on_install


开始happy吧


#且记每次数据库有数据更新,后建立快照 为减少硬盘开销,可以使用同名覆盖或新快照建立后删除旧快照(PS:删除命令 sudo docker rmi 快照名)

sudo docker commit -m "更新信息" 578d9cf08eed 快照名 ##578d9cf08eed 是启动docker [root@578d9cf08eed /] root@ 后面的字符串


PS: 学习完全够用了 安装完后备份的压缩包不到11G ,而且秒启,比虚拟机爽多了

尊重原作者:https://github.com/wscherphof/oracle-12c

! ! 转载请注明出处及作者 ! !


转载于:https://my.oschina.net/u/1010261/blog/524371

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值