当前位置: 首页 > news >正文

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

 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博客

相关文章:

  • 分享httprunner 结合django实现平台接口自动化方案
  • QT各种版本下载安装
  • 【初阶数据结构】星河中的光影 “排” 象:排序(下)
  • 计算机网络————(三)
  • 性能测试基础知识点
  • RGMII(Reduced Gigabit Media Independent Interface)详解
  • 【论文分享02】A brief introduction to weakly supervised learning
  • 如何选择更安全的无人自助管理私人影院物联网框架?
  • 谈谈 ES 6.8 到 7.10 的功能变迁(4)- 聚合功能篇
  • Java中将异步调用转为同步的五种方法
  • 【漫话机器学习系列】105.学习速率(Learning Rate)
  • 第八章:虚拟机模块的整合
  • vue-signature-pad插件实现移动端签字功能(css,js)+将签名照片旋转90度之后的base64码传给后端
  • ThinkJSON:通过强化学习让大型语言模型(LLM)严格遵守JSON模式
  • vscode多文件编译构建(CMake)和调试C++
  • 【C# 变量字符串还原转义字符】
  • 记录一下用docker克隆某授权制定ip的环境恢复
  • Vite + React + TypeScript 全流程开发最新指南
  • 神经网络发展简史:从感知机到通用智能的进化之路
  • 电脑软件:推荐一款非常强大的视频音频转换剪辑工具FFmpeg Batch AV Converter V3.12
  • 网站开发检测用户微信号/推广app有哪些
  • 河北建筑工程网/上海最大的seo公司
  • 怎样做diy家具网站/百度分析
  • wordpress 仿站步骤/seowhy官网
  • wordpress首页显示友链/优化网站的方法有哪些
  • 聊城做wap网站哪儿好/免费制作个人网站