【Linux Oracle】time命令+oracle exp压缩

news/2025/2/26 7:12:52

 Linux && Oracle相关文档,希望互相学习,共同进步

风123456789~-CSDN博客


1.说明

        Linux中的time命令:主要用于测量命令的执行时间,并显示该命令在执行过程中所使用的系统资源情况,如CPU时间、内存和I/O等‌‌。

        Oracle 导出时 把数据卸出到文件系统, 产生一个.dmp文件, 对于中小型数据库来说, 全数据库的exp所产生的dmp文件可能小于2GB, 但对稍大型的数据库, exp产生的数据动辄数十至上百个GB. 同时随着数据库的不断增大, 导出所需时间越来越长以致实际上很难实施。

        exp + gzip   或    expdp +compression=all  解决。

2. 实验

2.1 time命令语法

 time命令语法:

time [options] command [arguments...]

在命令执行完成之后就会打印出CPU的使用情况:

      real   0m5.064s <== 实际使用时间(real time)

      user  0m0.020s <== 用户态使用时间(the process spent in user mode)

      sys   0m0.040s <== 内核态使用时间(the process spent in kernel mode)

time命令跟上-p参数可以只打印时间数值(秒数),不打印单位。

2.2 time + ls

 命令:

time ls

time -p ls          #只打印时间数值秒

结果截图:

2.3 time+ oracle 导出命令

 1)time + exp压缩

普通导出:exp  用户名/密码@ip  file=xx.dmp  log=xx.log  tables=xxx

time+ 普通导出: time exp  用户名/密码@ip  file=xx.dmp  log=xx.log  tables=xxx

带压缩的exp导出:exp  用户名/密码@ip  file=>(gzip>/路径/xx.dmp.gz)  log=xx.log  tables=xxx

time+ 带压缩的普通导出:

                       time exp  用户名/密码@ip  file=>(gzip>/路径/xx.dmp.gz)  log=xx.log  tables=xxx 

实验:

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

time exp xx/xxx@192.168.3.x/prodpdb file=>(gzip>/home/oracle/backup/exp_erp_20250225_test.dmp.gz) log=/home/oracle/backup/exp_erp_test_20250225.log tables=ERP_FINANCE_PROJECT_STATIS_NON_LABOR

结果截图:

 

解压:gzip -d xx.dmp.gz

 2)运用到每日备份脚本,在脚本中加入time 命令监控时间

vim  table_structure_no.sh 

脚本内容: 

#!/bin/bash
#Description: Oracle database backup
#Version:1.0

starttime=`date +'%Y-%m-%d %H:%M:%S'`

echo "`date`"
#获取 Oracle 的环境变量
source ~/.bash_profile
#设置字符集  解决  EXP-00091 报错信息
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

#获取时间
BATH_TIME=`date +%Y%m%d`

#文件保存总路径
BACKUP_MENU="/home/oracle/backup"
BACKUP_ROUTE="${BACKUP_MENU}/${BATH_TIME}_NO"

if [ ! -d ${BACKUP_ROUTE}  ]
 then
   echo "创建 ${BACKUP_ROUTE}"
   `/usr/bin/mkdir  ${BACKUP_ROUTE}`
   chmod 777 ${BACKUP_ROUTE}
fi

#需要备份的 用户名单
ORACLE_USER="${BACKUP_MENU}/expdp_user.txt"

echo "-----${BATH_TIME} 日,备份开始" >>  ${BACKUP_MENU}/table_structure_result_no.log


for name in `cat ${ORACLE_USER}`
do

#定义 文件名称
FILENAME="${name%%/*}_${BATH_TIME}_hasnodata13.dmp"

echo "*************************************************"
echo "开始备份 ${FILENAME}"
time expdp  "${name}  directory=BACKUP CONTENT=metadata_only dumpfile=${FILENAME} logfile=${FILENAME}.log  compression=all  "

echo "备份完毕 ${BACKUP_ROUTE}/${FILENAME}"


cd ${BACKUP_MENU}

echo "进入 ${BACKUP_MENU} 目录下"

echo "开始压缩文件"

#压缩文件

zip  ${FILENAME}.zip ${FILENAME}  

#${FILENAME}.log 

echo "压缩完毕 ${FILENAME}.zip"

echo "准备删除 ${FILENAME}"

#删除 dmp 文件

rm -rf ${FILENAME}
echo "删除完毕 ${FILENAME}"

mv  ${FILENAME}.zip  ${BACKUP_ROUTE}/
mv  ${FILENAME}.log  ${BACKUP_ROUTE}/

done


echo "*************************************************"


echo "`date`"

endtime=`date +'%Y-%m-%d %H:%M:%S'`

start_seconds=$(date --date="$starttime" +%s);

end_seconds=$(date --date="$endtime" +%s);

echo "本次运行时间: "$((end_seconds-start_seconds))"s"

执行:

sh table_structure_no.sh

 结果截图:

说明:实际运行时间 1分11.147秒。

实验结束:ok 

3.总结

time 命令是linux 中很实用的命令,它可以用来评估脚本、命令或程序的性能。

  • real:实际运行时间。

  • user:用户态下CPU使用时间。

  • sys:内核态下CPU使用时间。

数据流重定向:
标准输入(stdin):代码为0,使用<或<<;

标准输出(stdout):代码为1,使用>或>>;

标准错误输出(stderr):代码为2,使用2>或2>>

exp 加压缩:

exp  用户名/密码@ip  file=>(gzip>/路径/xx.dmp.gz)  log=xx.log  tables=xxx

expdp加压缩:

expdp 用户名/密码@ip  dumpfile=../x.dmp logfile=../x.log  directory=backup compression=all 

 ok  


项目管理--相关知识   

项目管理-项目绩效域1/2-CSDN博客

项目管理-项目绩效域1/2_八大绩效域和十大管理有什么联系-CSDN博客

项目管理-项目绩效域2/2_绩效域 团不策划-CSDN博客

高项-案例分析万能答案(作业分享)-CSDN博客

项目管理-计算题公式【复习】_项目管理进度计算题公式:乐观-CSDN博客

项目管理-配置管理与变更-CSDN博客

项目管理-项目管理科学基础-CSDN博客

项目管理-高级项目管理-CSDN博客

项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)-CSDN博客


Oracle其他文档,希望互相学习,共同进步

Oracle-找回误删的表数据(LogMiner 挖掘日志)_oracle日志挖掘恢复数据-CSDN博客

oracle 跟踪文件--审计日志_oracle审计日志-CSDN博客

ORA-12899报错,遇到数据表某字段长度奇怪现象:“Oracle字符型,长度50”但length查却没有50_varchar(50) oracle 超出截断-CSDN博客

EXP-00091: Exporting questionable statistics.解决方案-CSDN博客

Oracle 更换监听端口-CSDN博客


http://www.niftyadmin.cn/n/5868281.html

相关文章

nss刷题4

[SWPUCTF 2023 秋季新生赛]Pingpingping 看看源码&#xff0c;首先是get传参Ping_ip.exe,然后如果请求了_ping参数&#xff0c;就会执行ping命令&#xff0c;执行三次 <?php highlight_file(__FILE__); error_reporting(0); $_ping $_GET[Ping_ip.exe]; if(isset($_ping…

深度学习奠基作 AlexNet 论文阅读笔记(2025.2.25)

文章目录 训练数据集数据预处理神经网络模型模型训练正则化技术模型性能其他补充 训练数据集 模型主要使用2010年和2012年的 ImageNet 大规模视觉识别挑战赛&#xff08;ILSVRC&#xff09;提供的 ImageNet 的子集进行训练&#xff0c;这些子集包含120万张图像。最终&#xff…

Python游戏编程之赛车游戏6-3

1 “敌人”汽车类的创建 在创建玩家汽车类之后&#xff0c;接下来创建“敌人”汽车类。“敌人”汽车类与玩家类一样&#xff0c;也是包含两个方法&#xff0c;一个是__init__()&#xff0c;另一个是move()。 1.1 __init__()方法 “敌人”汽车类的__init__()方法代码如图1所示…

蓝桥杯好题推荐------蛇形方阵

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 题目链接 P5731 【深基5.习6】蛇形方阵 - 洛谷 解题思路 对于这道题目来说&#xff0c;这道题题目中很重要的就是模拟实现顺时针填入数字的过程&#xff0c;而一个很好的&…

电子科技大学考研复习经验分享

电子科技大学考研复习经验分享 本人情况&#xff1a;本科就读于电科软院&#xff0c;24年2月开始了解考研&#xff0c;24年3月开始数学&#xff0c;9月决定考本院&#xff08;开始全天候图书馆学习&#xff09;并开始专业课学习&#xff0c;11月底开始政治学习&#xff0c;最后…

Mac 版 本地部署deepseek ➕ RAGflow 知识库搭建流程分享(附问题解决方法)

安装&#xff1a; 1、首先按照此视频的流程一步一步进行安装&#xff1a;(macos版&#xff09;ragflowdeepseek 私域知识库搭建流程分享_哔哩哔哩_bilibili 2、RAGflow 官网文档指南&#xff1a;https://ragflow.io 3、RAGflow 下载地址&#xff1a;https://github.com/infi…

AI工具库:技术爱好者装备新势能

在人工智能技术飞速发展的时代&#xff0c;各类 AI 工具层出不穷&#xff0c;为我们的工作和生活带来了前所未有的变革。AI 工具导航&#xff08; https://aidh.net &#xff09;平台&#xff0c;作为一个汇聚众多 AI 工具的宝库&#xff0c;为技术爱好者和专业人士提供了便捷的…

ProGuard加密混淆SpringBoot应用代码

背景 我们的项目是基于SpringCloud架构的微服务应用&#xff0c;采用Docker离线部署方式交付客户&#xff0c;通过授权证书来控制应用的许可功能模块和使用时间。我们已经在代码层已经实现&#xff1a; 基于多维度硬件指纹的绑定验证&#xff0c;cpu id、mac地址、磁盘序列、…