前言
出于某些原因,需要安装Oracle12c,但不想在本机和虚拟机内安装,所以安装在Docker内
安装环境
-
Doecke Desktop v24.0.2
-
windows11
-
Navicat16
安装oracle-12c
拉取oracle-12c镜像
打开DockerDesktop,搜索oracle-12c并拉取镜像(默认下载最新版本的镜像)
由于镜像比较大,时间可能会有点久
运行oracle-12c镜像
配置运行环境
这里我映射物理机的1521和9090端口,9090可以登录网页端管理,1521是数据库的连接接口
将容器内的oracle目录/u01/app/oracle
挂载到主机的F盘中F:\Code\Docker\WorkSpace\Oracle
(主机目录可以自己选择)
查看日志
连接Oracle数据库
修改oracle账号密码
这个镜像创建的容器用户密码默认有效期是180天,180天后用户会自动锁住,需要进入oracle-12c容器内将密码的有效期设置为永久,下面是默认用户的服务和密码
hostname: localhost #主机名 port: 1521 #端口号 sid: xe service name: xe #服务名 username: system #用户名 password: oracle #密码
进入容器内
修改oracle账号密码命令
# 切换成oracle用户 su oracle # 进入sqlplus $ORACLE_HOME/bin/sqlplus / as sysdba # 设置密码有效期为无限制 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; # 解锁system用户 alter user SYSTEM account unlock;
Navicat连接数据库
创建表空间与用户
-
第一步:创建数据表空间
-
第二步:创建用户并制定表空间
-
第三步:给用户授予权限
连接成功后,选中oracle数据库,新建查询
在空白区域输入以下命令
-- 创建XUANDE数据表空间 create tablespace xuande datafile '/u01/app/oracle/oradata/XUANDE.dbf' size 50M;
创建表空间成功,同时也会在挂载的目录下生成相应数据文件
创建一个用户,并设置刚才创建的空间为默认表空间
-- 创建xuande用户密码为123456并设置XUANDE为它的默认表空间 create user xuande identified by 123456 default tablespace XUANDE; -- 给用户xuandeg授权dba(管理员的权限) grant connect,resource,dba to xuande;
刷新后可以看到新创建的用户
重启Oracle服务
Docker Desktop中可以一键重启,以下是Linux命令重启服务
-- 查看监听状态 lsnrctl status -- 停止监听 lsnrctl stop sqlplus / as sysdba -- 停止oracle SQL>shutdown immediate; -- 启动服务 SQL>startup; SQL>exit -- 启用监听 lsnrctl start