做一个 initial 大于 uniform size 乘以 minextents 的实验,总结出initial extent的分配规律

本文通过实验分析,探究了INITIALEXTENT大于UNIFORMsize乘以MINEXTENTS时,Oracle数据库中表空间extent分配的规律。详细记录了初始化extent的分配模式,并通过实例演示了分配过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文是原创文章,转载请注明出处:http://blog.youkuaiyun.com/msdnchina/article/details/43836609

做一个 INITIAL EXTENT 大于 UNIFORM size 乘以 MINEXTENTS 的实验。总结出initial extent的分配规律

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> alter system set deferred_segment_creation=false;

System altered.

SQL> show parameter defer

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation            boolean     FALSE

SQL> create tablespace test_uni_sz_1m 
  2  datafile '/u01/app/oracle/oradata/test/test_uni_sz_1m_01.dbf' size 200m
  3  extent management local uniform size 1m;

Tablespace created.

SQL> create table test_tab_3 (col1 varchar2(2)) tablespace test_uni_sz_1m storage(initial 10m minextents 3); 

Table created.

SQL> select bytes from dba_extents where segment_name = 'TEST_TAB_3' and owner = 'SCOTT';

     BYTES
----------
   1048576
   1048576
   1048576
   1048576
   1048576
   1048576
   1048576
   1048576
   1048576
   1048576
   1048576

     BYTES
----------
   1048576

12 rows selected.

SQL> show user    
USER is "SCOTT"
SQL> 

结果是分配了12个大小为1M(即:uniform size)的 extents。

貌似是前10个 1M 对应minextents的第一个, 后2个1M对应 minextents的第二个和第三个。

以下是一个简单的 Simulink 仿真实验示例,其中包含一个简单的 PID 控制器和一个带有扰动的物理系统: 1. 首先,在 MATLAB 中创建一个新的 Simulink 模型。在 Simulink 库浏览器中选择 "Sources",将 "Step" 模块拖放到模型中。 2. 将 "Step" 模块连接到一个 "PID Controller" 模块。将 "PID Controller" 模块连接到一个 "Transfer Function" 模块。 3. 将 "Transfer Function" 模块连接到一个 "Scope" 模块,并将 "Scope" 模块连接回 "PID Controller" 模块。 4. 在 "Step" 模块的参数中,将 "Step time" 设置为 0, "Initial value" 设置为 0, "Final value" 设置为 1。 5. 在 "PID Controller" 模块的参数中,将 "Proportional gain"、"Integral gain" 和 "Derivative gain" 设置为合适的值。 6. 在 "Transfer Function" 模块的参数中,输入物理系统的传递函数,例如 "1 / (s^2 + 2s + 1)"。 7. 在模型中添加一个 "Noise" 模块,将其连接到 "Transfer Function" 模块的输。 8. 在 "Noise" 模块的参数中,选择 "Uniform" 噪声类型,并设置其幅度和频率。 9. 在 "Scope" 模块的参数中,调整 "Time range" 和 "Y-range" 以适应输信号。 10. 运行模型并观察输结果。 以下是 MATLAB 代码实现: ```matlab % 创建新的 Simulink 模型 model = 'mySimulinkModel'; open_system(new_system(model)); % 添加 "Step" 模块 add_block('simulink/Sources/Step', [model '/Step']); set_param([model '/Step'], 'Time', '0', 'Before', '0', 'After', '1'); % 添加 "PID Controller" 模块 add_block('simulink/Discrete/Discrete PID Controller', [model '/PID Controller']); set_param([model '/PID Controller'], 'P', '0.5', 'I', '0.1', 'D', '0.01'); % 添加 "Transfer Function" 模块 add_block('simulink/Continuous/Transfer Fcn', [model '/Transfer Function']); set_param([model '/Transfer Function'], 'Numerator', '1', 'Denominator', '[1 2 1]'); % 添加 "Scope" 模块 add_block('simulink/Sinks/Scope', [model '/Scope']); % 连接模块 add_line(model, 'Step/1', 'PID Controller/2'); add_line(model, 'PID Controller/1', 'Transfer Function/1'); add_line(model, 'Transfer Function/1', 'Scope/1'); add_line(model, 'Scope/1', 'PID Controller/1'); % 添加 "Noise" 模块 add_block('simulink/Sources/Noise', [model '/Noise']); set_param([model '/Noise'], 'Distribution', 'Uniform', 'Amplitude', '0.1', 'Frequency', '10'); % 连接 "Noise" 模块 add_line(model, 'Transfer Function/1', 'Noise/1'); add_line(model, 'Noise/1', 'Scope/2'); % 运行模型 sim(model); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值