搭建環(huán)境介紹
entos7 vmware虛擬機環(huán)境
1.更新yum
yum update
2.安裝Docker
yum install docker
安裝完成后查看Docker的版本:
docker version
查看Docker的信息:
docker info
3.安裝完后啟動Docker
systemctl start docker.service
如果啟動報錯:
could not change group /var/run/docker.sock to docker: group docker not found
編輯:vi /etc/fstab 文件并在未尾加入以下內(nèi)容:
none /sys/fs/cgroup cgroup defaults 0 0
然后再啟動Docker
開機自啟動:
chkconfig docker on
4.下載安裝Oracle-xe-11g
docker pull wnameless/oracle-xe-11g
下載過程可能要花費一定的時間,下載完成后運行以下命令啟動一個Oracle XE容器
docker run -d -p 1521:1521 -p 8080:8080 wnameless/oracle-xe-11g
查看并進入Docker 容器
[root@localhost text]# docker ps -a
進入容器空間即可進行sqlplus登錄操作
[root@localhost text]# docker exec -it f7**7 /bin/bash
進入容器后操作
Oracle有兩個用戶sys和system默認密碼都是oracle。
這里我用sys賬戶登錄。
首先進入sqlplus
提示要用sysdba赘方,最后用sys as sysdba 進入
就是第一次進入sqlplus時纽什,會提示這個信息验靡,大意就是密碼將在7天內(nèi)過期。
ERROR: ORA-28002 : the password will expire within 7 days
出現(xiàn)上述情況的原因在于Oracle11g在default profile中設定了180 days消约。PS:有人肯定會問這不是180天嗎跟7天有什么關系杠步,在這里不作詳細解釋氢伟。
具體解決方案等會使用Intellij IDEA 連接后解決。PS:主要是好操作幽歼。
可用IDEA工具連接
解決密碼過期問題
1.檢查該用戶的profile是哪個朵锣,一般都是DEFAULT。
SQL SELECT username,PROFILE FROM dba_users;
2.查看該DEFAULT的密碼有效期配置甸私。
SQL SELECT * FROM dba_profiles d WHERE d.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3.將密碼有效期由180天改成無期限诚些。
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
到這里就已經(jīng)搞定,但是這只是代表了后面用別的用戶登錄不會出現(xiàn)ORA-28002錯誤,但之前我們用sys用戶登錄該用戶密碼依然會在7天后過期皇型,所以只需要我們在修改一次密碼行了诬烹。
alter user sys identified by 密碼
解鎖和創(chuàng)建用戶
1.解鎖HR用戶
首先查看用戶名和用戶狀態(tài)
SELECT username,account_status FROM dba_users ORDER BY username;
2.然后解鎖HR用戶
ALTER USER hr ACCOUNT UNLOCK
3.通過修改密碼來改變狀態(tài)
alter user HR identified by 密碼
再去查詢
SELECT username,account_status FROM dba_users ORDER BY username;
創(chuàng)建SCOTT用戶
首先創(chuàng)建用戶
CREATE USER scott IDENTIFIED BY tiger;
然后授權
GRANT CONNECT ,RESOURCE ,DBA TO scott;
再去查詢
SELECT username,account_status FROM dba_users ORDER BY username;
啟動數(shù)據(jù)庫
啟動模式有3種:
1)Startup nomount (nomount模式)啟動實例不加載數(shù)據(jù)庫弃鸦。
2)Startup mount (mount模式)啟動實例加載數(shù)據(jù)庫但不打開數(shù)據(jù)庫
3)Startup (open 模式)啟動實例加載并打開數(shù)據(jù)庫绞吁,就是我們上面所用的命令
Nomount模式中oracle僅為實例創(chuàng)建各種內(nèi)存結(jié)構和服務進程,不會打開任何數(shù)據(jù)庫文件唬格,
關閉數(shù)據(jù)庫
1)正常關閉 shutdown
2 ) 立即關閉 shutdown immediate
3 ) 關閉事務 shutdown transactional
4 ) 強行關閉 shutdown abort,當然誰都不想碰到這種情況家破。