docker部署Oracle环境并使用

雨中笑 数据库 docker 512热度

简介最近有个项目需要用到Oracle的数据,因为还没有测试环境,我就直接在本地上部署了Oracle环境,进行开发和调试

一、部署

1、首先在电脑里安装docker

这里的步骤可以看我之前记录的Windows10下安装Docker

2、docker下部署Oracle

网上看了几篇文章的方法都是行不通的,这里放下我部署成功的一键式安装方法:

docker run -d --name oracledb \
-p 1521:1521 \
-e ORACLE_SID=oracledb \
-e ORACLE_PWD=123456 \
-e ORACLE_CHARACTERSET=ZHS16GBK \
-e SGA_SIZE=8G \
-e PGA_SIZE=8G \
-e DB_ROLE=primary \
-e ENABLE_ARCH=true \
-v /data/oracledb:/opt/oracle/oradata \
registry.cn-hangzhou.aliyuncs.com/woqutech/oracle-database-11.2.0.4.0-ee

镜像有点大,静待执行完毕,成功了就可以使用oracle了,

Oracle账号:SYSTEM

Oracle密码:123456

sid-服务吗: oracledb

3、Navicat链接


刚开始连接一直不通过提示:

ORA-28547:connection to server failed, probable Oracle Net admin error

查找了下原因是:Navicat本地的OCI版本与自己部署的Oracle服务器不符造成的

直接去官网下载:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

选择和oracle相同的版本就可,这边选择的是: instantclient-sdk-linux.x64-11.2.0.4.0

链接:https://pan.baidu.com/s/15ocdfDrZQ-aIkXAcgKqwpA
提取码:1234

将下载的文件放到 工具 》选项 》环境 》oci环境  


二、使用Oracle

Oracle创建数据库和MySQL以及SQLServer的方式都不一样,oracle创建数据库是和用户一对一的,MySQL和 SQLServer  是直接通过create databse 就可以了.

下面在Navicat工具里执行:

1、新建表空间



对应sql:

CCREATE TABLESPACE "Untitled"
DATAFILE 'TEST' SIZE 100 M

2、创建用户


设置成员属于:

CONNECT,DBA,RESOURCE


设置服务权限:

CREATE VIEW

对应sql:

CREATE USER "TEST" IDENTIFIED BY "123456" DEFAULT TABLESPACE "TEST" TEMPORARY TABLESPACE "TEMP";
GRANT "CONNECT", "DBA", "RESOURCE" TO "TEST";
ALTER USER "TEST" DEFAULT ROLE "CONNECT", "DBA", "RESOURCE";
GRANT CREATE VIEW TO "TEST" WITH ADMIN OPTION

到这里数据库就创建完毕了,可以用刚刚创建的新用户登录,后续就可以直接在这个库里添加表,愉快地使用了

3、注意

创建表后使用表时出现:ORA-00942: table or view does not exist

很确定表和字段都是存在的,这种情况一般是字段大小写转换问题,Oracle默认表和字段全都是大写,如果表名和字段名有是小写的话sql语句需要加双引号,都大写的话就不需要加双引号


很赞哦!(3)

本文阅读量 1025发布于 2022年2月15日

您的访问IP 3.229.117.191最早于 2024年5月26日 22时07分02秒 阅读过本文 为本文提供了 1 热度 1 阅读量

文章评论
回帖