我正在尝试安装 oracle 19c,在安装过程中遇到了与内存相关的问题“[INS-35179] 当前可用内存小于创建数据库所需的可用内存 (6,537MB)”。我仔细检查了所有先决条件,例如 over 2GB free RAM, 10 GB free space on hard disk drive,我尝试寻找此问题的解决方案,但不知道我需要做什么来解决此问题。这是我第一次尝试安装 oracle 13c。这是此问题的附图。
假设我已使用同一用户从不同的 PC 连接到数据库 3 次。Oracle 是否为每个区域创建单独的 PGA 区域,还是只创建一个区域?如果有,它如何处理来自同一用户连接的不同会话并同时执行的多个查询?
oracle database-administration sqlperformance database-performance oracle19c
这个问题源于此,但我遇到了另一个不同的问题。
我正在使用 PL/SQL 生成大文本输出
set serveroutput on size 1000000; -- maximum limit
declare my_text clob;
begin
for c in ( select letter from dummy_table )
loop
my_text := my_text || c.letter || chr(10);
end loop;
dbms_output.put_line(my_text);
end;
Run Code Online (Sandbox Code Playgroud)
在真实的代码中,我当然不只是连接单个字母,字符串更长,并且连接有更多元素,整体也更长。我已经将输出缓冲区大小增加到 1000000(这是最大值),这有所帮助,但是当我进一步扩展串联时,又开始失败 - 但现在出现了与输出大小无关的不同错误消息,但我通过实验知道它确实有效,因为如果我减少行数它就会起作用。
是否可以将 clob 保存到临时表中?clob 是这里使用的正确数据类型吗?
当我尝试运行此代码时
DECLARE
TYPE type_a IS
TABLE OF NUMBER INDEX BY PLS_INTEGER;
output NUMBER := 1;
FUNCTION fun_2 RETURN type_a IS
dum type_a;
BEGIN
SELECT
employee_id
BULK COLLECT
INTO dum
FROM
employees;
RETURN dum;
END fun_2;
PROCEDURE proc_1 AS
BEGIN
NULL;
END;
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
错误报告 - ORA-06550:第 22 行,第 8 列:PLS-00103:在预期以下情况之一时遇到符号“文件结束”:
begin function pragma procedure 06550. 00000 - "line %s, column %s:\n%s" *原因:通常是 PL/SQL 编译错误。*行动:
但是当我最后添加 BEGIN END 时它工作正常
DECLARE
TYPE type_a IS
TABLE OF NUMBER INDEX BY PLS_INTEGER;
output NUMBER := …Run Code Online (Sandbox Code Playgroud) 我的 Oracle 管道功能有问题,我非常想了解发生了什么。我的 Oracle 数据库是版本 19c,在 Red Hat 7.2 上运行并在AL32UTF8为字符集。
让我解释一下这个场景。
\n我有以下两种类型和一种管道函数的设置,以便使用并行进程生成文件,从而可以极大地加快大文件的生成速度。
\n两种类型
\n--\n-- DUMP_PARALLEL_OBJECT (Type) \n--\nCREATE OR REPLACE TYPE CPL_DATA_OUT.dump_parallel_object AS OBJECT\n(file_name VARCHAR2 (128), no_records NUMBER, seq_id NUMBER);\n/\n\n--\n-- DUMP_PARALLEL_OBJECT_NTT (Type) \n--\nCREATE OR REPLACE TYPE CPL_DATA_OUT.dump_parallel_object_ntt AS TABLE OF cpl_data_out.dump_parallel_object;\n/\nRun Code Online (Sandbox Code Playgroud)\n流水线功能
\n这是管道函数,用于获取我可以加入的块中的输出文件,然后使用cat在 Linux 中使用。
CREATE OR REPLACE function CPL_DATA_OUT.fn_generate_parallel_file\n(\np_source IN SYS_REFCURSOR,\np_filename IN VARCHAR2,\np_directory IN VARCHAR2,\np_extension IN VARCHAR2 DEFAULT 'csv',\np_limit IN NUMBER DEFAULT 10000\n) return dump_parallel_object_ntt\npipelined\nparallel_enable (partition p_source by any)\nas\n …Run Code Online (Sandbox Code Playgroud)