一、开发背景
- mac开发环境
基于macOS Mojave 版本10.14.6 (18G5033)
jdk1.8(jdk1.8.0_131)
tomcat8(8.5.15)
docker(oracle11g)
google+idea+navicate - windows开发环境
百度去吧 - 鸿蒙
开玩笑的,不知道能不能搞
二、环境准备
- mac安装tomcat、idea、jdk
自己百度吧,一大堆 - docker安装oracle11g
由于orcale没有mac安装包,所以得用容器虚拟机安装
详细安装地址参考macos下使用docker安装oracle11g
我是安装桌面版的docker版v20.10.5,配置的docker engien是
{
"experimental": false,
"debug": true,
"registry-mirrors": [
"http://hub-mirror.c.163.com"
]
}
- 将oracle数据库进行用户权限配置(建议赋予DBA权限至workflow(miracle4),若提示ORA-01031,参考shell内在mac命令行窗口进行如下操作)
grant dba to ABC; //把dba的权限赋予用户ABC
详情参考docker中安装oracle,以及oracle登陆、创建用户、用户授权很详细的教程
注意:设置数据库字符格式,docker中配置oracle11g的数据库字符集为zhs16gbk(否则创建失败报超长ora缺陷),在mac命令行窗口进行如下操作:
# 1.查询docker挂在镜像,找到IMAGE对应的oracleinanutshell/oracle-xe-11g的ID(d35f4b244238)
docker ps
# 2.进入容器(d35f4b244238,改为你的oracle image对应的id)
docker exec -it d35f4b244238 /bin/bash
# 3.若是root用户没有修改权限,执行sqlplus / as sysdba想要赋权时提示ORA-01031: insufficient privileges,切换用户
su oracle
# 3.1进入docker容器内oracle的bin目录
cd /u01/app/oracle/product/11.2.0/xe/bin
# 3.2创建数据库用户的用户打开sqlplus命令行窗口
sqlplus / as sysdba
# 3.4执行如下sql操作
SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; -- 看看当前数据库字符集
SQL> SHUTDOWN IMMEDIATE;
SQL> alter system enable restricted session;
SQL> alter system set job_queue_processes=0;
SQL> alter system set aq_tm_processes=0;
SQL> alter database open;
SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK; -- ZHS16GBK是你想要修改的字符集
SQL> shutdown immediate;
SQL> startup;
SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; -- 看看当前数据库字符集
SQL> exit -- 退出sqlplus
# 退出oracle容器目录
exit
三、效果展示
1.docker安装成功界面
2.数据库访问测试