我的 ORACLE (10g) sqlnet.ora 有SQLNET.AUTHENTICATION_SERVICES=(NTS)
. 我需要验证没有客户端使用 Windows 身份验证进行连接。接下来我可以检查什么以确保他们没有?
我有一个 Oracle 12.1.0.2 数据库,它通过 dblink 连接到一个 Oracle 10.2.0.3.0 数据库。我正在将 Oracle 12.1.0.2 数据库升级到 19c (12.2.0.3)。
我到 Oracle 10.2.0.3.0 数据库的 dblink 是否会继续工作?
Oracle 10 标准:
我有许多基于预建表的物化视图。
这些是通过来自一个主数据库的链接从远程数据库快速刷新的。
它们通常工作正常,但有时在数据库服务器被退回时需要重新创建视图。
现在将远程(复制的)表与主表进行比较表明,复制的表中缺少一些记录。重新创建物化视图并不能解决这个问题(或手动刷新它)。快速刷新这些的作业没有显示错误。
解决此问题的程序是什么?我是否需要删除并重新生成主表上的物化视图日志?
附加信息:
好的,删除并重新创建物化视图日志并不能解决此问题。
我想我可以手动复制记录,但我认为会有一种更通用的方法来修复。如果complete refresh
是答案,我知道它首先会截断表格,如果可能的话,我真的很想避免这种情况。
根据要求,这是创建物化视图的脚本:
CREATE MATERIALIZED VIEW AUTO_EVENT_DEFN
ON PREBUILT TABLE
USING INDEX
TABLESPACE DATA1
PCTFREE 10
INITRANS 2
STORAGE
(
INITIAL 81920
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
)
REFRESH
NEXT SYSDATE + 1/(24*60)
FAST
WITH PRIMARY KEY
USING DEFAULT LOCAL ROLLBACK SEGMENT
DISABLE QUERY REWRITE AS
select aed_rid, name, description, max_check_freq_sec, max_result_freq_sec, header, footer, subject, html_format,
report_group, trigger_event, max_lines, html_base_size, ins_or_update, active, valid, defn_type, cust_req, last_modified,
modified_by, sum_cols, report_delay_secs, process_queue, sql_string, report_security, results_type, multi_loc
from auto_event_defn@kitlive;
我正在将 Oracle 数据库转换为 PostgreSQL 数据库。
我使用的脚本将所有 Oracle 的DATE
列都转换为TIMESTAMPS
,但我怀疑其中大部分不包含任何时间数据并且可以转换为 PostgreSQLDATE
数据类型。
为了确保这一点,我在 Oracle 上使用了以下查询:
SELECT myDate, TRUNC(myDate, 'DDD') from myTable where TRUNC(myDate, 'DDD') <> myDate;
这似乎工作正常;在大多数情况下,我返回 0 行。但是对于某些表,我得到了一些毫无意义的结果:
trunc(… myDate
17/07/95 17/07/95
24/08/42 24/08/42
29/06/02 29/06/02
26/07/88 26/07/88
更新:我的 SQL 客户端没有显示完整的值,有些行确实有一些时间数据。然而,上面几行实际上是:
trunc(… myDate
17/07/5595 00:00:00 17/07/5595 00:00:00
24/08/5542 00:00:00 24/08/5542 00:00:00
29/06/5602 00:00:00 29/06/5602 00:00:00
26/07/5588 00:00:00 26/07/5588 00:00:00
显然这些是拼写错误,但我不知道为什么我的查询会返回它们。
我想知道如何检查特定列中已用字节数的最大浮点值是多少。
Oracle 数据库版本为 10.2。
我想加入两个表(它们称为寄存器和读取)。结果我想获得 4 列,对应于 Registers ID。
根据下一个示例,通过连接表,我获得了 2 行。在某些情况下,我可能会找到/获得 4 行,因为它们存在于 Reads 表中。
表:寄存器
ID Number Prod_ID
331 01 112233
332 02 112233
333 03 112233
334 04 112233
表:读取
Read_Id Register_Id
011 331
012 332
我使用此查询链接连接两个表:
SELECT rg.ID
FROM Reads rd LEFT JOIN Registers rg on rd.Register_ID = rg.ID
WHERE rg.Prod_ID = 112233;
我的结果是下一个:
ID
331
332
我真正想要的是只获取一行,将第一个结果分配给第一列,第二个结果分配给第二列,依此类推。此外,我想添加一个额外的列,显示有多少列包含信息。
预期结果:
RegisterID1 RegisterID2 RegisterID3 RegisterID4 Count
331 332 2
有什么简单的方法可以做到这一点?非常感谢!
我正在准备从 Oracle 数据库迁移到 SQLite 数据库。我想知道 Oracle 数据库中所有使用的数据类型,以便我可以在 SQLite 中检查相同的数据类型。
我确信使用 Information_Schema 似乎是正确的方法,但我不知道如何开始。
使用的 Oracle DB 版本是 10g (10.2)。
我提前感谢。
我需要一些帮助。
我们在 windows 2008R2 机器上安装了 Oracle 10.2.0.5.0。
问题是我们的 IT 部门更改了该机器的域。我尝试编辑我们的 tnsnames.ora 和 listner.ora 文件并重新启动侦听器服务。
我可以使用 sqldeveloper 远程连接到数据库,但是如果我尝试通过我们使用 BDE 的遗留应用程序连接,我会收到 ORA-03114:未连接到 ORACLE。
除此之外,当我尝试执行 imp 命令或尝试使用框上的 sqlplus 命令登录时,我收到以下错误。
ORA-12514: TNS: 侦听器当前不知道连接描述符中请求的服务
所以我相信我在这里错过了一些东西。我也试过这个 http://www.oralytics.com/2011/03/changing-domain-of-oracle-database.html 但是我收到了一条试图删除回购的警告,并收到了一个错误试图创建它。
lsnctl状态
LSNRCTL for 32-bit Windows: Version 10.2.0.5.0 - Production on 24-JAN-2018 10:48
:20
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 10.2.0.5.0 - Produ
ction
Start Date 24-JAN-2018 10:39:51
Uptime 0 days 0 hr. 8 min. 29 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File C:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
Listener Log File C:\oracle\product\10.2.0\db_1\network\log\listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MYCOMPUTERNAME.myNewDomain)(POR
T=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl.myNewDomain" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB.myNewDomain" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orcl_XPT.myNewDomain" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
listner.ORA文件
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = MYCOMPUTERNAME.myNewDomain)(PORT = 1521))
)
)
TNSNAMES.ora
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = MYCOMPUTERNAME.MYNEWDOMAIN)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
更新: 添加了我的 SQLNET.ORA 文件 # sqlnet.ora 网络配置文件: C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora # 由 Oracle 配置工具生成。
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
NAMES.DEFAULT_DOMAIN = MYCOMPUTERNAME.MYCOMPUTERDOMAIN
我很感激你能给我的任何帮助。
我需要 10g RAC 软件 (Solaris 11 SPARC) 进行审计。
它不再在 OTN 上。我打开了一个 SR,但它花了很长时间,然后他们给了我错误的 O/S。
你知道还有其他地方可以得到它吗?
我已经研究了网络,但我找不到与我完全相同的情况,所以我发布了这条消息。
我正在通过远程桌面连接连接到远程服务器(Win2k3 服务器)。此服务器已安装(从 v$version 中选择 *):
- Oracle 数据库 10g 企业版 10.2.0.5.0 版 - 产品
- PL/SQL 版本 10.2.0.5.0 - 生产
- 核心 10.2.0.5.0 生产
- 用于 32 位 Windows 的 TNS:版本 10.2.0.5.0 - 生产
- NLSRTL 版本 10.2.0.5.0 - 生产
运行这两个句子都会返回错误:
c:\> sqlplus
SQL> conn / as sysdba
Insufficient privileges
SQL> connect system/****
Account locked
远程计算机是安装数据库的地方,所以我没有连接到远程数据库。windows 用户帐户属于 Administrator 和 Ora_DBA Windows 组。
Db 只有一个用户可用(我们开发的应用程序使用的那个),但它没有足够的权限来更改 SYSTEM 帐户并解锁它。
我不知道我还能做什么,因为我无法以管理员身份连接到 de db。我希望我已经为我的问题提供了足够的数据,如果我遗漏了什么,请询问。
编辑:我再次检查了 Windows 用户成员资格:管理员、ora_dba、用户和“远程工作场所用户”(希望我已经翻译了最后一项)。
PWD%ORACLE_SID%.ora
文件不存在(假设这是正确的)。
EDIT2:我正在连接到本地数据库。我找到了 3 个安装的 SQLPLUS:一个来自 Oracle Forms 6i(是的,我知道它确实是旧版本),另一个来自 Oracle 10 客户端,最后一个来自 Oracle 10 DB。HKLM/SOFTWARE/ORACLE
正如我在评论中所读到的,我不知道在 中寻找 ORACLE_HOME 。在注册表中,我找到的所有条目都指向 Oracle Forms 文件夹。我尝试使用完整路径运行sqlplus,属于数据库安装的sqlplus,最后我已经连接conn / as sysdba
并运行了解锁帐户语句,所以问题解决了,因为我的目标是解锁系统帐户。