网站首页 > 数据库 / 正文
APEX环境的迁移往往涉及三个方面:
- 业务数据的迁移,一般是业务数据相关Schema的导入导出,如使用工具expdp/impdp等
- 目标环境APEX的安装,迁移时一般会在目标环境下安装最新的APEX版本
- APEX工作区及下面所有应用的迁移
第一点主要是DBA的工作,也有成熟的工具可用。第二点主要就是一个APEX的安装过程。这里主要记录第三点:
关于工作区的导出,可以直接在界面上操作,将整个工作区配置导出来,然后再导入到目标APEX环境就可以了,这点相当于直接在界面上点一下导出、导入,非常简单。但是,导出工作区并不会将下面的应用导出来。虽然应用也可以在界面上逐个导出,但如果应用很多那就很麻烦。
Oracle提供了一个很好用的工具SQLcl,相当于SQL Developer的命令行版本,直接减压即可(依赖于java11+,所以可能提前安装java 17即可,并设置一下JAVA_HOME和PATH环境变量)。目标环境下工作区创建或导入后,就可以迁移应用了。
一次性导出所有应用的脚本 (export_all_apps.sh):
#!/bin/sh
DB_CONNECTION=testuser/MyPassword123@192.168.1.9:1521/PDB1.mydb.com #数据库连接
WSID=12290542509412485 #工作区ID,在界面上【关于】菜单里面有
EXP_DIR=./apex_apps #应用导出位置,它是相对目录,相对于当前执行命令的目录
sql $DB_CONNECTION << EOF
apex export -workspaceid $WSID -dir $EXP_DIR -expPubReports -expSavedReports -expSupportingObjects Y -expType APPLICATION_SOURCE
EOF
导入单个应用的脚本 (import_apex_app.sh)
#!/bin/sh
WORKSPACE=$1
APPID=$2
IMP_DIR=$3
DB_CONNECTION=$4
sql $DB_CONNECTION << EOF
echo '*** Setting parameters ...'
begin
apex_application_install.set_workspace_id($WORKSPACE);
apex_application_install.set_application_id($APPID);
apex_application_install.generate_offset;
apex_application_install.set_auto_install_sup_obj( p_auto_install_sup_obj => true );
end;
/
echo '*** Importing the application f$APPID.sql'
@$IMP_DIR/f$APPID.sql
echo '*** Importing the application f$APPID.sql...[Done]'
EOF
一次性导入所有应用的脚本(import_all_apps.sh,它会循环调用导入单个应用的脚本import_apex_app.sh)
#!/bin/sh
DB_CONNECTION=testuser/MyPassword123@192.168.1.10:1521/PDB1.mydb.com #数据库连接
IMP_DIR=./apex_apps #之前应用导出的位置,它是相对目录,相对于当前执行命令的目录
WORKSPACE=11174905805663674 #工作区ID,在界面上【关于】菜单里面有
apps=$(ls $IMP_DIR)
for app in $apps
do
appid=$(echo $app | sed 's/^f//' | sed 's/\.sql//')
./import_apex_app.sh $WORKSPACE $appid $IMP_DIR $DB_CONNECTION
done
Tags:oracle的数据导出
- 上一篇:#干货推荐# Oracle_sql优化
- 下一篇:如何升级oracle数据库安全补丁
猜你喜欢
- 2024-11-26 ORACLE性能优化
- 2024-11-26 一键实现 Oracle 数据整库同步至 Apache Doris
- 2024-11-26 Oracle EBS二次开发,以下是一些关键的技术和技能
- 2024-11-26 珍藏的Oracle脚本shell转换--一键获取数据库会话信息及统计
- 2024-11-26 Oracle数据库日常巡检指令
- 2024-11-26 使用 convert database 命令进行 RMAN 跨平台迁移(12C至19C)
- 2024-11-26 从零开始学习Oracle之存储过程
- 2024-11-26 如何升级oracle数据库安全补丁
- 2024-11-26 #干货推荐# Oracle_sql优化
- 2024-11-26 Log4j 严重漏洞修最新修复方案参考