docker 安装 Oracle_12c

最近做一个功能,需要连接:mysql、mssql、oracle,开发语言是nodejs,框架是nestjs框架,orm使用的typeorm,package包括:

"oracledb": "^6.4.0"
"mssql": "^10.0.2"
"mysql2": "^3.9.7"

公司没有mysql及oracle数据库,所以我在自己的云上用docker安装下,测试下。mysql还行,但是这个oracle真是太大了....我小小服务器整不住了,所以我只能按需买了一个12v12G的(其实不用这么高,4G就行,12运行起来内存占用2G多一点)

1、CentOS7.9安装好docker

2、docker安装Oracle_12c

# 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_12cr2_ee_lhr_12.2.0.1:2.0
# 启动docker,这里就是基本参数,设置网络、开机启动啥的多余的都删掉了,自己根据需求来吧
docker run -itd --name oracle12c -p 1521:1521 -p 2222:22 -p 5500:5500 -p 5501:5501 registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_12cr2_ee_lhr_12.2.0.1:2.0 init

 3、配置Oracle

3.1 进入容器

# 进入容器
docker exec -it oracle12c bash

 3.2 修改环境变量

# 修改环境变量(i 插入 :w 保存 :q 离开)
vi /etc/profile
# 在文件最下面增加以下三行
export ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/dbhome_1/
export ORACLE_SID=lhrcdb1
export PATH=$ORACLE_HOME/bin:$PATH

然后执行

source /etc/profile

3.3 切换用户

su oracle
sqlplus /nolog
conn /as sysdba
#启动数据库
startup

 3.4 启动监听

在上面步骤完成后,键入 exit 然后输入启动监听命令

lsnrctl start

3.5 修改帐号密码

这些根据需要来就行,我就用的系统system帐号,没有创建帐号

alter user system identified by system;--修改system用户账号密码;
alter user sys identified by system;--修改sys用户账号密码;

create user user1 identified by user1; --创建内部管理员账号密码;
grant connect,resource,dba to user1; --将dba权限授权给内部管理员账号和密码;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期;
alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;

3.6 查看db的service_name

这个在连接的时候会用到,我们可能不知道,所以可以查询下

show parameter service_name

4、操作截图

5. DBeaver连接截图

5、问题记录

过程中在【启动监听】的时候提示以下错误,其实能看出来是HOST名字错误这个需要是你的计算机名字,我这块改成了0.0.0.0,因为是测试环境,无所谓。

 打开监听配置文件并进行修改,然后就可以了。

vi  /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/listener.ora

 

posted @ 2024-04-28 15:13  PrintY  阅读(51)  评论(0编辑  收藏  举报