A电脑配置为:
OS:Ubuntu Server 8.04.1
IP:192.168.0.2
Computer Name:Prod
Oracle SSID:XE
SYS Password: dbpw B电脑配置为:
OS:win2k3
IP:192.168.0.3
Computer Name:Test
Oracle SSID:XE
SYS Password: dbpw 要求:
从B电脑上的Oracle Xe复制某些表的记录到A电脑的Oracle XE中.
----------------------------------------------------------------------- 过程:修改A电脑的tnsnames.ora文件为这样:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Prod)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)TXE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
然后在A电脑的终端下执行:
root@Prod:/home/user# sqlplus /nologSQL*Plus: Release 10.2.0.1.0 - Production on Fri Jul 11 14:18:09 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.SQL> conn sys@XE as sysdba
Enter password:
Connected.
SQL> copy from sys/dbpw@TXE to sys/dbpw@XE replace AD_MENU_TRL using select * from AD_MENU_TRL;Array fetch/bind size is 15. (arraysize is 15)
Will commit when done. (copycommit is 0)
Maximum long size is 80. (long is 80)ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
SQL>经Google,发现这里有介绍解决方法:
那么如何才能做到远程SYSDBA连接呢?
二种方法:
一种是设置默认的TNSNAMES连接,即在UNIX/LINUX下设置TWO_TASK环境变量,WINDOWS下为LOCAL变量,使它等于你要连接数据库CONNECT STRNG。
第二种方法是,配置REMOTE OS的验证,以本地DBA组的成员直接访问即可。于是我又在终端里执行:
root@Prod:/home/user# export TWO_TASK=XE
root@Prod:/home/user# sqlplus /nologSQL*Plus: Release 10.2.0.1.0 - Production on Fri Jul 11 14:18:09 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.SQL> conn sys as sysdba
Enter password:
Connected.
SQL> copy from sys/dbpw@TXE to sys/dbpw@XE replace AD_MENU_TRL using select * from AD_MENU_TRL;Array fetch/bind size is 15. (arraysize is 15)
Will commit when done. (copycommit is 0)
Maximum long size is 80. (long is 80)ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
SQL>
OS:Ubuntu Server 8.04.1
IP:192.168.0.2
Computer Name:Prod
Oracle SSID:XE
SYS Password: dbpw B电脑配置为:
OS:win2k3
IP:192.168.0.3
Computer Name:Test
Oracle SSID:XE
SYS Password: dbpw 要求:
从B电脑上的Oracle Xe复制某些表的记录到A电脑的Oracle XE中.
----------------------------------------------------------------------- 过程:修改A电脑的tnsnames.ora文件为这样:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Prod)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)TXE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
然后在A电脑的终端下执行:
root@Prod:/home/user# sqlplus /nologSQL*Plus: Release 10.2.0.1.0 - Production on Fri Jul 11 14:18:09 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.SQL> conn sys@XE as sysdba
Enter password:
Connected.
SQL> copy from sys/dbpw@TXE to sys/dbpw@XE replace AD_MENU_TRL using select * from AD_MENU_TRL;Array fetch/bind size is 15. (arraysize is 15)
Will commit when done. (copycommit is 0)
Maximum long size is 80. (long is 80)ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
SQL>经Google,发现这里有介绍解决方法:
那么如何才能做到远程SYSDBA连接呢?
二种方法:
一种是设置默认的TNSNAMES连接,即在UNIX/LINUX下设置TWO_TASK环境变量,WINDOWS下为LOCAL变量,使它等于你要连接数据库CONNECT STRNG。
第二种方法是,配置REMOTE OS的验证,以本地DBA组的成员直接访问即可。于是我又在终端里执行:
root@Prod:/home/user# export TWO_TASK=XE
root@Prod:/home/user# sqlplus /nologSQL*Plus: Release 10.2.0.1.0 - Production on Fri Jul 11 14:18:09 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.SQL> conn sys as sysdba
Enter password:
Connected.
SQL> copy from sys/dbpw@TXE to sys/dbpw@XE replace AD_MENU_TRL using select * from AD_MENU_TRL;Array fetch/bind size is 15. (arraysize is 15)
Will commit when done. (copycommit is 0)
Maximum long size is 80. (long is 80)ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
SQL>
解决方案 »
- ORACLE基于视图的外键约束的主表能不能是基于视图的
- oracle表导出到acess有什么好办法吗?
- 高手进来!在线等待阿===安装OAS出现的问题
- 求助:Proc程序频繁连接Oracle 数据库会对Oracle产生什么影响?对操作系统产生什么影响?
- 如何修改ORACLE8i的用户密码?
- 求一个与多表left join等价的where语句,自己用(+)写了个但不太对
- [求助]连接数据库产生ORA-12154错误。
- 求助ora-06550错误代码?
- 关于三个(以上)表的联接,from子句产生的临时表到底是什么情况
- SQL*PLUS求助:求薪水最高的第6名到第10名雇员
- 初学~最简单的存储过程 不知道错在哪里?
- oracle 插入 带有“&”符号不成功的问题
sys和system是用来管理数据库的,坚决不建议在sys和system用户下创建任何应用数据。把你的任何业务数据对象都创建到自己创建的用户下面!!!!!
sys和system是用来管理数据库的,坚决不建议在sys和system用户下创建任何应用数据。把你的任何业务数据对象都创建到自己创建的用户下面!!!!!
一般都是新建立个别的用户然后再建表,你这种情况很少见。另外你查查copy 命令 用户名密码连接那块应该可以加 as sysdba之类的东西
sys和system是用来管理数据库的,坚决不建议在sys和system用户下创建任何应用数据。把你的任何业务数据对象都创建到自己创建的用户下面!!!!!