Linking

Capturing Life & Tech

  • 主页
  • 随笔
  • 关于我
所有文章 外链

Linking

Capturing Life & Tech

  • 主页
  • 随笔
  • 关于我

docker安装运行并连接Oracle

阅读数:次 2020-04-17
字数统计: 741字   |   阅读时长≈ 3分

目录

  • 常见操作
    • 安装 Oracle
    • start oracle
    • 登录数据库
    • 进入容器
    • DBeaver 连接
    • 创建数据库及用户
    • 查看Directory名称
    • docker导入oracle数据库
    • 导入
  • 问题
    • ORA-12154: TNS:could not resolve the connect identifier specified
    • ora 65096 invalid common user or role name
    • imp 导入dmp数据库出错
    • docker的oracle没有vim命令
    • ORACLE 12C ORA-12162: TNS:net service name is incorrectly specified

常见操作

安装 Oracle

1
2
3
4
5
6
7
8
9
10
11
~> docker pull absolutapps/oracle-12c-ee

~> docker run -h "oracle" --name "oracle" \
-d -p 49160:22 -p 49161:1521 -p 49162:8080 \
absolutapps/oracle-12c-ee

~> docker ps

49160:是连接ssh对应的端口
49161:是连接sqlplus对应的端口,数据库连接端口
49162:是连接t对应的端口;localhost:49162/oem
  • https://hub.docker.com/r/absolutapps/oracle-12c-ee

start oracle

1
~> docker start oracle

登录数据库

进入容器

1
2
3
4
5
## container id/name
# root
docker exec -ti -u root afa270c07387 bash
# oracle
docker exec -it oracle /bin/bash

以上命令的优点是可以后台运行,退出不会关闭容器

如果名字不是oracle,用rename命令改容器名

进入后,应该在 oracle 用户下

1
2
3
4
5
6
7
8
9
# 1
sqlplus /nolog
# 2
conn / as sysdba;
conn username/password;
# 3
## mac
conn sys/oracle@orcl as sysdba
conn system/oracle@orcl as sysdba

DBeaver 连接

  • IP: 127.0.0.1, local machine ip
  • port: 49161
  • sid: orcl #通过 echo $ORCLE_SID 查看
  • username: system, must as sysdba
  • password: oracle, default password for sys and system

DBeaver 是一个开源的跨平台数据库连接工具,推荐使用。当然也可以用 JetBrains 全家桶之一的 DataGrip或Idea自带的数据库连接工具,或常见的Navicat(我不喜欢)

创建数据库及用户

  • 见创建表空间 用户 授权

查看Directory名称

查文档发现,缺省Directory为DATA_PUMP_DIR

1
2
3
4
SQL> select * from dba_directories where directory_name='DATA_PUMP_DIR';

## Mac
DATA_PUMP_DIR | /u01/app/oracle/admin/orcl/dpdump/

docker导入oracle数据库

1
2
3
4
5
6
docker cp --help

docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

# Mac
docker cp vfh0605.dmp oracle-container-id:/u01/app/oracle/admin/orcl/dpdump/

容器地址为上一步查出来的 DATA_PUMP_DIR

  • https://blog.csdn.net/qq_38380025/article/details/83089984

导入

  • 导入数据
1
2
## Mac oracle container
~> impdp username/password@orcl directory=DATA_PUMP_DIR dumpfile=databasename.dmp

问题

问题不少,解决之

ORA-12154: TNS:could not resolve the connect identifier specified

1
conn sys/oracle@orcl as sysdba

等一会,/u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin下,tnsnames.ora文件又自动出来了,就好了。

如果很久不出现,可以自己新建,填入

1
2
3
4
5
6
7
8
9
10
11
12
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 9135dc893753)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

其中 9135dc893753 为container id。

ora 65096 invalid common user or role name

  • https://www.cnblogs.com/siyunianhua/p/4004361.html

imp 导入dmp数据库出错

  • IMP-00058: ORACLE error 12154 encountered
  • ORA-12154: TNS:could not resolve the connect identifier specified
  • IMP-00000: Import terminated unsuccessfully

同前一个 TNS 问题

docker的oracle没有vim命令

1
2
3
4
5
# root 账户登录
docker exec -ti -u root 4650e8d1bcca bash

# yum 安装
yum -y install vim*

ORACLE 12C ORA-12162: TNS:net service name is incorrectly specified

ORACLE_HOME, ORACLE_SID可能为空

1
2
3
4
5
6
# 查看
echo $ORACLE_HOME
# 设置
# 需要先查看/opt/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.ora 中的值
# 编辑~/.bash_profile
export ORACLE_SID=ORCL
  • https://blog.csdn.net/fw19940314/article/details/80432997
  • https://blog.csdn.net/jaejoong/article/details/46743689
  • 本文作者: Linking
  • 本文链接: https://linking.fun/2020/04/17/docker安装运行并连接Oracle/
  • 版权声明: 版权所有,转载请注明出处!
  • docker
  • oracle
  • CS

扫一扫,分享到微信

docker安装运行连接MySQL
APPScan-SQL盲注与xss跨站点脚本编织问题记录
  1. 1. 目录
  • 常见操作
    1. 1. 安装 Oracle
    2. 2. start oracle
    3. 3. 登录数据库
      1. 3.1. 进入容器
      2. 3.2. DBeaver 连接
    4. 4. 创建数据库及用户
    5. 5. 查看Directory名称
    6. 6. docker导入oracle数据库
    7. 7. 导入
  • 问题
    1. 1. ORA-12154: TNS:could not resolve the connect identifier specified
    2. 2. ora 65096 invalid common user or role name
    3. 3. imp 导入dmp数据库出错
      1. 3.1. docker的oracle没有vim命令
    4. 4. ORACLE 12C ORA-12162: TNS:net service name is incorrectly specified
  • © 2015-2026 Linking
    GitHub:hexo-theme-yilia-plus by Litten
    本站总访问量次 | 本站访客数人
    • 所有文章
    • 外链

    tag:

    • weather
    • 需求
    • essay
    • basketball
    • olympic
    • nginx
    • APPScan
    • SQl盲注
    • xss
    • Ajax
    • ajax
    • ai
    • agent
    • openclaw
    • ccf
    • Nginx
    • HTML5
    • html5
    • hmtl5
    • sse
    • JavaScriptCore
    • Oracle
    • operation
    • Linux
    • deploy
    • Mac Office
    • markdown
    • ListView
    • GridView
    • MySQL
    • 慢查询
    • mongodb
    • 转置
    • thought
    • network
    • ubuntu
    • NetworkManager
    • RFKill
    • Netplan
    • avatar
    • cocoa
    • blog
    • Gitalk
    • container
    • macvlan
    • docker
    • oracle
    • cookie
    • patch
    • gitea
    • git
    • iOS
    • https
    • 多线程
    • bundle
    • 兼容性
    • HTTP
    • 绘图
    • cs
    • java
    • 效率
    • 快捷键
    • route
    • nodejs
    • pip
    • arcgis
    • arcgis 建模
    • 标识
    • redis
    • read
    • bookList
    • running
    • showdoc
    • disk
    • unit-test
    • D.Wade
    • thoughts
    • duoduo
    • Python
    • python
    • tomcat
    • 读书节
    • session
    • jdk
    • war
    • 加班
    • Android onclick事件监听
    • 正则
    • 手机品牌匹配
    • ntp
    • OpenLayers
    • Geoserver
    • wechat
    • 微信公众号
    • 爬虫
    • WeChat
    • 张靓颖
    • 动漫
    • vpn
    • PPT
    • MarkDown
    • plan
    • 朱赟
    • 极客时间专栏
    • 极客邦
    • 模块化
    • MVC
    • excel
    • NBA
    • kobe
    • team
    • crawler
    • 进度条
    • ssl
    • book
    • anti-stealing-link
    • Agentic Engineering
    • Vibe Coding
    • Software 3.0
    • Andrej Karpathy
    • LLM
    • Programming

      缺失模块。
      1、请确保node版本大于6.2
      2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
      npm i hexo-generator-json-content --save

      3、在根目录_config.yml里添加配置:

        jsonContent:
          meta: false
          pages: false
          posts:
            title: true
            date: true
            path: true
            text: false
            raw: false
            content: false
            slug: false
            updated: false
            comments: false
            link: false
            permalink: false
            excerpt: false
            categories: false
            tags: true
      

    • GitHub Trending
    • OpenAI ChatGPT
    • Gitee码云
    • 简书
    • CSDN