AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[oracle-11g](dba)

Martin Hope
Kevin Bai
Asked: 2022-02-15 17:56:55 +0800 CST

为什么关系数据库管理系统中不能存在多对多关系?

  • -1

在阅读 Joan Casteel 的 Oracle 11g Sql 时,作者提到关系数据库中不存在多对多关系。我想知道这个事实背后的原因是什么。

oracle-11g database-design
  • 1 个回答
  • 141 Views
Martin Hope
Daniel Grindstaff
Asked: 2021-01-05 17:38:32 +0800 CST

IMPDP 作业失败并出现 ORA-54002

  • 0

我正在尝试将转储文件从 11g 数据库导入 19c 数据库实例。我按照 Oracle 的建议以 SYSTEM 身份运行该作业。这项工作开始了,但很快就变成了失败的 SQL 错误,这些错误都有相同的:

ORA-54002: only pure functions can be specified in a virtual column expression. 

我对该错误进行了一些研究,并发现一些迹象表明这是在 Oracle 12 之后解决的问题或错误。以下博客解决了该问题:

从 Oracle 12.2 开始,正则表达式函数被认为是非确定性的

...并讨论了一种涉及重新编码 SQL 的解决方法。

我正在从转储中创建一个 DDL 文件,以便为我提供所有可以使用的代码。

我的问题是:

  • 是否有替代方法可以重写转储文件中的所有代码并针对 impdp 作业运行该代码?
  • 这还有可能吗?
  • 是否有其他选项可以从 11g 实例创建新的转储文件,该文件可以与 impdp 一起使用到 19c?
oracle-11g impdp
  • 1 个回答
  • 156 Views
Martin Hope
Pantea
Asked: 2020-07-21 22:22:39 +0800 CST

如何在 PL-SQL 开发人员的“回收站”部分中找出最新版本的表

  • 3

Pantea在我的recyclebin 部分中有三个同名的表,pl-sql developer我不知道如何找到最后一个被删除的表(我的意思是表的最后一个版本)。

在此处输入图像描述

我不能restore全部都因为在表部分中不能有同名的表,我也看不到properties回收站中的表。在回收站中查找最新版本表的最佳方法是什么?

重要的是,考虑一下表有近 300 多列的情况,并且逐个还原表以检查它是否是最新的,这并不是一个好的解决方案。我想知道是否有一种解决方案可以百分百从回收站返回最新版本的表。

提前致谢

oracle oracle-11g
  • 1 个回答
  • 62 Views
Martin Hope
Kathir E
Asked: 2020-06-23 01:00:33 +0800 CST

如何在不从 Oracle 中的右表中获取重复的情况下加入两个表

  • 0

表详细信息:

CREATE TABLE Test2 (
  ID INT,
  Value INT,
  other INT);
  
CREATE TABLE Test1 (
  ID INT,
  TYPE INT,
  other INT);
  
INSERT INTO Test2 VALUES (123456, 5, 12);


INSERT INTO Test1 VALUES (123456, 00, 2);
INSERT INTO Test1 VALUES (123456, 01, 6);
INSERT INTO Test1 VALUES (123456, 02, 4);

INSERT INTO Test1 VALUES (987654, 00, 7);
INSERT INTO Test1 VALUES (987654, 01, 8);

INSERT INTO Test1 VALUES (456789, 00, 6);
INSERT INTO Test1 VALUES (456789, 01, 16);

这是我用来避免表测试重复的查询

SELECT DISTINCT t1.ID, t1.TYPE, t1.other, t2.value  
FROM Test1 t1 INNER JOIN Test2 t2 ON t1.ID = t2.ID
GROUP BY t1.ID, t1.TYPE, t1.other, t2.value
ORDER BY t1.ID ASC;

查询结果:

ID  TYPE    other   value
123456  0   2   5
123456  1   6   5
123456  2   4   5

描述:

预期结果是,当我从表中获取匹配记录时。应该从左表(Test1)中获取所有记录,并避免从右表(Test2)中重复记录。

预期的查询结果是,

ID  TYPE    other   value
123456  0   2   5
123456  1   6   
123456  2   4

SQL小提琴链接

http://sqlfiddle.com/#!9/8953fc/29

Criteria 当有 ID 匹配时,应该从左表(Test1)和右表(Test2)中获取所有匹配的记录,应该得到不同的记录。

oracle oracle-11g
  • 1 个回答
  • 2531 Views
Martin Hope
Jaw Mendoza
Asked: 2020-06-01 23:40:26 +0800 CST

查询以获取重复记录,然后通过输入序列号对其进行更新

  • 1

我试图获取所有具有重复数据的记录并通过输入序列号来更新它。

假设我有这些数据:

+-------------------------------------------+
| first_name | last_name | sequence_number  |
+-------------------------------------------+
| John       | Smith     | NULL             |
| John       | Smith     | NULL             |
| Jane       | Doe       | NULL             |
| Jane       | Doe       | NULL             |
| Jane       | Doe       | NULL             |
| Rock       | Lee       | NULL             |
+-------------------------------------------+

我的预期输出是这样的:

+-------------------------------------------+
| first_name | last_name | sequence_number  |
+-------------------------------------------+
| John       | Smith     | 1                |
| John       | Smith     | 2                |
| Jane       | Doe       | 1                |
| Jane       | Doe       | 2                |
| Jane       | Doe       | 3                |
| Rock       | Lee       | NULL             |
+-------------------------------------------+
oracle oracle-11g
  • 1 个回答
  • 27 Views
Martin Hope
mthsmb
Asked: 2020-03-13 09:50:25 +0800 CST

Oracle 查询获取模式名称、大小和创建日期

  • 0

我在使用以下输出、模式名称、大小和创建日期进行查询时遇到问题。我是 Oracle 的新手,经过 4 个多小时的搜索,我决定在这里创建一个问题。

我发现以下返回名称和大小的查询。

select owner, sum(bytes)/1024/1024 Size_MB from dba_segments
group by owner;
oracle oracle-11g
  • 1 个回答
  • 2167 Views
Martin Hope
mzk1
Asked: 2020-02-27 15:35:49 +0800 CST

使用超过 22 个字符的输出(to_char)日期格式字符串是否安全(ORACLE 11)

  • 1

ORACLE SQL 手册(主要 11.1 SQL 手册的第 2-58 页)指出:

日期时间格式模型的总长度不能超过 22 个字符。

但是,我已经能够为 TO_CHAR 使用具有更多字符的格式字符串,几乎所有字符都是文本“文字”。

这安全吗(ORACLE 11)?(也许限制不包括非日期文字?)

例如:

SELECT TO_CHAR(sysdate,
       '"SOMESTRING_"YYYYMMDD"_SOME LOTS MORE STRINGS OF A FILENAME PREFIX"') 
FROM DUAL;

结果:

SOMESTRING_20200226_SOME LOTS MORE STRINGS OF A FILENAME PREFIX

它也适用于表格中的日期。

我想这样做的原因是在数据库列中构建一个文件名模板;否则我需要将日期格式放在单独的字段中。

PS请告诉我这是否应该在不同的社区提出。我以前从来没有问过问题,所以我没有名誉可以失去:-)。对人好点。

oracle oracle-11g
  • 2 个回答
  • 82 Views
Martin Hope
Dominykas Česonis
Asked: 2020-02-22 05:04:33 +0800 CST

ORACLE 表空间用户得到 100% 使用

  • 0

我正面临 oracles 用户表空间的问题。它会自动快速增长。那里存储了什么样的数据?当它达到 100% 的已用空间时会发生什么?有没有办法减少这个表空间中的数据量?目前我们有 11 MB 可用空间,总共 33 GB。删除它是个好主意吗?怎么做?谢谢。

oracle oracle-11g
  • 2 个回答
  • 1239 Views
Martin Hope
Dortimer
Asked: 2020-01-30 12:10:28 +0800 CST

MOVE COMPRESS 如何影响未来的数据?

  • 1

我正在使用 Oracle 11g,并且要求“[C] 压缩我们的数据 [原文如此]”。我想知道压缩将如何影响未来的数据。

实际的 PL/SQL 不是问题(类似于以下内容:) ALTER TABLE SOME_TABLE MOVE COMPRESS;,但 DBA 告诉我,它MOVE COMPRESS只会压缩现有数据,并且任何进一步的事务都需要显式压缩。运行该行后,查看表的存储属性,表压缩已正确设置以及所有内容,但这让我相信这将在后台继续进行。

我想我的问题是:我需要MOVE COMPRESS在新事务之后运行(或类似的东西),还是 Oracle 会压缩数据?如果没有,我可以修改我的ALTER TABLE声明来强制执行吗?

oracle oracle-11g
  • 1 个回答
  • 98 Views
Martin Hope
lepe
Asked: 2019-12-23 22:20:29 +0800 CST

Oracle:与 sqlplus 连接,但不是来自 perl

  • 0

我需要从 perl 脚本连接到 Oracle 数据库,它在我的测试和使用 sqlplus 时有效,但在生产中无效。这是情况的总结:

Oracle 11g XE (11.2.0.2.0) : (Test environment)
   sqlplus : OK
   perl    : OK

Oracle 11g    (11.2.0.4.0) : (Production environment)
   sqlplus : OK
   perl    : ERROR

报告的错误是:Connect failed because target host or object does not exist

我已经三次检查了连接设置并且没有弄错。

规格:

  • 测试服务器:Windows Server 2012
  • 生产服务器:Windows Server(未知版本)
  • 客户端:Ubuntu 18.04 x64
  • Perl:5.26.1
  • SQL*Plus:12.2.0.1.0

SQL*Plus 命令:

sqlplus64 user/[email protected]/db_sid

Perl 脚本:

#!/usr/bin/perl
use DBI;
$driver = "Oracle";
$sid    = "db_sid";
$host   = "192.168.0.1";
$dsn    = "DBI:$driver:sid=$sid;host=$host";
$dbh    = DBI->connect($dsn, "user", "password");

注意:直到下个月,我才能在生产环境中测试或执行任何东西。

可能是什么问题?

oracle oracle-11g
  • 1 个回答
  • 462 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve