背景
在Linux中安裝oracle非常麻煩,相信每個人也會遇到各種坑。為了一次裝好,也方便將來直接可以導(dǎo)出鏡像在各平臺移植使用,所以選擇用docker安裝 Oracle。
使用官方鏡像下載速度非常慢,因此,我們可以使用阿里鏡像。
拉取鏡像
拉取oracle_11g鏡像
拉取oracle鏡像(oracle 11.0.2 64bit 企業(yè)版 實(shí)例名: helowin)
Oracle主要在Docker基礎(chǔ)上安裝,安裝環(huán)境注意空間和內(nèi)存,Oracle是一個非常龐大的一個軟件,
最低配置要2G以上,硬盤要30G以上更好,由于鏡像都有好6.8個G。
登錄阿里容器鏡像服務(wù)平臺,找到鏡像中心-->鏡像搜索,輸入相應(yīng)的鏡像名稱找到合適的鏡像。
建議使用網(wǎng)易鏡像或阿里鏡像網(wǎng)站這里以oracle 11.0.2 64bit 企業(yè)版
實(shí)例名: helowin為例子進(jìn)行安裝詳解。
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

運(yùn)行容器
2.1 默認(rèn)啟動容器方式
docker run -d --name oracle11g -p 1521:1521 --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
或
docker run -d -it -p 1521:1521 \
--name oracle11g \
--restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2.2 持久化啟動的方式
docker run -d -it -p 1521:1521 --name oracle11g --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
或
docker run -d -it -p 1521:1521 \
--name oracle11g \
--restart=always \
--mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
一般用默認(rèn)啟動方式就可以了,若是需要將數(shù)據(jù)保存到本地的采用持久化方式。
--mount表示要將Host上的路徑掛載到容器中。
source=oracle_vol為Host的持久化卷,若未提前創(chuàng)建會自動創(chuàng)建,可通過
target=/home/oracle/app/oracle/oradata :自己Linux的家目錄
docker volume inspect oracle_vol
查看volume的具體位置,target為容器中的路徑

查看容器啟動狀態(tài)
docker ps | grep oracle11g
進(jìn)入oracle11g容器進(jìn)行配置
docker exec -it oracle11g /bin/bash

切換到root用戶下進(jìn)行配置:
切換root用戶:su root
輸入密碼: helowin ##可以使用passwd命令更改自己的密碼
編輯profile文件配置ORACLE環(huán)境變量:
vi /etc/profile

在文檔尾部,添加如下內(nèi)容:
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

保存后加載環(huán)境變量,立即生效:
source /etc/profile
創(chuàng)建軟連接:
作用:可以直接用oracle命令,而不需要進(jìn)入bin目錄中執(zhí)行相應(yīng)的命令。
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
切換到oracle 用戶:
su - oracle

登錄sqlplus并修改sys、system用戶密碼:
sqlplus /nolog # 登錄oracle
conn /as sysdba # 連接,需要進(jìn)行操作系統(tǒng)驗(yàn)證,才可進(jìn)行連接登錄
alter user system identified by system; # 修改system用戶賬號密碼system
alter user sys identified by sys; # 修改sys用戶賬號密碼sys
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; # 修改密碼規(guī)則策略為密碼永不過期
exit; # 退出

補(bǔ)充命令
補(bǔ)充命令
登錄sqlplus并修改sys、system用戶密碼: 需要注意的是再oracle用戶下操作
sqlplus /nolog # 登錄
conn /as sysdba # 連接
create user test identified by test; #創(chuàng)建內(nèi)部管理員賬號密碼;
grant connect,resource,dba to yan_test; #將dba權(quán)限授權(quán)給內(nèi)部管理員賬號和密碼;
alter system set processes=1000 scope=spfile; #修改數(shù)據(jù)庫最大連接數(shù)據(jù);
修改以上信息后,需要重新啟動數(shù)據(jù)庫
shutdown immediate; #關(guān)閉數(shù)據(jù)庫
startup; #啟動數(shù)據(jù)庫
SQL> select instance from v$thread; #查看數(shù)據(jù)庫sid(實(shí)例名)
clear SCR 或clear screen或clea scre #sqlplus清屏命令
創(chuàng)建表空間
create tablespace pts datafile '/home/oracle/app/oracle/oradata/helowin/pts.dbf' size 100m autoextend on next 10m
刪除表空間
drop tablespace PTS;
查看所有表空間
select tablespace_name from dba_tablespaces;
創(chuàng)建用戶
create user PTS identified by PTS default tablespace PTS;
刪除用戶
drop user pts cascade;
為sys用戶添加sysdba權(quán)限
SQL> grant sysdba to sys;
查看哪些用戶被授予DBA權(quán)限
select * from dba_role_privs where granted_role='DBA';
查看數(shù)據(jù)庫編碼
SQL> select userenv('language') from dual;
查看數(shù)據(jù)庫權(quán)限和用戶
SQL> show parameter password #查看數(shù)據(jù)庫權(quán)限
SQL> select * from v$pwfile_users; #查看用戶

查看一下oracle實(shí)例狀態(tài):
lsnrctl status -查看一下oracle實(shí)例狀態(tài):

監(jiān)聽命令
$ lsnrctl stop listener -停止名為listener的監(jiān)聽服務(wù)
$ lsnrctl start listener -啟動名為listener的監(jiān)聽服務(wù)
$ lsnrctl reload listener -重新加載名為listener的監(jiān)聽服務(wù)
查看環(huán)境變量
cat /home/oracle/.bash_profile

看到此ORACLE_SID=helowin表示數(shù)據(jù)庫的實(shí)例名稱文章來源:http://www.zghlxwxcb.cn/news/detail-541252.html
navicate連接文章來源地址http://www.zghlxwxcb.cn/news/detail-541252.html

到了這里,關(guān)于Docker安裝Oracle11g(安裝簡單)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!