SQLLDR 如何管理 OS 上的多个进程?
How does SQLLDR manages multiple processes on an OS?
在SQL加载器中,我想问一下有没有人知道OS中的进程一次可以启动的限制?
例如,我有代码可以分拆 20 个进程同时加载 20 组数据,并且每个进程分拆一个新的 SQL 加载器。
在 oracle 中每个都设置为相同的 table。所以在第一次调用时,OS 上的 SQL Loader.exe 被赋予 20 个要加载的内容。
这会导致 20 个单独的 sqlldr 进程实例吗?还是 SQL Loader 对每个对单个进程的调用进行排队?我正在尝试确定此过程中是否存在瓶颈,以及我是否应该建立一种方法来控制每个进程何时上传而不是轰炸 sqlldr。
ctl文件不是直接加载的,table不是外部的。
Oracle 12 和 Red Hat Linux 服务器。
我看过这个:Does Oracle sqlldr process multiple INFILE in parallel 但我不确定解释该答案的文档在哪里,我一直在寻找。
SQL loader 是单进程。如果要并行化加载,则需要 运行 多个 sql 加载程序并发处理。您还需要在控制文件中使用 parallel=true 指令。
但是,在很多情况下,使用外部表会更容易、更高效。
在SQL加载器中,我想问一下有没有人知道OS中的进程一次可以启动的限制?
例如,我有代码可以分拆 20 个进程同时加载 20 组数据,并且每个进程分拆一个新的 SQL 加载器。
在 oracle 中每个都设置为相同的 table。所以在第一次调用时,OS 上的 SQL Loader.exe 被赋予 20 个要加载的内容。
这会导致 20 个单独的 sqlldr 进程实例吗?还是 SQL Loader 对每个对单个进程的调用进行排队?我正在尝试确定此过程中是否存在瓶颈,以及我是否应该建立一种方法来控制每个进程何时上传而不是轰炸 sqlldr。
ctl文件不是直接加载的,table不是外部的。
Oracle 12 和 Red Hat Linux 服务器。
我看过这个:Does Oracle sqlldr process multiple INFILE in parallel 但我不确定解释该答案的文档在哪里,我一直在寻找。
SQL loader 是单进程。如果要并行化加载,则需要 运行 多个 sql 加载程序并发处理。您还需要在控制文件中使用 parallel=true 指令。
但是,在很多情况下,使用外部表会更容易、更高效。