Oracle11g PLSQL:查询以了解有多少CPU可用于并行子句
我不确定使用sql语句是否可以做到这一点。 我正在寻找sql查询,以了解并行子句中包含的硬件上可用的CPU数量。我们没有访问Linux环境的权限,因此我们正在寻找任何可能的途径来了解这个值。可以使用SQL吗?请建议 实际上,我的索引创建脚本比预期的时间要长,它是用“nologgingparallelcompress”子句实现的 请建议是否保留数字“N”并用压缩条款Oracle11g PLSQL:查询以了解有多少CPU可用于并行子句,oracle11g,Oracle11g,我不确定使用sql语句是否可以做到这一点。 我正在寻找sql查询,以了解并行子句中包含的硬件上可用的CPU数量。我们没有访问Linux环境的权限,因此我们正在寻找任何可能的途径来了解这个值。可以使用SQL吗?请建议 实际上,我的索引创建脚本比预期的时间要长,它是用“nologgingparallelcompress”子句实现的 请建议是否保留数字“N”并用压缩条款 Oracle如何管理并行度,以防在PARALLEL子句中遗漏CPU信息的数量 在sqlplus中,您可以使用下面的命令查看cpu的数
Oracle如何管理并行度,以防在PARALLEL子句中遗漏CPU信息的数量 在sqlplus中,您可以使用下面的命令查看cpu的数量
show parameter CPU_COUNT;
SQL> show parameter CPU_COUNT;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cpu_count integer 2
或者,您可以查询v$parameter
以获得相同的值
SQL> select value from v$parameter where name like 'cpu_count';
VALUE
--------------------------------------------------------------------------------
2
使用NOLOGGING PARALLEL COMPRESS
创建索引是可选的,但在使用时会带来一些值。压缩索引节省空间并减少CPU时间,因为它们占用更少的空间。如果你必须扫描100个数据块——做100个锁存,100个一致的数据块需要一定数量的CPU。现在,如果它是压缩的——你必须像以前一样做很多60块,60%的CPU。此外,每个叶块存储更多索引项
有关oracle如何并行工作,请阅读以下内容:
在sqlplus中,您可以使用以下命令查看cpu数量
show parameter CPU_COUNT;
SQL> show parameter CPU_COUNT;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cpu_count integer 2
或者,您可以查询v$parameter
以获得相同的值
SQL> select value from v$parameter where name like 'cpu_count';
VALUE
--------------------------------------------------------------------------------
2
使用NOLOGGING PARALLEL COMPRESS
创建索引是可选的,但在使用时会带来一些值。压缩索引节省空间并减少CPU时间,因为它们占用更少的空间。如果你必须扫描100个数据块——做100个锁存,100个一致的数据块需要一定数量的CPU。现在,如果它是压缩的——你必须像以前一样做很多60块,60%的CPU。此外,每个叶块存储更多索引项
有关oracle如何并行工作,请阅读以下内容:
如果指定了PARALLEL子句,但未列出并行度,则对象将获得默认DOP。默认并行使用公式根据系统配置确定DOP,如下所示:
- 对于单个实例,DOP=PARALLEL\u THREADS\u PER\u CPU x CPU\u COUNT
- 对于Oracle RAC配置,DOP=并行线程每CPU x CPU计数x实例计数
SQL> SELECT name, value FROM v$parameter WHERE UPPER(name) IN ('CPU_COUNT','PARALLEL_THREADS_PER_CPU');
如果指定了PARALLEL子句,但未列出并行度,则对象将获得默认DOP。默认并行使用公式根据系统配置确定DOP,如下所示:
- 对于单个实例,DOP=PARALLEL\u THREADS\u PER\u CPU x CPU\u COUNT
- 对于Oracle RAC配置,DOP=并行线程每CPU x CPU计数x实例计数
SQL> SELECT name, value FROM v$parameter WHERE UPPER(name) IN ('CPU_COUNT','PARALLEL_THREADS_PER_CPU');
非常感谢@XING的宝贵建议。非常感谢@XING的宝贵建议。