dockers安装oracle数据库
需要先准备好docker环境,网上有很多教程,这里不再赘述拉取oracle镜像运行容器进入容器内部连接数据库启动数据库到此oracle就启动成功了。
·
容器部署与数据库启动
-
需要先准备好docker环境,网上有很多教程,这里不再赘述
-
拉取oracle镜像
docker pull registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora10g_10205 -
运行容器
docker run -itd --name oracle10g -h jemora10g \ --privileged=true \ --restart=always \ -p 3389:3389 \ -p 1521:1521 \ -p 312:22 \ registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora10g_10205 init -
进入容器内部
docker exec -it oracle10g bash -
切换用户:
su - oracle -
连接数据库
sqlplus / as sysdba -
启动数据库
startup; 启动成功会出现类似以下消息: ORACLE instance started. Total System Global Area 289406976 bytes Fixed Size 1266392 bytes Variable Size 100663608 bytes Database Buffers 184549376 bytes Redo Buffers 2924544 bytes Database mounted. Database opened.
到此oracle就启动成功了
远程连接
- 创建用户
CREATE USER oracle IDENTIFIED BY oracle; GRANT CONNECT, RESOURCE, DBA TO oracle;
检查用户是否存在
-- 1. 查看用户是否存在(以oracle用户为例) select username from dba_users where username = 'ORACLE'; -- Oracle用户名区分大小写,需大写 -- 2. 若存在,授予CONNECT权限(连接数据库的基础权限) grant connect, resource to oracle; -- 用户名小写需加双引号:grant connect to "oracle"; -- 3. 若密码忘记,重置密码 alter user oracle identified by oracle; -- 重置为oracle查看服务名
-- 查询数据库的服务名(必须与Navicat的“服务名”完全一致) select value from v$parameter where name = 'service_names';
使用Navicat连接
注意
-
查看服务

-
要确保服务状态是OPEN的状态

-
启动监听器
lsnrctl start;监听器状态是启动状态:

-
实例需要注册到监听器中,否则远程连接不上。并且需要确保上面的服务名在监听器里面
sqlplus / as sysdba
alter system register; -- 让实例注册到监听器
exit; -- 退出SQL*Plus
-
需要确保监听器里面有服务的实例

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐





所有评论(0)