- 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g - 创建目录
mkdir -p /opt/oracle11g/db
chown -R 500:500 /opt/oracle11g/db - 进入目录
cd /opt/oracle11g/db - 重命名镜像
docker tag registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g oracle11g:v1.0 - 运行临时镜像
docker run -d --name oracle11g-tmp -p 1521:1521 --privileged=true oracle11g:v1.0 - 拷贝镜像内文件
docker cp oracle11g-tmp:/home/oracle/app/oracle/oradata/ /opt/oracle11g/db/ - 删除临时容器
docker rm -f oracle11g-tmp - 正式运行
docker run -d --name oracle11g -p 1521:1521 -v /opt/oracle11g/db/oradata/:/home/oracle/app/oracle/oradata --privileged=true oracle11g:v1.0 - 进入容器
docker exec -it oracle11g /bin/bash
rm -rf /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
cp /home/oracle/app/oracle/oradata/helowin/control01.ctl /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
如果有权限问题在容器外重新执行:chown -R 500:500 /opt/oracle11g/db - 重启oracle
docker restart oracle11g -
进入容器 docker exec -it oracle11g bash 切换用户,root用户的密码是 helowin,再切回 oracle 用户 su - root su - oracle
- 登录数据库
sqlplus / as sysdba - 修改system用户密码为system
alter user system identified by system;
如果有问题执行步骤17,18 - 修改 sys 用户密码
alter user sys identified by sys; - 修改密码规则策略为密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; - 修改数据库最大连接数据
alter system set processes=1000 scope=spfile; - 关闭数据库
shutdown immediate; - 启动数据库
startup; - 创建新的表空间test
格式:CREATE TABLESPACE [表空间名称] DATAFILE [dbf文件存放地址] SIZE [表空间大小] autoextend on maxsize 30G;
eg: CREATE TABLESPACE test DATAFILE ‘/home/oracle/app/oracle/oradata/helowin/test.dbf’ SIZE 300M autoextend on maxsize 50G; - 创建用户test
格式:CREATE USER [用户名] IDENTIFIED BY [密码] DEFAULT TABLESPACE [表空间];
eg:CREATE USER test IDENTIFIED BY “test” DEFAULT TABLESPACE test; - 给 dba 权限到test用户
GRANT CONNECT,RESOURCE,dba TO test; - 连接
ip为安装机器ip
docker安装oracle
于 2024-09-09 09:01:44 首次发布