oracle中同一个库,不同的两个用户,怎么实现这两个用户中的一个表数据同步? 5C

同一个数据库,但是有两个用户,这两个用户中有一个相同的表,怎么实现这两个表的数据同步?

10个回答

--假设是将 用户名1的表A 同步到 用户名2的表B

--按以下流程:

--用户名2登录后创建下面同存储过程
CREATE OR REPLACE PROCEDURE SP_表数据同步 AS

BEGIN
--删除表数据
EXECUTE IMMEDIATE 'TRUNCATE TABLE B';
--插入表数据
insert into B
select * from 用户名1.A;
commit;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
END;

--创建同步任务
declare
job_id pls_integer;
begin
sys.dbms_job.submit(job => job_id, what => 'SP_表数据同步;', next_date => to_date('10-04-2018', 'dd-mm-yyyy'), interval => 'TRUNC(SYSDATE + 1)');
commit;
end;

/* job时间周期:
每天运行一次 'SYSDATE + 1'
每小时运行一次 'SYSDATE + 1/24'
每10分钟运行一次 'SYSDATE + 10/(60*24)'
每30秒运行一次 'SYSDATE + 30/(60*24*60)'
每隔一星期运行一次 'SYSDATE + 7'*/

1.同时操作同一个表就行了么
2.定时备份

可以用kettle工具定时抽取,就算是不同库也可以解决

知道一种方法,是自己操作的,实现同步,也就是再操作库的时候,生成一个sql文件,之后,执行就可以了;

lixiaozhen007
lixiaozhen007 就是简单的操作,自己拼个sql语句出来,之后生成文件,命名随意,之后,执行sql文件就可以了
一年多之前 回复

同时操作同一个表就行了么
创建同步任务
declare
job_id pls_integer;
begin
sys.dbms_job.submit(job => job_id, what => 'SP_表数据同步;', next_date => to_date('10-04-2018', 'dd-mm-yyyy'), interval => 'TRUNC(SYSDATE + 1)');
commit;
end;

个人觉得用存储过程是最佳选择。

给两个用户的表赋权限就可以了

方法一、创建同义词

方法二、将表赋权给用户 带上用户名操作

方法三、赋权建立 视图

在同一个库中,通过同义词或者视图实现是比较方便的。根据需求是双向同步还是单向同步,来授予不同权限。

没必要同步,看哪个是数据写入的,给读取的那个用户授权就可以了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
同一个实例中的两个用户
我准备在同一个实例中创建两个用户,这两个用户分配不同的表空间,这两个表空间中的表结构完全相同(包括表名,触发器,过程等),供不同用户的应用程序使用,这样可行吗?还是有更好的办法?
怎么同步两个用户的库表结构?
新建了一个C用户,想把另一个数据库上的用户B的库表结构(只要表结构,包括表的主键,索引等信息,不要表的数据)导过来 有什么好办法rnrnC和B不能直连,但是B的数据库上面有一个权限较高的A用户,有权限建dblink到B所在的数据库,也有权限在C上面建表rnrn==================rn若是以上想法不可行,那有没有办法将A的库表结构同步到C ?
oracle不同用户数据的同步
–假如scott是源表用户,sysadmin为要同步的目标表用户,两个用户有相同的表,且表结构一致: 1、使用scott账号登录上oracle,然后建立sysadmin和scott的关联 create database link TestLink connect to sysadmin identified by admin    using ‘(DESCRIPTION = (ADDRESS_...
Navicat for Oracle 同步两个库的数据/同步用户的数据
特别说明: 源:连接-需要选择的导出是那个库。模式-导出的用户名 目标:连接-要向那个库里面同步数据。模式-选择导入的库对应的用户名 其实以上的导入可以理解为【TAXMAP用户的数据导入到ORCL_MIIT里面去(因为oracle的用户对应的是表空间)】
两个库中相同用户名下的表数据比对
现有A,B两个库,通过复制软件将A库4个用户下的所有对象复制到B库对应的用户下,rn现想通过建立数据库链接的形式比对A,B两端4个用户下的表的行数是否一致,rn我采用的是的如下方法:rnrnselect 'select count(*) from '||table_name from user_tables rnminusrnselect 'select count(*) from '||table_name from user_tables@to_Arnrn当用户下的表比表多时这种方法就不合适了,很麻烦,有哪位给出一种更好的方法?
oracle下同一个库中不同用户名下的数据拷贝
假如我要在oracle中同一个数据库下建了两个用户名,分别是swdn_app和swdn_new。但是两个用户下的数据要一样的,其中一个用户swdn_app是原始数据,另一个用户swdn_new用户测试修改 一:如果用impdp命令导入的数据 第一次将数据导入到swdn_app用户下,命令如下: impdp userid=swdn_app/123456@orcl directory=s
oracle 同一个数据库,不同用户之间数据交换
一、创建dblink交换数据 create database link createDbLinkName connect to linkDataBaseName    identified by linkDataBasePassword using '( DESCRIPTION=         ( ADDRESS_LIST=              (ADDRESS=(PROTOCO
oracle两个表数据同步备份
这段时间做sqoop2数据导出,需要先将数据导入到中间表,然后将中间表的数据同步到目的表,中间表和目的表字段完全一样,只是表的名称不一致。 方式一:触发器 触发器:是一个与表相关联的、存储的PL/SQL程序。每当一个特定的数据操作语句(Insert,update,delete)在指定的表上发出时,Oracle自动地执行触发器中定义的语句序列。 相当于监视器,对表中数据进行增,删,改时候自动工作,如...
Oracle数据库中的scott用户的表数据
Oracle数据库中的scott用户的表数据,Oracle数据库中的scott用户的表数据
删除oracle末用户的表数据
begin for cr in (select o.object_name a from dba_objects o where o.owner='TEST' and o.object_type = 'TABLE' order by o.object_name) loop dbms_output.put_line(CONCAT(CONCAT('delete from ',cr.a),'; ...
mysql误删用户表数据怎么找回用户
1,my.ini 文件末尾添加skip-grant-tables 2,无用户状态登录 3,flush privileges;执行命令,否则报:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 4,GRANT USAGE ON *.* TO 'r
同一个用户控制不同数据库
数据库A,B,Crn连接用户名:Drn连接密码:Drn如何实现D控制A,B,C三个数据库
oracle把一个用户的表数据复制到另一个用户
不同方法: 1.创建一个数据库链接:create database link mylink connect to 目标数据库用户名 identified by 相应的密码 using '指向目标数据库的那个连接字';然后就是insert 2.用exp和imp的方法 3.用sqlplus的copy from 用户名/密码@服务器名 insert 表 using  select * fro
★怎么实现用户不同权限?★
我的站点里有两个文件夹:用户/管理员 rn怎么配置web.config和使用FormsAuthentication类rn实现不同用户的访问不同文件夹的权限.
oracle库中只读用户需要的权限
业务中要求建立一个只读用户,此用户对其他用户的对象有只读权限,目的 是满足开发人员的查询需要,又要防止其误操作。同时该用户具有select any dictionary权限,所以一切系统视图如v$session、v$sql、v$process等 也都可以查看,也就是说,包括DBA在内,如果只是查询库信息,均可用此用 户登录。在11g r2中通过授予用户以下权限,达到了要求。-- Crea...
请问,一个表空间下不同用户的表数据该怎么导出啊?
一个表空间下不同用户的表数据该怎么导出啊?rn表空间:platformrn用户1:edu;rn用户2:studentwrite;rn我想导出studentwrite下的所有表数据,rn请问命令是什么啊?rnexp studentwrite/studentwrite@workflow file=/home/oracle/backup/edu2010.dmp full=y;rn这个命令会将所有的表导出来- -rn还请各位指点。
oracle 触发器两个表的数据同步(同一个库和不同库的)
Oracle 触发器 插入,更新,删除,数据同步,在同一个数据库的两表同步 :  建表语句:create table User_Info (   ID                   INTEGER                        not null,   UserName            VARCHAR(30)                     not null...
怎样使两个不同数据库中的两张表数据同步.
rn给一张表的插入一条或多条记录,在另外的数据库中一张表中也插入相同记录.当一张表插入不成功时自动回滚.rnrn我现在想用触发器来实现,但触发器里不能用use来引用数据库.而且将来可能数据库在不同机器上,这该怎么实现呢?rn
如何同步不同数据库中的表数据
需求:在服务器中获取局域网中两个不同mysql数据库A、B,同步它们的一个同名表中的数据,即同步A.tabale1和B.table2,并存入服务器本地数据库C。rnrn请问大虾:rn(1)是否必须分别将A.tabale1和B.table2中的数据读入内存?然后自行同步处理,再写到服务器的本地数据库中?rn(2)能否使用mysql语句(如union all)来直接进行数据库操作?
oracle 中两个用户之间的触发器
我在oracle 中有两个用户,A用户下面有一个表a, B用户下面有一个表b,rn我能否在a表上建立触发器,当a表更新时,触发b表做更新?rn如果可以的话,应该怎么做?rnrn请教!
oracle两个不同用户导出的dmp文件 怎样才能导入到一个库中
我现在有两个dmp文件 a.dmp,b.dmp 分别由用户a1,b1导出的。rn现在我想把 上面得两个dmp文件导入到一个新的数据库中rn我导入的过程如下:rn加入我先导入a 输入导出用户名时我输入了a1rnok没有问题。然后我再导入b输入用户名时我输入了b1rn我导入时都用a1用户来导入的。rn发生的现象:rna1登陆时只有a里面的表,b1登陆时只有b里面的表。rn两个库导入了两个不同的用户下面。没有和在一起。rn
Oracle中public用户
请问在Oracle数据库中为什么使用sys用户以sysoper登录之后使用select user from dual查出来的的用户是public呢;public是个什么用户?
Oracle中的用户
oracle安装成功后,会默认生成三个用户sys用户:超级管理员 权限最高 登陆方式SQL> conn /as sysdba;已连接。SQL> show user;USER 为 "SYS"system用户:是系统管理员 权限也很高 他的角色是dbaoper 密码是用户自己定义的,默认是managerSQL> conn system/Mayu2638;已连接。SQL> s...
异库表数据同步!!!!!!
各位大侠:rn  现在我有同一局域网内的30个数据库服务器,他们都是独立的,现在第一台机器上有很多数据要同步到其他29个数据库上,比如销售表的数据要定时同步到其他所有29台机器上,请问有什么好的方案,越多越好。/
oracle中同一个数据库中如何快速切换用户
有一个应用系统,在登陆后连接了数据库下的A用户,如何可以快速的切换到B用户下去?
对于同一个mdb文件中的同一个表,怎样实现不同的用户看见其中不同内容
我有一个mdb文件,其中只有一张表。rn我已经实现通过一个form打开这个mdb文件,并能显示mdb中相应内容。rn我希望能做成一个可以输入用户名,密码的form,并且对于不同的用户,显示mdb中不同的内容,用户对于mdb的增删改权限也要各有不同,请问怎么实现?
DB2中两个不同的用户建相同的表名如何实现
因应用实现需要在一个数据库中创建两个用户(user1,user2),两个用户下分别建相同的表(tab1),rn在数据库连接时,用user1连接,即访问user1下的tab1表数据,用user2连接时,即访问user2下的tab1表。rnrnrn请问能否实现以上需求呢?rnrn如果用schema实现,则需要写成select * from user1.tab1 这样的语句,rn不能做到通过切换数据库联接即实现访问不同的物理数据表的方法。rn因此这个方法不能接受。
网站中不同用户访问权限怎么设定?
如题:网站中不同用户访问权限怎么设定?rn比如管理员和普通用户登陆后显示的叶面不相同rn怎么赋给他们不同的权限rn谁知道的能不能讲的具体点,谢谢了
从一个用户接受表数据
各位先进:rnrn这样的存储过程如何写?oracle8.16rn想实现:把表从一个用户导入到另一个用户rnrncreate or replace procedure FromYFSL(rn p_year IN VARCHAR2 --输入年rn) ISrn v_user VARCHAR2(10); --依据年确定用户rn v_cnt number:=0;rn --利用游标变量rn v_sql VARCHAR2 (4000);rn TYPE curref IS REF CURSOR;rn v_cur curref; rnrnbeginrn v_user:='dw'||p_year; rn --判断该用户是否存在,否则触发用户不存在异常rn SELECT COUNT(*) INTO v_cnt FROM all_users t WHERE t.USERNAME =UPPER(v_user);rn If v_cnt=1 THENrn --导入单位数据dwgkrn v_sql:='SELECT * FROM '||v_user||'.DW'; rn EXECUTE IMMEDIATE 'DELETE FROM '||v_user||'.DW '; --clear dwrn OPEN v_cur FOR v_sql;rn LOOPrn FETCH v_cur INTO v_dw; rn EXIT WHEN v_cur%NOTFOUND; rnrn//这样的sql语句好像不行耶,而且v_user.dw 也编译不过去,,rn --插入单位值rn INSERT INTO STUDY.DW(DM, DW, ZDB,Addr ,BDDH )rn (select t.dm,rn t.dw,rn t.zdb,rn t.addr,rn t.bddhrn  from v_user.dw t); rnrn END LOOP;rn CLOSE v_cur;rn END IF;rnend;rn
两个表数据同步问题
两台SQL Server主机A和B,A上有数据库HR, 内有一个表EMP1,主键ID,rn A上有数据库EHR, 内有一个表EMP2, 主键ID ,rnEMP2表比EMP1多一个PSW 字段,rn 现在要求每日凌晨把EMP2的数据删除(但要保存PSW字段的值),然后把EMP1的数据导进来,rn 也就是要求EMP2表的纪录和EMP1的纪录要保持同步, rn 请问该如何处理比较恰当和安全,各位遇到这样的问题一般怎么处理? rn我的疑点是跨服务器自己写过的比较少,再一就是数据安全问题。rn 多谢!!!rn
oracle 中用户和用户的表之间的关系
遇到一个麻烦,就是如果我创建了一个用户user1,我把默认表空间设为usersrn然后建了一个表test,然后又创建了一个用户user2,现在我想用user2登陆数据库,去查询test表的内容,但我不想在test前面加上user1,我该如何解决这个问题?
关于同一个库中两个表同步的问题
假如有两个表A和BrnA表和B表中字段不完全相同rn现要求增删改A表的同时同步B表相同的字段 rn相反增删改B表的同时同步A表相同的字段 rn假设相同的字段是id
关于不同用户操作同一表数据问题
通过语言调用ADO连接数据库,rn通过不同用户登陆,在数据库中有用户表rn但是实际中存在这个现象,就是不同用户可修改同一记录,rn比如A用户修改后,B用户修改,有把A用户的数据修改的现象.rn那么怎样避免这种情况?
关于两个不同库的表的联合问题--------这两个库都不是sa(dbo)用户
数据库ArnUser ID = '123'rnPassword = '456'rn包含表有:rntbla(表)rnID EXPa EXPb EXPcrn1 w01 002 003rn2 w02 004 005rnrnrn数据库BrnUser ID = 'abc'rnpassword = 'xyz'rntblb(表)rnID EXPx EXPy EXPzrn1 w01 002 003rn2 w02 004 005rnrn--------------------------------------------------rn两个表连接的条件是:tbla.EXPa=tblb.EXPxrn现在问题是:rn 如果是:select a.ID,a.EXPa,a.EXPc,b.EXPz from tbla a inner join B.dbo.tblb b where a.EXPa=b.EXPx时,查询没有问题,但 将B.dbo.tblb 中的dbo改为其他用户(确实存在的用户,如abc)后则出现找不到对象B.abc.tblb.EXPxrnrn请各位高手帮忙rnrn
不同表空间的两个用户,将A用户的数据库导入B用户
    CREATE TABLESPACE TEST2 DATAFILE 'e:\ORACLE\ORADATA\CMP_TABLESPACE\TEST2_DATA_FILE.DBF' SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED LOGGING ONLINE PERMANENT EXTENT MANAGEMENT LO...
SQLserver 中不同用户的问题?
有下面的一个问题:rn 再SQLServer数据库中,两个不同的用户能不能拥有名字完全相同的表?就是说:用户aa拥有一个名字为student的表,那么用户bb能不能也拥有student的一个表(这两个表名字相同,内容不同)?rn 现在我以管理员身份登录,如果我先将用户aa的一个名字为student的表删除,然后我再将它恢复过来,是不是必须必须要以aa的身份登录呢?rn 谢谢!!rn
linux 复制文件到不同用户中
把文件从普通用户copy 到 root 管理员 copy的方式有多种: 例如可以先把普通用户的文件复制到临时文件 /tmp   通过 su - 切换到 root 用户 ,之后再把 临时文件 /tmp 中的文件 复制到管理员想要的任意目录。 本例子采用 scp ,scp  是在网络的不同主机之间copy 文件之用,它通过 ssh  做数据传输,并用相同的认证提供了相同安全的ssh
oracle 不同库,或不同用户之间如何互相访问???
问题1 :A电脑和B电脑都装了oracle,分别为库orcl1和orcl2,如何在orcl1中访问orcl2中的用户表?rnrn问题2: 一台PC中有两个库,or1和or2,之间如何访问
oracle 同步数据库表数据
oracle 同步数据库表数据create synonym 目标表名 for 来源表的用户.来源表;
spring中配置一个oracle不同用户的datasource
spring + hibernate 的项目,怎么在spring中配置一个oracle不同用户的datasource啊rn对其中一个用户只有select操作,另外一个用户有增,删,改。rnspring的配置文件该怎么写啊? 还有就算是配置完了,那注入到dao里getHibernateTemplate怎么区分是哪个datasource啊?rn还有我的spring是1.2的
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法