更改关系数据库服务器或端口

在备份/恢复过程中,您可以使用新的 Oracle 数据库实例重新配置 Essbase 。本主题介绍如何更改关系数据库服务器或端口。

更改关系数据库服务器

  1. 停止当前运行的 Essbase 实例。
    cd <Oracle_HOME>/user_projects/domains/essbase_domain/esstools/bin
    ./stop.sh
  2. 创建新的数据库 <export_user_name> 用户并运行‘ expdp ’命令以进行方案备份。仅导出 RCUPrefix_essbase 方案。

    例如:

    alter session set container="containername";
    create user <export_user_name> identified by <password>;
    grant create session, create table to <export_user_name>;
    create or replace directory dmpdir to <export_user_name>;
    grant DATAPUMP_EXP_FULL_DATABASE to <export_user_name>;
    grant DATAPUMP_IMP_FULL_DATABASE to <export_user_name>;
    grant user <export_user_name> default tablespace users;
    alter user <export_user_name> quota unlimited on users;
    exit;
    expdp <export_user_name>/<password>@<pdbname> dumpfile=<RCUPrefix>.dmp logfile=<RCUPrefix>.log schema=<RCUPrefix>_ESSBASE directory=dmpdir
  3. 强烈建议备份应用程序目录。如果您已经有备份,或者您的应用程序目录有许多大型应用程序,则可以跳过此步骤。

    例如:

    cd user_projects/applications/essbase/
    tar -cvfz ~/Backup/Apps.tar.gz app/*
  4. 针对新的 Oracle 数据库配置新的 Essbase 实例。您将有机会输入域根目录和应用程序目录路径 - 具有以下选项:
    • 如果您希望重用‘ user_projects ’作为主实例,并且由于旧实例已在使用它,请在启动 Configuration Tool 之前将旧 user_projects 重命名为其他内容。
    • 或者为新配置的域根目录和应用程序目录路径输入新的 'user_projects_XXX'。

    注意:

    在新实例启动并运行之前,不要尝试删除任何内容。
    例如(在域详细信息配置页面上,在其中选择域和应用程序位置):
    • 域名 essbase_domain
    • 域根Oracle/21.4.2/Middleware/Oracle_Home/user_projects/domains
    • 应用程序目录 /Middleware/Oracle_Home/user_projects/applications/essbase
    • WebLogic 管理员帐户

      ...

  5. 完成针对新 Oracle 数据库配置新的 Essbase 实例。确保使用新的方案名称。
  6. 完成配置工具后,再次停止 Essbase (请参阅步骤 1)。
  7. 为新的 Oracle 数据库创建一个类似的 'expuser' 用户,并运行 'impdp' 命令从步骤 3 中从备份中获取的转储文件恢复数据。仅使用重新映射选项导入 RCUPrefix_essbase 方案(如果新方案具有新名称)。

    例如:

    alter session set container="containername";
    create user <export_user_name> identified by <password>;
    grant create session , create table to <export_user_name>;
    create or replace directory dmpdir to <export_user_name>;
    grant DATAPUMP_EXP_FULL_DATABASE to <export_user_name>;
    grant DATAPUMP_IMP_FULL_DATABASE to <export_user_name>;
    grant user <export_user_name> default tablespace users;
    alter user <export_user_name> quota unlimited on users;
    exit;
    impdp expuser/<password>@<pdbname>  dumpfile=<schema_name>.dmp logfile=<schema_name>.log REMAP_SCHEMA=[OLD_SCHEMA]_ESSBASE:[NEW_SCHEMA]_ESSBASE directory=dmpdir partition_options=merge table_exists_action=replace  
  8. 从备份还原应用程序目录或将其从上一个实例移动。
    cd user_projects/applications/essbase/
    tar xvf ~/Backup/Apps.tar
  9. 为新实例启动 Essbase 并确保所有内容都已成功运行。由于您尚未删除任何内容,因此,如有必要,始终可以返回到先前的优秀实例。一旦一切顺利,你就可以继续前进,清理你不需要的东西。
    cd <Oracle_HOME>/user_projects/domains/essbase_domain/esstools/bin
    ./start.sh
  10. 请注意,在完成新配置后,需要在 WebLogic 中手动将旧托管服务器的所有设置添加到新创建的托管服务器。

仅更改数据库服务器端口

  1. 停止 Essbase 服务器。
    cd <Oracle_HOME>/user_projects/domains/essbase_domain/esstools/bin./stop.sh
  2. 将数据库服务器上的 tnsnames.ora 和 listener.ora 文件中的数据库端口更改为所需的端口,例如 1524。
  3. 重新启动监听程序并重新启动数据库。在 SQL 开发人员中检查连接。
  4. 在 Essbase 服务器上的以下位置,执行以下操作:
    cd <ORACLE_HOME>/user_projects/domains/essbase_domain/config/fmwconfig
    在 jps-config.xml 中,将端口更改为此属性中的新端口。
    <property name="jdbc.url" value="jdbc:oracle:thin:@(description=(address=(host=DBhost)(protocol=tcp)(port=1524))(connect_data=(service_name=DBPDBname)(server=dedicated)))"/>
    在 jps-config-jse.xml 中,对引用数据库端口的属性进行类似的更改。
    <property name="jdbc.url" value="jdbc:oracle:thin:@(description=(address=(host=DBhost)(protocol=tcp)(port=1524))(connect_data=(service_name=DBPDBname)(server=dedicated)))"/>
  5. 在以下位置,执行以下操作:
    cd <ORACLE_HOME>/user_projects/domains/essbase_domain/config/jdbc
    将数据库端口更改为以下文件中的新端口号

    essbase_datasource-jdbc.xml

    <url>jdbc:oracle:thin:@(description=(address=(host=DBHost)(protocol=tcp)(port=1524))(connect_data=(service_name=DBPDBName)(server=dedicated)))</url>

    LocalSvcTblDataSource-jdbc.xml

    <url>jdbc:oracle:thin:@(description=(address=(host=DBHost)(protocol=tcp)(port=1524))(connect_data=(service_name=DBPDBName)(server=dedicated)))</url>

    opss-audit-jdbc.xml

    <url>jdbc:oracle:thin:@(description=(address=(host=DBHost)(protocol=tcp)(port=1524))(connect_data=(service_name=DBPDBName)(server=dedicated)))</url>

    opss-auditview-jdbc.xml

     <url>jdbc:oracle:thin:@(description=(address=(host=DBHost)(protocol=tcp)(port=1524))(connect_data=(service_name=DBPDBName)(server=dedicated)))</url>

    opss-datasource-jdbc.xml

    <url>jdbc:oracle:thin:@(description=(address=(host=DBHost)(protocol=tcp)(port=1524))(connect_data=(service_name=DBPDBName)(server=dedicated)))</url>

    WLSSchemaDataSource-jdbc.xml

     <url>jdbc:oracle:thin:@(description=(address=(host=DBHost)(protocol=tcp)(port=1524))(connect_data=(service_name=DBPDBName)(server=dedicated)))</url>
  6. 在以下位置,执行以下操作:
    cd <ORACLE_HOME>/user_projects/domains/essbase_domain/init-info
    将以下文件中的数据库端口更改为新的端口号。

    startup-plan-unsub.xml:

     <jvm:value>'OCI;SERVICE=DBHost:1524/DBPDBName'</jvm:value>

    startup-plan.xml:

    <jvm:value>'OCI;SERVICE=DBHost:1524/DBPDBName'</jvm:value>
  7. 重新启动 Essbase
    cd <Oracle_HOME>/user_projects/domains/essbase_domain/esstools/bin
    ./start.sh