2013-12-09 90 views
1

如何检查oracle数据库是否以只读模式运行?如何检查数据库是否以只读模式运行?

我在看下面的api方法,但是这将返回false,而不管数据库处于只读模式。 此方法的源代码不做任何事情,但返回false。

http://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDatabaseMetaData.html#isReadOnly__

感谢任何帮助!

+0

更新的东西。 –

+1

为什么当JDBC驱动程序告诉您它不是时,数据库处于只读模式?有可能以只读模式启动数据库,但这种情况非常罕见。 –

+0

你是否控制数据库?一个明显而暴力的方法是尝试更新表中的一行并查看它是否成功。您可以为此设置一个表格,只有一行,其中不包含任何有意义的数据。 –

回答

4

尝试:

select open_mode from v$database; 
+0

谢谢,这是一个很好很简单的方法,但是我们正在使用的数据库用户没有查询这个表的权限。这就是为什么我试图利用任何API。 – user3083567

+0

对不起,我不是一个Java人,所以,我不能帮你选择Java API。正如其他人所建议的,您可以尝试DML,然后检查ORA-016000错误。如果在DML尝试中获得ORA-016000,则数据库是只读的。 –

相关问题