我们发现我们的Oracle 12c数据库占用了大量的磁盘空间和归档日志,所以我想出了如何删除这些文件,但我无法禁用归档日志。我们没有内部DBA,所以我自己想办法解决这个问题。通过大量的谷歌搜索,我的理解是我需要做以下几件事:
sqlplus / as sysdba
shutdown immediate
startup mount
alter database noarchivelog;
alter database open;
但我有两个问题。我不能执行"sqlplus / as sysdba",它抱怨"ORA-12560: TNS:protocol适配器错误“,除非我
我需要将查询从Oracle SQL转换为Postgres。
select count(*) from table1 group by column1 having max(rownum) = 4
如果我将"rownum“替换为"row_number() over()",则会收到一条错误消息:"window函数不允许使用”。你能帮我在Postgres得到和Oracle一样的结果吗?
我间歇地收到下面的错误。
ERROR Exception occured while fetching the available subscriptions from the database - Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
org.springframework.transaction.TransactionSystemException: Could not roll b
此问题中的SQL用于Oracle。但是,您可以简单地删除FROM dual以使其在Server上工作(Server返回与Oracle相同的结果)。
我有以下SQL:
SELECT 1
FROM dual
WHERE NULL IN (SELECT 1 FROM dual WHERE 1 = 0);
SELECT 1
FROM dual
WHERE NULL NOT IN (SELECT 1 FROM dual WHERE 1 = 0);
它分别返回空集和1。当我们用其他值代替NULL时,我们得到了完全相同的结果。
SELECT 1
FROM dual
WHERE 33 IN (SELECT
DB版本:Oracle11.1.2.1.0操作系统: OEL5
我试图使用SQL水平打印多个SELECT语句的结果,但无法达到我想要的结果。
多个SQL:
SELECT 'DB Version', version db_version FROM v$instance
UNION ALL
select 'Oracle Client', length(addr)*4 || '-bits' word_length from v$process where ROWNUM =1
UNION ALL
/
结果:
'DBVERSION'
我正在尝试使用JPA的@Version注释测试乐观锁定,该注释已添加到我的实体对象中:
@Version
@Setter(AccessLevel.NONE)
@Column(name = "VERSION")
private long version;
当我同时运行两台服务器时,我收到一个StaleObjectStateException:
Exception message is : Object of class [com.myPackage.WorkQueue] with identifier [9074]: optimistic locking failed;
下面的查询在几乎每个数据库(或多或少一个dual虚拟表)中都是的,包括Oracle:
select 'A' as x from dual union all
select 'B' from dual
order by x asc
正在返回:
| X |
|---|
| A |
| B |
现在,这个查询仍然是非常标准的SQL,但是在Oracle上使用
select 'A' as x from dual union all
select 'B' from dual union all
select 'C&
我有在Oracle SQL Developer中运行的脚本,然后将结果作为csv导出到我的pc上。现在,我开始使用sqlplus和.bat一起运行我的脚本,并将结果放到我的pc上。但是我注意到来自sqlplus的导出是sqlplus导出文件的两倍。文件的内容/结果完全相同。下面是我的名为oracle_sql.sql的sql文件
set embedded on;
set pagesize 0;
set colsep ',';
set echo off;
set feedback off;
set linesize 1000;
set trimspool on;
set heads
#!/bin/bash -x
x=`sqlplus scott/tiger@xe<<endl
set heading off
select sysdate from dual;
exit
endl`
echo the answer is $x
正在输出
the answer is SQL*Plus: Release 10.2.0.1.0 - Production on Wed Mar 27 09:01:25 2013 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Datab
长话短说,我们有一个服务器,它上运行着两个Oracle实例:ora1和ora2。有人为ora2定义了撤消表空间,并提供了已经运行的ora1撤消表空间数据文件的相同数据文件,因此数据文件被破坏,ora1被关闭。当试图重新打开实例ora1时,我们面临以下错误:
ORA-01159: file is not from same database as previous files - wrong database id
我们尝试了alter database datafile .... offline drop;,但没有出现错误,但这也不允许我们打开数据库,因此我们备份控制文件,以跟踪和重新编辑删除
我有以下对Oracle db的调用:
DECLARE @myCount int;
DECLARE @sql NVARCHAR;
SET @sql = N'SELECT COUNT(*) FROM owner.myTable';
EXEC (@sql) AT oracleServer
-- how to get result count to @myCount?
其中oracleServer是链接到Oracle的服务器。如何将计数结果传递给varaible @myCount?我试过了:
EXEC (@sql, @myCount output) AT oracleServer;
它
我尝试在cmd中运行sql命令,结果用希伯来语显示如下:
C:\Users\owner>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on ß π÷εß° 26 14:14:16 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ετσß° α∞: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 -
64bit Production With the Partitio