跳到主要内容
版本:Next

Oracle Database

Oracle Database 是一个 Oracle Database 免费版,它被用于 SQL 数据库/关系数据库 等场景。Oracle 数据库,是一个企业级产品。内置可以通过本地浏览器访问的可视化管理工具 Oracle EM 和 CloudBeaver,满足企业微服务架构的设计思想。

gui

准备​

在参阅本文档使用 Oracle Database 时,需要确保如下几点:

  • 登录 Websoft9 控制台,然后找到(或安装)Oracle Database:

    • 我的应用 菜单找到应用
    • 应用商店 菜单部署应用
  • 应用是基于 Websoft9 安装的

  • 应用的用途符合 oracle-free 开源许可协议

  • 为应用准备配置访问方式:配置域名 或 服务器安全组开启网外端口

入门指南​

知识产品申明​

  • Oracle Database XE 是免费版,而 Oracle Database 企业版或标准版是收费版,用户需向官方获取授权
  • XE 安装时不限制服务器配置。但它运行时设置了资源上线:最多 11GB 存储,最多使用 1GB 内存和 1 个 CPU
  • 在使用软件之前,建议阅读 Oracle Database 快捷版 11g 第 2 版的 OTN 许可协议

初始化​

拉取镜像(可选)​

针对于 Oracle Database 企业版或标准版,安装之前需拉取镜像(镜像有 10G,建议 100M 带宽):

  • 到 Oracle 官方网站注册 一个免费用户账号

  • 登录 Oracle Database Repositories 网站,阅读并同意 Oracle Standard Terms and Restrictions

  • 此时,您已经被允许在 Oracle 镜像仓库中拉取镜像

  • 连接到云服务器,通过授权,拉取 Oracle 数据库镜像(修改 tag)

    docker login container-registry.oracle.com/database/enterprise
    docker pull container-registry.oracle.com/database/enterprise:tag

安装应用​

Websoft9 控制台安装 Oracle Database 应用,然后再 "我的应用" 查看应用详情,在 "访问" 标签页中获取登录信息。

Oracle EM 连接数据库​

  1. 本地浏览器 https 访问 EM 登录界面,输入默认用户名和密码后,进入 Oracle EM 控制台 Oracle EM 登录

  2. 进入 Oracle 数据库容器中,运行下面的命令测试可用性

    sqlplus SYS  AS SYSDBA

图形化管理​

我们推荐使用 CloudBeaver 作为 Oracle 数据库的 Web 管理平台:

  1. 新建一个 Oracle 数据库连接,关键信息说明:

    • Service Type: SID
    • Role: SYSDBA

  2. 连接成功的界面

获取 SID 或 Servce Name​

  1. 在 Oracle 容器中运行 sqlplus 命令

    sqlplus / as sysdba 
  2. 运行查询实例信息的 SQL 命令,instance_name 即所需的信息

    SQL> show parameter instance

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    active_instance_count integer
    instance_abort_delay_time integer 0
    instance_groups string
    instance_mode string READ-WRITE
    instance_name string XE
    instance_number integer 0
    instance_type string RDBMS
    open_links_per_instance integer 4
    parallel_instance_group string

配置选项​

  • 容器端口

    端口号用途必要性
    1521远程连接 Oracle Database可选
    5500HTTPS 访问 Oracle EM可选
  • Oracle Database 配置文件路径(已挂载):/opt/oracle/oradata/dbconfig

  • 重置密码命令:./setPassword.sh <your_password>

  • 客户端命令:

    • sqlplus / as sysdba
    • expdp 导出
    • impdp 导出
    • rman 备份与恢复
  • Oracle 连接信息

  • 生态工具:

    • SQL Developer:SQL Developer是 SQL*Plus 的图形版
    • APEX:用于 Oracle 数据库的 Web 应用程序开发工具。
    • Oracle REST Data Services
    • Oracle GoldenGate:是一种异步、基于日志的实时数据复制产品。
    • Oracle Clusterware 是实现 Oracle Real Application Clusters (Oracle RAC) 的工具。

管理维护​

  • 备份与恢复:Oracle 备份与恢复主要通过 Recovery Manager (RMAN) 实现,命令为 rman

问题与故障​

Error ORA-28040?​

错误详情:Error "ORA-28040: No matching authentication protocol"?
问题原因: 客户端与服务端的协议版本不一致
解决方案: 升级客户端

Error ORA-28009?​

错误详情:ORA-28009: connection as SYS should be as SYSDBA or SYSOPER?
问题原因: 连接数据库时用户与默认的 role 不匹配
解决方案: 连接信息中的 role 选择为 SYSDBA or SYSOPER

Error ORA-00440: Message 440...?​

错误详情:创建用户时,ORA-00440: Message 440 not found;product=RDBMS;facility=ORA?
问题原因: 登陆的 sysdba 权限的 sys 用户在 root 库上,需要连接到数据 PDB 库

SID 和 Service Name 区别?​

SID 是数据库实例唯一的名称。 Service Name 是向监听(TNS)注册后的别名。可以给同一个数据库实例配置多个 Service Name。

所以,大多数情况下, SID 和 Service Name 名称是相同的。

Oracle 可视化管理工具?​

  • EM:企业管理器,主要是监控作用
  • Oracle SQL Developer:可以导入导出、编写 SQL 脚本等
  • ORDS:是 Oracle Web 化的中间件,提供 API,PL/SQL 等能力,集成了 Oracle SQL Developer
  • APEX:是基于 ORDS 的一个无代码开发平台

PL/SQL 是什么?​

PL/SQL 是 Oracle 服务端的存储过程编程语言

Oracle 网络服务必须配置吗?​

Oracle 网络服务在分布式异构计算环境中提供企业范围的连接解决方​​案。Oracle Net 是 Oracle Net Services 的一个组件,它支持从客户端应用程序到数据库的网络会话。

所以,在单机环境下,它不是必须的配置。

Oracle 用户信息保存在哪里?​

保存在 sys 下的 user$ 表里面:

select * from sys.user$;