---
title: github-fill
description: 附：安装配置 OCI OceanBase 数据库的 Oracle 租户通过 DBLink 访问远端 Oracle 数据库时，需要安装配置 OCI-11.2。 操作步骤 您可以参考本文档在集群的所有 OBServer 节点上安装并配置 OCI-11.2。 下面以一台 OBServer 节点为例，提供 OCI 库的安装配…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.2.0

# 附：安装配置 OCI

更新时间：2024-03-04 13:37:23

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.0/zh-CN/700.reference/300.database-object-management/200.manage-object-of-oracle-mode/1000.manage-dblink-of-oracle-mode/510.install-and-configure-the-oci.md)  

OceanBase 数据库的 Oracle 租户通过 DBLink 访问远端 Oracle 数据库时，需要安装配置 OCI-11.2。

## 操作步骤

您可以参考本文档在集群的所有 OBServer 节点上安装并配置 OCI-11.2。

下面以一台 OBServer 节点为例，提供 OCI 库的安装配置指导。

1. 访问 Oracle 数据库官网，选择对应的版本，[下载 OCI 库](https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html#license-lightbox)。
 2. 使用 `admin` 用户登录 OBServer 节点，将下载好的 RPM 包拷贝到 OBServer 节点上，执行以下命令，安装 OCI 库。

   ```shell
   sudo rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

   ```
 3. OCI 库安装成功后，执行以下命令，获取 OCI 库的安装目录。

   ```shell
   rpm -ql oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64

   ```
 4. 配置 OCI 库。

      1. 确认 OceanBase 数据库节点的安装目录下是否有 `lib` 目录，如果没有该目录，则需要在 OceanBase 数据库节点的安装目录下创建 `lib` 文件夹并授权。 如果OceanBase 数据库节点的安装目录下已有 `lib` 目录，请忽略本操作。

        本文以 OceanBase 数据库节点的安装目录为 `/home/admin/oceanbase` 为例。

        ```shell
        sudo mkdir /home/admin/oceanbase/lib

        ```

        ```shell
        sudo chown admin:admin -R /home/admin/oceanbase/lib

        ```
      2. 进入 OCI 库的安装目录。

        ```shell
        cd /usr/lib/oracle/11.2/client64/lib/

        ```
      3. 将 OCI 库安装目录中的 `libclntsh.so.11.1`、`libnnz11.so`、`libociei.so` 等 3 个必要库的文件拷贝到 OceanBase 数据库节点的安装目录中。

        其中，`$DIR` 需要替换成 OceanBase 数据库节点的安装目录, 本文以 OceanBase 数据库节点的安装目录为 `/home/admin/oceanbase` 为例。

        #### 注意

        将 OCI 安装目录中的 3 个 so 文件拷贝到 OceanBase 数据库节点的安装目录下后，再在安装目录下将 `libclntsh.so.11.1` 文件拷贝一份并重命名为 `libclntsh.so`（或者也可以在安装目录下建立一个指向安装目录中 `libclntsh.so.11.1` 库文件的软链接，并将软连接命名为 `libclntsh.so`）。

        ```shell
        cp libclntsh.so.11.1 $DIR/lib

        ```

        ```shell
        cp libclntsh.so.11.1 $DIR/lib/libclntsh.so

        ```

        ```shell
        cp libnnz11.so $DIR/lib

        ```

        ```shell
        cp libociei.so $DIR/lib

        ```
 5. 配置 `LD_LIBRARY_PATH` 环境变量。

   由于 OceanBase 数据库加载 `libclntsh.so` 时，`libclntsh.so` 会依赖于其他的库文件，需要从 `LD_LIBRARY_PATH` 的路径中查找相关库文件，故需要在 `LD_LIBRARY_PATH` 中配置 OCI 库所在的目录。

   例如，本文档中的 OCI 库的存放目录为：`/home/admin/oceanbase/lib`，配置示例如下：

   ```javascript
   export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/admin/oceanbase/lib:"

   ```

   #### 注意

   配置环境变量时，`/home/admin/oceanbase/lib`后面的冒号（:）必须加上。
 6. 配置好 OCI 库并设置 `LD_LIBRARY_PATH` 环境变量后，如果 OBServer 节点依然无法正确加载 OCI 的所有 so 文件，则需要重启 OBServer 节点，重启 OBServer 节点的详细操作，请参见 [重启节点](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000033490)。

   如果不方便重启 OBServer 节点，您可以将上述 `$DIR/lib/` 目录中 3 个 OCI 库的 so 文件全部通过 `mv` 命令移动到 `/lib64` 目录下，仅在 `$DIR/lib/` 目录下保留 `libclntsh.so` 文件，即可做到不重启 OBServer 节点，该 OBServer 节点也能加载 OCI 库。

   ```shell
   cd /home/admin/oceanbase/lib

   ```

   ```shell
   mv libclntsh.so.11.1 /lib64

   ```

   ```shell
   mv libnnz11.so /lib64

   ```

   ```shell
   mv libociei.so /lib64

   ```

## 配置后注意事项

在集群的所有 OBServer 节点上配置好 OCI 库后，还需要注意以下事项：

- 由于 OceanBase 数据库在加载 OCI 库时，需要有其他依赖库的支持，故在配置完 OCI 库后，可以在配置后的目录下（本文档中存放在 `home/admin/oceanbase/lib`）使用 `ldd` 命令查看 `libclntsh.so` 该 OCI 库依赖于哪些其他 Linux 环境里的库。如果确认缺少了必要的依赖库，请联系技术支持协助配置对应的依赖库。

  ```shell
  ldd libclntsh.so

  ```
 - X86 平台下，V4.2.1（不含该版本）之前版本的 OBServer 节点只能配置 `oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64` 的 OCI 库文件；如果使用更高或者更低版本的 OCI 库，或者多个版本的 OCI 库的 so 文件混用，可能导致 OBServer 节点出现进程崩溃的风险。

  X86 平台下，V4.2.1 及之后版本的 OBServer 节点需要配置 OCI-12.2，具体操作请参见 [安装配置 OCI-12.2](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000509760)。
 - ARM 平台下，所有版本的 OBServer 节点全部只能配置 `oracle-instantclient19.10-basic-19.10.0.0.0-1.aarch64.rpm` 的 OCI 库文件，下载 `oracle-instantclient19.10-basic-19.10.0.0.0-1.aarch64.rpm` 请点击 [oracle-instantclient19.10-basic-19.10.0.0.0-1.aarch64.rpm](https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/aarch64/index.html)。

  ARM 平台下配置 OCI 库的方法与 X86 平台类似，只需要将 `oracle-instantclient19.10-basic-19.10.0.0.0-1.aarch64.rpm` 中包含的所有 so 文件参考本文的配置方法配置即可。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
