cursor_sharing参数对于expdp的性能影响

本文介绍了一个关于 Oracle 数据库中 cursor_sharing 参数设置为 similar 的情况对 EXPDP 性能的影响案例。该参数导致 SQL 执行计划发生变化,使得原本 28 分钟完成的 EXPDP 操作延长至 1 小时。通过调整此参数,可以有效提高 EXPDP 的效率。

客户的数据库使用了cursor_sharing=similar参数,经过测试,发现这一参数极大影响了expdp的性能。
其本质原因是SQL的执行计划发生了改变。

在正常情况下28分钟完成的EXPDP操作,在similar模式下用了整整1个小时:

[oracle@stat backup]$ expdp smg/smg directory=backup dumpfile=sms2.dmp schemas=SMGSTAT

Export: Release 10.2.0.2.0 - Production on Wednesday, 29 December, 2010 15:14:30
Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
Starting "SMGSTAT"."SYS_EXPORT_SCHEMA_02":  smg/******** directory=backup dumpfile=sms2.dmp schemas=SMG
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 22.57 GB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/DB_LINK
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/VIEW/VIEW
Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/JOB
. . exported "SMGSTAT"."MM_HIS"                          3.238 GB 15465541 rows
. . exported "SMGSTAT"."MM_HIS"                          1.317 GB 16579390 rows
.......
. . exported "SMGSTAT"."TEMP_SMSSTAT_MOMT_HOUR"              0 KB       0 rows
. . exported "SMGSTAT"."T_BMS_U2R"                           0 KB       0 rows
Master table "SMGSTAT"."SYS_EXPORT_SCHEMA_02" successfully loaded/unloaded
******************************************************************************
Dump file set for SMGSTAT.SYS_EXPORT_SCHEMA_02 is:
  /data3/backup/sms2.dmp
Job "SMGSTAT"."SYS_EXPORT_SCHEMA_02" successfully completed at 16:17:55

由于cursor_sharing是一个动态参数,所以可以在执行expdp之前进行修改,然后执行导出:

SQL> show parameter cursor

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cursor_sharing                       string      EXACT
cursor_space_for_time                boolean     FALSE
open_cursors                         integer     300
session_cached_cursors               integer     20
SQL> alter system set cursor_sharing=similar scope=memory;

System altered.

这是最近遇到的cursor_sharing的又一重要不利影响。

### Vivaldi天线的缺点分析 Vivaldi天线是一种超宽带(UWB)天线,因其宽频带特性和良好的方向性而被广泛应用于雷达、无线通信等领域。然而,这种天线也存在一些固有的缺陷和局限性。 #### 1. 频率响应不均衡 Vivaldi天线的设计通常依赖于渐变槽线结构来实现宽频带特性,但由于其物理尺寸和材料限制,在某些频率范围内可能会表现出较差的阻抗匹配效果[^2]。这可能导致信号传输效率降低,尤其是在高频段或低频段边缘区域。 #### 2. 尺寸较大 为了满足宽频带工作需求,Vivaldi天线往往需要较大的物理面积以支持所需的渐变槽线长度。这对于空间受限的应用场景来说是一个明显的劣势。例如,在便携设备或小型化系统中部署Vivaldi天线可能面临挑战。 #### 3. 制造工艺复杂度高 由于Vivaldi天线涉及复杂的几何形状设计(如指数型或对数周期型槽线),制造过程中容易受到加工精度的影响。任何微小偏差都可能导致性能下降甚至失效。因此,高质量生产成本较高,并且对生产设备和技术水平提出了严格要求。 #### 4. 辐射模式稳定性不足 尽管Vivaldi天线具有较好的方向性,但在整个操作频带上保持一致性的辐射图案较为困难。随着频率变化,主波束的方向可能发生偏移,从而影响目标检测准确性或者数据链路质量。 ```python import numpy as np import matplotlib.pyplot as plt # 示例代码展示Vivaldi天线仿真过程中的参数设置部分 frequencies = np.linspace(1e9, 10e9, 500) # 频率范围 (Hz) impedance_mismatch_loss = [] # 存储不同频率下的失配损耗 for freq in frequencies: mismatch_factor = calculate_impedance(freq) / ideal_impedance() loss_db = -20 * np.log10(abs(mismatch_factor)) impedance_mismatch_loss.append(loss_db) plt.figure(figsize=(8, 6)) plt.plot(frequencies/1e9, impedance_mismatch_loss) plt.title('Impedance Mismatch Loss vs Frequency') plt.xlabel('Frequency (GHz)') plt.ylabel('Loss (dB)') plt.grid(True) plt.show() ``` 上述Python脚本片段用于模拟计算并绘制Vivaldi天线在整个频谱内的阻抗失配损失曲线图,有助于直观理解该类问题所在位置及其严重程度。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值