小编Phi*_*lᵀᴹ的帖子

当数据库引擎无法启动时,从 oracle 12c 中损坏的 REDO 文件中恢复

我的 Windows 7 开发机器上安装了 Oracle 12.0.1.2.0(企业包)。意外断电后,Oracle 引擎无法启动:

因此,我无法连接 SQLplus 来执行任何命令,因此,我在网上找到的用于清除 REDO 文件的指南都不适合我。

ORA-01033: ORACLE initialization or shutdown in progress
01033. 00000 -  "ORACLE initialization or shutdown in progress"
*Cause:    An attempt was made to log on while Oracle is being started up or shutdown.
*Action:   Wait a few minutes. Then retry the operation.
Vendor code 1033
Run Code Online (Sandbox Code Playgroud)

这是启动日志:

...
Mon Jun 19 10:56:47 2017
Beginning crash recovery of 1 threads
parallel recovery started with 3 processes
Mon Jun 19 10:56:47 2017 …
Run Code Online (Sandbox Code Playgroud)

oracle oracle-12c

7
推荐指数
1
解决办法
3817
查看次数

SQL 中用户定义的排序

我刚刚阅读了一篇关于用户定义结果集排序的有趣博客文章

某些应用程序,例如待办事项列表,需要维护用户定义的项目顺序。挑战在于顺序是任意的,并且可以在用户重新排列项目时改变

一个示例表可能是这样的:

create table items
(
  itemid int primary key,
  itemdata varchar(200),
  ...
  ...
  userorder ??? 
);
Run Code Online (Sandbox Code Playgroud)

使用可能的检索查询:

select * from items order by userorder asc;
Run Code Online (Sandbox Code Playgroud)

考虑到我希望将更新保持在最低限度、更新原子性和检索查询尽可能简单和“高效”,我是否应该考虑任何方法?

我最初的想法是使用一个额外的TIMESTAMP列,并且只更新单行userordertimestamp值(使用ORDERing by检索查询userorder asc, usertimestamp desc),但是当您需要在具有相同值的其他两行之间移动一行时失败.

没有考虑特定的数据库,因为我自己使用的范围很广。

order-by

7
推荐指数
2
解决办法
1478
查看次数

如何允许使用 2 个不同的 ip 连接到 SQL Server

我在这里有一个小问题:我在集群上有一个 SQL Server 实例 2012(我们称之为 SQLINSTANCE)。对于这个实例,我还有 2 个网络接口:

- SQLINSTANCE.my.network
- SQLINSTANCE.mgt.my.network.
Run Code Online (Sandbox Code Playgroud)

我的实例侦听特定端口1550.

如果我想连接到它,这是我的结果:

- SQLINSTANCE.my.network\INSTANCE: working
- SQLINSTANCE.mgt.my.network\INSTANCE: NOT working.
Run Code Online (Sandbox Code Playgroud)

我的猜测是它涉及 SQL 浏览器,但我找不到如何告诉它需要侦听两个地址。

我正在使用没有防火墙的 Windows Server 2008r2。这两个地址都被设置为集群管理器中 SQL Server 的资源。

sql-server clustering sql-server-2012 windows-server

6
推荐指数
2
解决办法
2万
查看次数

谓词中带有“或”的慢速连接行为

我面临着一种我无法理解和克服的情况。

简而言之,我们有左连接查询,如:

select from a 
left join b on a.key1=b.key1 or a.key1=b.key2
Run Code Online (Sandbox Code Playgroud)

这工作非常缓慢,同时两者分开:

select from a 
left join b on a.key1=b.key1

select from a 
left join b on a.key1=b.key2
Run Code Online (Sandbox Code Playgroud)

工作非常快。

b.key1 有正常索引

b.key2 有正常索引

我无法理解这种行为的原因?我的连接策略或索引使用中是否缺少一些非常基本的东西?

在这里,我们有详细的计划:

无或(TOP_USTR_ADMIN_IP - ustrip 列的索引名称):

SQL> explain plan for
SELECT * FROM top.macs_constraint mc 
LEFT JOIN top.top_ustr tu ON  tu.ustrip = mc.IP;

Explained.

SQL> SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY());

   Plan hash value: 349751289

--------------------------------------------------------------------------------------------
| Id  | Operation              | Name              | Rows  | Bytes | Cost …
Run Code Online (Sandbox Code Playgroud)

oracle join oracle-10g plsql

5
推荐指数
1
解决办法
4700
查看次数

ORA-01017: 无效的用户名/密码;登录被拒绝

还有其他类似的问题被问到,但没有一个能告诉我为什么我不能使用我站起来的 C# .NET 网站进行连接。虽然我知道这个论坛更适合 DBA 使用工具连接到数据库,而不是解决应用程序连接问题,但我想我会在这里发布这个问题。

当从 Visual Studio 运行时,该网站从我的工作站工作/连接,但是当我将其发布到服务器时,它给了我ORA-01017: invalid username/password;logon denied错误,即使我可以使用相同的帐户/密码通过其他所有内容进行连接。情况:

  1. 我可以使用 Oracle SQL Developer、SQL*Plus 与我正在使用的帐户进行连接……我们称之为“myaccount”。
  2. 使用网络管理器,我可以展开“服务命名”并查看 tnsnames.ora 中的条目。
    一种。存在于 tnsnames.ora/Service Naming 区域中的相同字符串作为硬编码字符串存在于我的应用程序中,但传递的主机名、服务名、端口、用户名和密码除外 -作为来自我的 web.config 的参数。
    湾 我可以单击一个连接名称并且一切都正确显示,然后单击“测试服务”>“更改登录”>输入“myaccount”和密码>单击“确定”>单击“测试”成功。
    C。我已经在我的 web.config 中仔细检查了我的参数 - 自从网站在我的本地工作站上运行以来没有任何变化。
  3. tnsping CONNECTION_NAME 成功。
  4. 两台计算机上的环境变量相同,Oracle 客户端位置也相同。
    一种。ORACLE_HOME=C:\oracle\product\12
    乙。PATH= C:\oracle\product\12\bin;.....
    c. TNS_ADMIN= C:\oracle\product\12\network\admin
    d。添加到HKLM\Software\Oracle\KEY_OraClient12Homefor TNS_ADMIN= 的注册表项C:\oracle\product\12\network\admin
  5. 我已经尝试了该ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;命令并重置了密码,以防万一这是问题所在。我尝试连接 myaccount 的全大写版本及其密码,以及两者的所有小写版本(两者的小写版本是我最初在我的工作站上使用时的方式)。
  6. 该帐户拥有PASSWORD_VERSIONS10G11G-如果它的事项,我使用一个12C客户端和我不知道12C …

oracle logins password oracle-12c

5
推荐指数
1
解决办法
3万
查看次数

将表移动到主服务器 oracle 11g 中的另一个表空间

使用该impdp remap_tablespace参数将一个表移动到另一个表空间时,对 dataguard 配置有何影响?

在我们的生产环境中,我们已经设置了 dataguard,我很好奇如果在主中移动一个表会对 dataguard 产生什么影响或者在移动表之前我应该​​做什么步骤。

oracle oracle-11g-r2

5
推荐指数
1
解决办法
289
查看次数

未插入日期 - 插入后显示 0000-00-00

我正在尝试将日期插入到 mysql 表中。我用来创建表的SQL查询如下:

CREATE TABLE IF NOT EXISTS DDD(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY UNIQUE, 
    datecolumn DATE NOT NULL , 
    open FLOAT, 
    high FLOAT, 
    low FLOAT, 
    close FLOAT, 
    volume INT)
Run Code Online (Sandbox Code Playgroud)

我正在使用以下 SQL 语句插入数据:

INSERT INTO DDD(datecolumn, open, high, low, close, volume)
VALUES(2011-05-26, 12.09, 13.31, 12.05, 13.09, 1293441)
Run Code Online (Sandbox Code Playgroud)

之后,当我选择并查看数据时,日期列中的条目是

0000-00-00

我已经尝试了解决方案

将 CSV 导入 MySQL 表会将日期字段保留为 0000-00-00

...但它导致以下错误:

ERROR 1064 (42000): You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version 
for …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-5.5

5
推荐指数
1
解决办法
2万
查看次数

oracle 11g R2 中的 SYSTEM 和 SYSAUX 表空间空间不足

我的数据库的 SYSTEM 和 SYSAUX 表空间大小现在处于以下状态:

SYSTEM  - PCT_USED= 99
SYSAUX  - PCT_USED= 95
Run Code Online (Sandbox Code Playgroud)

我相信数据库现在处于危急状态。我该怎么做才能使其恢复正常状态,以及应遵循哪些标准方法来确保 SYSTEM 和 SYSAUX 表空间文件的安全。

任何帮助将不胜感激。

oracle oracle-11g-r2 tablespaces

5
推荐指数
1
解决办法
2万
查看次数

csv 文件,其中包含逗号的字段

我有一个 CSV 文件,其字段如下。

number1, string1, "string2, string3", number2, string4, "string5, string6"
Run Code Online (Sandbox Code Playgroud)

其中数字是数字,字符串是字符串。我正在尝试按如下方式阅读此内容,我忽略了第一个标题行

LOAD DATA LOCAL 
  INFILE 'filename.csv' 
  INTO TABLE table_name 
  FIELDS TERMINATED BY ','  
  IGNORE 1 LINES;
Run Code Online (Sandbox Code Playgroud)

但是由于在某些字段中嵌入了逗号,此命令会导致字段重叠。我将如何在 MySQL 中正确执行此操作?

mysql import

4
推荐指数
1
解决办法
9216
查看次数

sp_BlitzIndex v 4.5 (2016-11-15) 因整理错误而失败

发布此信息以防其他人遇到此问题...(修复如下)更新到 SQL 2016 SP1 后,我还更新到了 sp_Blitz procs 的最新版本。不幸的是,sp_BlitzIndex 现在在“收集计算列信息”中爆炸了。线 1586 附近的部分。

这是错误文本:

Gathering Computed Column Info.
Failure populating temp tables.
Msg 2787, Level 16, State 1, Procedure sp_BlitzIndex, Line 1620 [Batch Start Line 4]

Invalid format specification: 
    '%.%' THEN 1 ELSE 0 END AS is_function,
    'ALTER TABLE ' + QUOTENAME(s.name) + '.' + QUOTENAME(t.name) + 
    ' ADD ' + QUOTENAME(c.name) + ' AS ' + cc.definition  + 
    CASE WHEN is_persisted = 1 THEN ' PERSISTED' ELSE '' END + ';' …
Run Code Online (Sandbox Code Playgroud)

sql-server-2016 sp-blitzindex

4
推荐指数
1
解决办法
189
查看次数