从巴乔博客中看到:
‘并行度为DEFAULT的表进行PDML时有可能导致RAC中的节点重启’‘并行度设置为default时可能会导致PDML ora-12805错误’并行度设置为DEFAULT的表如果进行PDML时,会导致相应的节点重启,DEFAULT在并行度默认是 按cpu_count*parallel_threads_per_cpu来跑的,但是引起节点重启也是比较怪异的。解决办法便是将表的并行度设置为一个 具体的数值。
在建表的时候可以设置表的并行度:
SQL> create table test parallel 10 as select * from emp;
如果建表的时候没有明确指定并行度,那么oracle会自动的根据需要设定并行度。
通过以下语句可以查询一个表的并行度:
SQL> select table_name,degree from user_tables;
使用alter语句可以更改表的并行度:
SQL> alter table bank parallel(degree default);
在执行语句的时候可以查询当前语句的并行度:
SQL> select * from v$px_session;
关于并行度的知识 还得继续看:
http://industry.ccidnet.com/art/321/20061229/991103_1.html
以下内容由eygle网站转帖:
在DBA_TABLES字典表中有一个degree字段,这个字段代表并行查询在数据表上的并行度,在RAC环境中,这个参数还和实例有关。
文档中对于 DEGREE 和 INSTANCES 参数的说明:
DEGREE VARCHAR2(10) Number of threads per instance for scanning the table
INSTANCES VARCHAR2(10) Number of instances across which the table is to be scanned
但是注意,当你使用类似如下查询时,你可能无法获得返回值:
SQL> select table_name from dba_tables where degree='1' or degree='DEFAULT';
no rows selected
我们看一下Degree以及instances的记录方式:
SQL> select degree,length(degree) from dba_tables
2 group by degree;
DEGREE LENGTH(DEGREE)
-------------------- --------------
DEFAULT 10
1 10
SQL>select instances,length(instances) from dba_tables
2 group by instances;
INSTANCES LENGTH(INSTANCES)
-------------------- -----------------
DEFAULT 10
1 10
0 10
Degree和Instances实际上记录了10个字符,左端用空格补齐。
在 dba_tables 的创建语句中,我们可以找到根本原因,以下是这两个字段的定义来源:
lpad(decode(t.degree, 32767, 'DEFAULT', nvl(t.degree,1)),10),
lpad(decode(t.instances, 32767, 'DEFAULT', nvl(t.instances,1)),10),
以上信息来自Oracle10gR2数据库:
SQL> select table_name,owner from dba_tables where degree=' DEFAULT' or instances=' DEFAULT';
TABLE_NAME OWNER
------------------------------ ------------------------------
TEST_EXT2 SYS
分享到:
相关推荐
Oracle Database 19c 是最新的长期版本,支持期限...oracle-database-ee-19c文件分割成 三个 压缩包,必须集齐 三个 文件后才能一起解压一起使用: Oracle Database 19c (oracle-database-ee-19c.x86_64.part3.rar) ...
oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm 预安装RPM: 访问Oracle Linux 9的软件源,如x86对应的是: https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/, 找到对应Oracle 19c的预...
Oracle Database 21c 是最新的版本;...oracle-database-ee-21c-1.0-1.ol8文件分割成 三个 压缩包,必须集齐 三个 文件后才能一起解压一起使用: Oracle Database 21c (oracle-database-ee-21c-1.0-1.ol8.part3.rar) ...
2. 解压 "oracle-xe-11.2.0-1.0.x86_64.rpm.zip",获取 "oracle-xe-11.2.0-1.0.x86_64.rpm" 文件。 3. 使用 `rpm` 命令安装 RPM 包,可能需要以 root 权限执行。 4. 配置数据库参数,如监听端口、服务名等。 5. 启动...
Oracle Database 21c 是最新的版本;...oracle-database-ee-21c-1.0-1.ol8文件分割成 三个 压缩包,必须集齐 三个 文件后才能一起解压一起使用: Oracle Database 21c (oracle-database-ee-21c-1.0-1.ol8.part3.rar) ...
oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
为了简化这一过程,Oracle Linux 6 64位系统提供了一个名为"oracle-rdbms-server-11gR2-preinstall"的工具包。这个工具包自动化地处理了一系列预安装任务,极大地减轻了DBA的工作负担,提升了安装效率。以下是这个...
docker oracle的离线镜像docker-wnameless-oracle-xe-11g.tar,可以导入到内网(无互联网)环境使用,该包是基于wnameless的Oracle打包的,由于网速慢,我是使用 git clone ...
Oracle Database 21c 是最新的版本;...oracle-database-ee-21c-1.0-1.ol8文件分割成 三个 压缩包,必须集齐 三个 文件后才能一起解压一起使用: Oracle Database 21c (oracle-database-ee-21c-1.0-1.ol8.part3.rar) ...
tableau10.0-oracle-driver-x64.msi,tableau开发oracle必须包
oracle-rdbms-server-11gR2-preinstall-1.0-4.el7.x86_64.rpm
oracle-database-server-12cR2-preinstall-1.0-3.el7.x86_64.rpm
flink-sql-connector-oracle-cdc 2.5-SNAPSHOT
Oracle Database Server 12cR2 Preinstall 是一个专为在x86_64架构的Linux系统上安装Oracle数据库12c Release 2 (12.2)而设计的预配置软件包。这个预安装包的主要目的是简化Oracle数据库服务器的安装流程,预先配置...
c3p0-oracle-thin-extras-0.9.2.1
oracle-database-preinstall-19c-1.0-2.el7.x86_64 .rpm,这是linux版本的,win请勿下载
cx_Oracle-8.1.0-cp36-cp36m-win_amd64.whl
cx_Oracle-5.1.3-11g.win-amd64-py2.7.exe Python 2.7 lib for Oracle 11g.
Filename, size cx_Oracle-7.2.3-cp37-cp37m-win_amd64.whl (188.0 kB) File type Wheel Python version cp37 Upload date Oct 1, 2019 Hashes
cx_Oracle-7.3.0-cp35-cp35m-win_amd64