跳到主要内容
版本:1.0

维护指南

本章提供的是本应用自身特殊等维护与配置。而配置域名、HTTPS设置、数据迁移、应用集成、Web Server 配置、Docker 配置、修改数据库连接、服务器上安装更多应用、操作系统升级、快照备份等操作通用操作请参考:管理员指南 和 安装后配置 相关章节。

场景​

Oracle 导出和导入​

Oracle Data Pump 支持将数据和元数据从一个数据库高速移动到另一个数据库。

导出和导入命令如下:

  • expdp
  • impdp

Oracle 备份与恢复​

Oracle 备份与恢复主要通过 Recovery Manager (RMAN) 实现。

$ docker exec -it oracle rman

Recovery Manager: Release 21.0.0.0.0 - Production on Fri Jul 8 03:52:17 2022
Version 21.3.0.0.0

Copyright (c) 1982, 2021, Oracle and/or its affiliates. All rights reserved.

RMAN>

Oracle 升级​

本应用基于 Docker 安装,其升级采用通用的 Docker 应用升级方案即可。

Oracle 数据库复制​

Oracle GoldenGate 是一种异步、基于日志的实时数据复制产品。

Oracle 集群​

Oracle 集群又称之为 Oracle Real Application Clusters (Oracle RAC),它支持多个实例共享对 Oracle 数据库的访问。

Oracle Clusterware 是实现 Oracle RAC 的工具。

故障排除​

除以下列出的 Oracle 故障问题之外, 通用故障处理 专题章节提供了更多的故障方案。

Error "ORA-28040: No matching authentication protocol"?​

问题原因: 客户端与服务端的协议版本不一致
解决方案: 升级客户端

ORA-28009: connection as SYS should be as SYSDBA or SYSOPER?​

问题原因: 连接数据库时用户与默认的 role 不匹配
解决方案: 连接信息中的 role 选择为 SYSDBA or SYSOPER

创建用户时,ORA-00440: Message 440 not found;product=RDBMS;facility=ORA?​

问题原因: 登陆的sysdba权限的sys用户在root库上,需要连接到数据PDB库
解决方案: 连接到 ORCLPDB1 库即可,下图通过 Oracle SQL Developer 客户端演示

如果在连接ORCLCDB时需要创建用户,Oracle用户名必须带前缀"C##"

问题解答​

Oracle 企业版或标准版免费吗?​

不免费,需获得 Oracle 官方授权方可使用

Oracle 多数据库架构?​

从 12c 之后,Oracle 开始支持多个数据库实例,并逐渐演化成现在的多租户架构。

  • 从 Oracle Database 21c 开始,“数据库”特指多租户容器数据库 (CDB)、可插拔数据库 (PDB)或应用程序容器的数据文件。
  • CDB 是 Oracle 对数据库(PDB)的逻辑分组,多个数据库在逻辑上可以组合成一个 CDB。

SID 和 Service Name 区别?​

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

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

如何导入dump文件?​

sudo docker cp dumpfile oracle:/tmp/dumpfile
sudo docker exec -it oracle bash
imp user/password@ORCLPDB1 file="dump文件路径" full=y ignore=y;

表空间和模式对象( Segment)?​

  • 表空间:对数据库的逻辑划分,每个表空间包含一个或多个物理的数据库文件。表空间是 Oracle 数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
  • 模式对象:数据库用户拥有一个与用户名同名的数据库模式。

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$;