我觉得两个大型复杂 Oracle 模式之间存在一些差异,它们应该相同,因此决定转储并比较它们以进行调查。我找到了一篇文章(http://www.dba-oracle.com/art_builder_get_schema_syntax.htm),它提供了以下命令来转储表和索引定义。
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u;
Run Code Online (Sandbox Code Playgroud)
然而,当我转储和比较模式的输出线轴时,几乎每一行都存在微不足道的差异,使差异变得毫无价值。例如,模式名称包含在每个表定义中。
是否有更好的方法来执行此操作,以可以使用 diff 工具轻松比较的格式提供最重要的模式数据。我对表、索引和触发器感兴趣。
我使用的是 Oracle 数据库 10g 企业版 10.2.0.3.0 版
如何找出(如果可能的话,通过企业管理器)某个表正在使用的总数(以 Mb 为单位)?
我最近收到了即将迁移的 Oracle 数据库的转储文件。我已经安装了 Oracle 10g,现在我需要恢复原始数据库。
谁能给我一个如何从*.dmp文件中恢复它的分步过程?
在我的 Oracle 数据库 Oracle 10gR2 上尝试创建连接池时出现此错误。
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files or invalid environment specified
Run Code Online (Sandbox Code Playgroud)
我能够通过 sqlplus 和 iSQLPlus 客户端连接到数据库,但是当我尝试使用此 Java 程序进行连接时,仅在要初始化连接池并且未初始化连接池时出现此错误。
有人可以帮我解决吗?
数据库版本: Oracle version 10.2.0.1
操作系统: RHEL 4.0
这是一个准系统 Java 代码,它在连接到我的数据库时抛出此错误。
import java.sql.*;
public class connect{
public static void main(String[] args) {
Connection con = null;
CallableStatement cstmt = null;
String url = "jdbc:oracle:thin:@hostname:1521:oracle";
String userName = "username";
String password = "password";
try
{
System.out.println("Registering Driver ...");
DriverManager.registerDriver …Run Code Online (Sandbox Code Playgroud) 我们在 Windows Server 2003 虚拟机上安装了 Oracle 10g 企业版 (10.2.0.1.0)。它最初是使用 Virtual Server 2005 R2 SP1 创建的,但现在已迁移到 Windows Server 2008 Hyper-V。
服务在系统启动时启动,但实例未启动。从一台服务器迁移到另一台服务器后,这个问题实际上发生在虚拟服务器上,但我设法解决了它:
oradim -edit -sid ORCL -startmode auto
Run Code Online (Sandbox Code Playgroud)
但是,这现在没有效果。
oradim.log(在 %OracleHome%\database\oradim.log 中)说:
Thu Jun 10 14:14:48 2010
C:\oracle\product\10.2.0\db_3\bin\oradim.exe -startup -sid orcl -usrpwd * -log oradim.log -nocheck 0
Thu Jun 10 14:14:48 2010
ORA-12560: TNS:protocol adapter error
Run Code Online (Sandbox Code Playgroud)
同一文件夹中的 sqlnet.log 有:
Fatal NI connect error 12560, connecting to:
(DESCRIPTION=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oracleorcl)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))(CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=C:\oracle\product\10.2.0\db_3\bin\oradim.exe)(HOST=ORACLE-VM)(USER=SYSTEM))))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
Oracle Bequeath NT Protocol Adapter …Run Code Online (Sandbox Code Playgroud) 我没有对我的 Oracle 服务器的物理访问权限,但我可以从 Toad 运行一些 sql 命令。有没有办法找到服务器正在运行的版本,比如 10.2.3.1。我知道它是 10g,但我想知道哪些补丁甚至更多(使用的内存、缓冲区等)
我想知道在我的沙箱上运行 Oracle 11g 的操作系统的最佳选择。另外,我想知道 50-100 个用户环境中开发环境的良好组合。
有关相关工具的任何其他信息也将不胜感激。谢谢。