远程Oracle 9i备份的数据库导入到本机Oracle 11g出现触发器不能使用的情况

远程Oracle 9i备份的数据库导入到本机Oracle 11g出现触发器不能使用的情况,第1张

出现错误的原因一般是由于触发器的导入先于表的导入引起的。解决方法是进行两次导入。

第一次正常导入,会出现错误,但表能够导入进去的。

第二次导入时,选择项“由于对象已存在,忽略创建错误(Yes/No):"选择no。这样能够排除触发器的创建错误。

我是用exp导出的,是Oracle 9数据库,由于是远程 *** 作,不能使用pl/sql develeper工具,只好用命令 *** 作,我用的就是exp username/password,导出数据的时候不报错,等我导完之后远程ftp到我本地导入我本地库的时候,这个表里的值就是空的了。

第一种情况:

若oracle服务器装在本机上,那就不多说了,连接只是用户名和密码的问题了。不过要注意环境变量%ORACLE_HOME%/network/admin/是否设置。

第二种情况:

本机未安装oracle服务器,也未安装oracle客户端。但是安装了pl sql development、toad sql development、sql navigator等管理数据库的工具。在虚拟机或者另一台电脑上安装了oracle服务器,也就是虚拟机或者另一台电脑此时作为服务器。

这种情况下,本人以pl sql development远程连接ORACLE服务端数据库为例:

1、在安装oracle服务器的机器上搜索下列文件:

ocidll

ocijdbc10dll

ociw32dll

orannzsbb10dll

oraocci10dll

oraociei10dll

sqlnetora

tnsnamesora

classes12jar

ojdbc14jar

把这些找到的文件复制放到一个文件夹,如 oraclient,将此文件夹复制到客户端机器上。如放置路径为 D:oraclient。

2、配置tnsnamesora,修改其中的数据库连接串。

oracledata = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192168058)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = oracledata) )

其中,oracledata是要连接的服务名;HOST = 192168058,是服务器IP地址;PORT = 1521是端口号。

3、添加第一个环境变量,名为TNS_ADMIN,值为tnsnamesora文件所在路径(如:D:oraclient,特别是重装后或其它 *** 作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnamesora。这步是最重要的。

添加第二个环境变量(可有可无):“NLS_LANG = SIMPLIFIED CHINESE_CHINAZHS16GBK”,(AMERICAN_AMERICAUS7ASCII 是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)(本步骤暂时要做对,如果编码不对,会产生乱码)。

4、下载并安装PL SQL Developer配置应用:

打开PL SQL Developer,登入界面点取消,进入后选择菜单栏 tools->preferences->connection :

Oracle Home=D:oracleclient OCI library=D:oracleclientocidll

5、再次打开plsql则会在database中有oracledata 选项输入用户名密码就可以登陆。

第三种情况:

本机未安装ORACLE服务器,但是安装了oracle客户端,也安装了pl sql development、toad sql development、sql navigator等管理数据库的工具。在虚拟机或者另一台电脑上安装了oracle服务器,也就是虚拟机或者另一台电脑此时作为服务器。

这种情况下,本人以pl sql development远程连接oracle服务端数据库为例:

1、打开oracle客户端中的net manager,配置要远程连接的数据库名、IP地址等,如果net manager中没有要远程连接的数据库名,则新建即可。

2、其他步骤与第二种情况中的2---5相同。

第四种情况:

本机未安装oracle服务器,也未安装pl sql development、toad sql development、sql navigator等管理数据库的工具,但是安装了oracle客户端。在虚拟机或者另一台电脑上安装了ORACLE服务器,也就是虚拟机或者另一台电脑此时作为服务器。

这种情况下,本人以oracle客户端中的sqlplus远程连接oracle服务端数据库为例:

1、打开oracle客户端中的net manager,配置要远程连接的数据库名、IP地址等,如果net manager中没有要远程连接的数据库名,则新建即可。

2、同第二种情况中的步骤二。

3、同第二种情况中的步骤三。

4、打开sqlplus:

(1)如果用sys用户登入,则用户名:sys 密码:xxxxxx 主机字符串:要连接的数据库名 as sysdba,登入即可。

(2)如果用其他用户登入,则用户名:xxx 密码:xxxxxx 主机字符串:要连接的数据库名,登入即可。

注意事项:

1、服务器端和客户端防火墙需要关闭;

2、我们经常会遇到***服务无法启动,那么需要打开Net Configuration Assistant修复,或者新建***服务。

3、数据库密码如果忘了怎么办?按照以下方法修改密码即可:

开始-->运行-->cmd

输入 :sqlplus /nolog 回车

输入 :connect / as sysdba 回车

用户解锁 : alter user system account unlock 回车

修改密码:alter user system identified by manager

4、怎样判断数据库是运行在归档模式下还是运行在非归档模式下?

进入dbastudio,历程--〉数据库---〉归档查看。

5、另外,如果本机和别的机子均安装了oracle服务器端,那么本机如果要连接别的机子,就必须修改tnsnamesora

单击开始,这里输入cmd,打开dos窗口

输入命令

exp bms/BMSPASS@TCDB file=E:\DBback\dbback20160112dmp

这里说明一下

这里的bms是指备份时,登录数据库实例TCDB的用户名;

这里的/是语法符号。

这里的BMSPASS是用户bms登录数据库TCDB时的密码;

@是语法符号。

这里的TCDB是Oracle数据库的实例名。

这里的file=E:\DBback\dbback20160112dmp 是只指备份文件的存放路径。

等待导出完成,如果看到这里的导出成功,说明备份完成了。

打开备份时指定的存储路径,就可以看到备份文件了。

如果在导出命令的最后加上full=y的参数,也就是

exp bms/BMSPASS@TCDB file=E:\DBback\dbback20160112dmp full=y

意思是将用户bms在TCDB数据库实例中的所有文件都备份,也就是完整备份。

数据库还原使用语法

imp bms/BMSPASS@TCDB file=E:\DBback\dbback20160112dmp

这里的E:\DBback\dbback20160112dmp是备份文件的存放路径

请添加详细解释

以上就是关于远程Oracle 9i备份的数据库导入到本机Oracle 11g出现触发器不能使用的情况全部的内容,包括:远程Oracle 9i备份的数据库导入到本机Oracle 11g出现触发器不能使用的情况、oracle数据库中表字段类型有Long型怎么备份、怎么远程连接oracle数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9699936.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存