1.查找oracle的镜像
sudo docker search docker-oracle-xe-11g
2.拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
3.启动oracle
docker run --name oracle11 -p 1521:1521 --privileged=true --restart=always -e TZ=Asia/Shanghai -itd registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
这时容器已经在后台运行了。
4.进入容器shell
我们需要先获取后台运行的容器的进程id
docker ps
然后我们需要链接到容器的shell
第一种方式:sudo docker exec -it 容器id /bin/bash
第二种方式:docker exec -it -u 0 oracle11(容器名字) bash
-it后的字符串就是刚刚获取到的id。
然后我们就成功进入容器的shell里了。
5.配置oracle环境变量
vi /etc/profile
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$PATH:$ORACLE_HOME/bin
source /etc/profile
su oracle #切换到oracle用户
#登录数据库,修改sys、system用户密码
sqlplus /nolog #登录oracle数据库
conn /as sysdba #切换管理用户
alter user system identified by 123456; #修改system用户账号密码;
alter user sys identified by 123456; #修改sys用户账号密码;
create user wwq identified by 123456; #创建内部管理员账号密码;
grant connect,resource,dba to wwq; #将dba权限授权给内部管理员账号和密码;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; #修改密码规则策略为密码永不过期;
------------------------------
修改oracle 服务名,默认是helowin
1、首先,确定你的 Oracle 服务名,你可以使用以下SQL语句查询:
SQL> SELECT value FROM v$parameter where name='service_names';
2、然后,登录到 Oracle 数据库,用 sysdba 角色登录,使用以下SQL语句修改 Oracle 服务名:
SQL> ALTER SYSTEM SET service_names='new_service_name' SCOPE=SPFILE;
3、重启 Oracle 数据库,系统会根据 spfile 文件自动加载新的服务名:
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
4、最后,使用以下SQL语句确认服务名是否已经更改:
SQL > SELECT value FROM v$parameter where name='service_names';