- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 Stack Overflow 的帮助下,我已经能够从本地计算机导出数据库的转储文件。我使用的命令如下:
host expdp tkcsowner/tkcsowner@xe version=10.2 schemas=tkcsowner dumpfile=tnrg.dmp logfile=tnrg.log
现在,我的本地机器有操作系统 Windows 7,32 位。几乎没有服务器。它有 Oracle 11g。我想把它转移到另一台机器上,测试服务器,运行 Linux。它有 Oracle 10g。
我绝不是 Linux/Unix 专家,但我确实有一些以前处理此类问题的人留给我的说明。
首先,我通过“su -”将权限更改为 root 用户 - 没有问题。
以“sqlplus/nolog”身份登录,然后“以 dba 身份连接 sys/sys@xe”- 也没有问题。
我创建了一个逻辑转储目录(不确定是否需要这一步,但我还是做了):
create or replace directory dumpdir as 'usr/lib/oracle/xe/app/oracle/admin/XE/dpdump';
完成,没问题。
所以我认为 TNRG.dmp 和 tnrg.log 应该在该目录中。不幸的是,由于某种原因,它无法被复制。拒绝访问。我想我应该注销,以 root 身份登录,然后从那里复制内容。它起作用了,但为了安全起见,我退出了 root,以我的普通用户身份重新登录,然后再次执行了上述所有操作。哦。
最后,所有的东西都准备好了,现在是导入 .dmp 和 .log 的时候了。万岁!
impdp tkcsowner/tkcsowner@xe schemas=tkcsowner dumpfile=TNRG.dmp logfile=tnrg.log
你瞧,它要求输入用户名和密码。是不是10g数据库上没有tkcsowners?无论如何,我为两者都输入了“系统”。它继续,但警钟已经在我脑海中响起。
突然间:
此时,我不确定如何继续。我通过命令行进入目录,然后 ls -l'ed 内容,显示 .dmp 和 .log 都有三个 rwx,用于 root。我尚未尝试的是在以 root 身份登录时运行整个操作,但我不确定这将如何改变任何事情。
最佳答案
dumpdir
数据库目录对象指向的目录需要是一个有效的现有目录 - 至少在你使用它时,它不会在你创建对象时检查或提示 -并且它需要对运行 Oracle 的用户可读和可写,通常是 oracle
。
您最初创建的目录是 'usr/lib/oracle/...
而不是 '/usr/lib/oracle/...
,但即便如此更正了 oracle
帐户可能无法使用的目录。由于您将目录创建为 root
,它可能仍由 root:root
拥有并且权限为 700(如果您执行 ls -ld/usr/lib/oracle/xe/app/oracle/admin/XE/dpdump
将显示为 drwx------
).
您需要使用正确的所有者和组将其更改为由 Oracle 拥有 - 这可能是 oracle:dba
或 oracle:oinstall
,但检查所有者XE
目录。然后更改目录的所有权和您复制到其中的文件:
chown -R oracle:dba /usr/lib/oracle/xe/app/oracle/admin/XE/dpdump
并将目录权限设置为合适的级别;如果您不希望其他人创建或修改文件,但您不介意他们看到那里的内容,那么可以这样:
chmod 755 /usr/lib/oracle/xe/app/oracle/admin/XE/dpdump
如果您希望能够以您自己的身份(不是 root
或 oracle
)复制您的 .dmp
文件,而您不是在 dba
组中,然后将其设置为 777。您说您复制的文件是 777,这有点奇怪,因为它们不可执行,并且目前可以被任何人删除;再次使它们可读:
chmod 644 /usr/lib/oracle/xe/app/oracle/admin/XE/dpdump/*
虽然您不需要来自其他系统的导出日志,只需要转储文件本身。 impdp
的logfile
参数将创建导入过程的日志;由于您使用了相同的文件名,它将覆盖您复制的导出日志。这可能并不重要,因为您仍然拥有原件,但将来需要注意一些事情。不过,这确实意味着现有日志文件必须可由 oracle
写入。
您还需要确保 Oracle 所有者对整个目录树具有适当的访问权限,但他们似乎已经拥有 XE
,所以我认为这不是问题。您实际上不需要以 root
身份执行任何这些操作。如果您没有 oracle
密码,您仍然可以从 root
上su
到该帐户,这样以后就无需手动更改所有权。
关于oracle - 将 .dmp 文件从 Oracle 11g 导入到 10g 返回错误 'Unable to open log file',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17987936/
Oracle 即时客户端和 Oracle 客户端有什么区别?你能给我解释一下吗?谢谢 最佳答案 Oracle 客户端带有安装程序和许多可执行文件,例如 sqlplus,tnsping,它是完整而庞大的
我正在寻找一个Delphi组件来直接连接到ORACLE数据库服务器,而无需安装oracle客户端。 我知道Oracle Data Access (ODAC)来自DevArt 。还有其他组件具有此功能吗
如何编写 Oracle 存储过程,以表 (X) 作为输入参数,并在过程内部使用表 X 来与另一个表 Y 联接? 表 X 将包含数千条记录。 不希望将表名作为 varchar 传递,然后使用动态 SQL
如何编写 Oracle 存储过程,以表 (X) 作为输入参数,并在过程内部使用表 X 来与另一个表 Y 联接? 表 X 将包含数千条记录。 不希望将表名作为 varchar 传递,然后使用动态 SQL
我要过滤COMMENTS属性为空的记录 我试过了 SELECT TABLE_NAME, COMMENTS FROM (SELECT TABLE_NAME, COMMENTS FROM (sel
我要下载 Oracle Instant Client for Linux x86-64 (64-bit)现在有一段时间了。 现在我注意到该网站在过去几个月中一直遇到技术问题。 要从 Oracle 下载
有什么方法可以将我的 Delphi 应用程序 (FireDac) 直接连接到 Oracle 数据库? 目前可以连接,但需要安装Oracle Client 在 embarcadero 站点 ( http
我有一张表,其中日期列的数据格式如下:“7/25/2014 12:14:27 AM”。我需要通过放入 where 子句来获取此日期。有人可以建议我该怎么做吗? 最佳答案 日期(存储在表中)是 repr
如果两个事务试图同时修改同一行会发生什么?通常,一旦行被修改,另一个事务等待直到第一个事务执行提交或回滚。但是,如果他们恰好在同一时刻发送更新请求怎么办? 最佳答案 答案是否定的。两个事务不能同时修改
我想知道为什么我不能在 Oracle 模式中有两个同名的索引?它抛出一个错误,指出该名称已被使用。我的印象是,由于索引在一个特定的表上,这应该不会导致任何错误,除非我们对同一个表上的两个不同列使用相同
我需要构建一个查询来按成员和到期日期检索信息组,但我需要为每个成员提供一个序列号.. 例如: 如果成员“A”有 3 条记录要过期,“B”只有 1 条,“C”有 2 条,我需要这样的结果: Number
独立程序 create procedure proc1 ( begin end; ) 存储过程 create package pkg1 ( procedure proc2 begin end; ) 最
在 Oracle 9i 中声明 FK 时遇到问题。我在这里查看了许多关于 SO 和一些在线文档(例如 http://www.techonthenet.com/oracle/foreign_keys/f
我和我的同事维护的应用程序在后端有一个 Oracle 数据库。我们正在考虑偶尔以“受限”模式运行应用程序,其中一个数据库表空间设置为只读。我们可以轻松地将必要的表和索引移动到单独的表空间,这些表空间将
我想实现一个自定义的回归聚合函数,类似于现有的 REGR_SLOPE . 我要定义的函数需要获取两列作为参数,例如 select T.EMPLOYEE_ID, CUSTOM_REGR_SL
我已经尝试解决这个问题一段时间了,我认为是时候寻求帮助了。我正在构建一个架构配置脚本,我想添加一些脚本输出和错误处理。这个想法是脚本输出窗口只会向我显示关键消息而没有所有噪音。 Create Temp
在旧的 Oracle 服务器(我被告知是 8i)上使用 JDBC 时,我遇到了一个非常令人困惑和奇怪的问题。我在那里准备了一个表,其中包含大约 10 列、数字、varchars、一个 raw(255)
我有一张 table Customer_Chronics在 Oracle 11g 中。 该表具有三个关键列,如下所示: 分支代码 客户 ID 期 我已按 branch_code 列表按表分区,现在我进
是否有存储用户自定义异常的oracle表? 最佳答案 没有。 与其他变量一样,用户定义的异常在 PL/SQL block 中定义,并且具有 PL/SQL 变量将具有的任何范围。所以,例如 DECLAR
在 oracle 中使用序列并使用 Before insert trigger 自动递增列或使用标识列是否更好,因为它在 Oracle 12 c 中可用? 最佳答案 无论哪种方式,您都将使用序列。 1
我是一名优秀的程序员,十分优秀!