如何创建物化视图以连接两个不同的oracle数据库表

无名

我需要创建一个mview以使用refresh命令将数据从远程数据库获取到目标数据库。

这是我创建mview的sql查询:

CREATE DATABASE LINK SI_DB
    CONNECT TO SYSTEM IDENTIFIED BY password
    USING 'SI_DEV';

这是我的tns.ora文件:

SI_DEV=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = servidor)(PORT = 1521))
)
(CONNECT_DATA =
(SID = MSQL)
)
(HS=OK)
)

我收到以下错误:

ORA-12154:TNS:无法解析指定的连接标识符

我不知道如何为远程目标创建mview。

我们是否需要将目标数据库或远程数据库放入.or文件?

谁能帮我解决这个问题?

a_horse_with_no_name

tnsnames.ora这里创建DBLINK需要包含的连接信息,远程Oracle实例的服务器上。您还可以tnsnames.ora通过在创建dblink时提供连接描述符来创建DBLink而不更改该服务器:

CREATE PUBLIC DATABASE LINK SI_DB
  CONNECT TO some_user
  IDENTIFIED BY some_password
USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = servidor)(PORT = 1521)) ) (CONNECT_DATA = (SID = MSQL) ) (HS=OK))';

请注意,与system用户创建一个DBLink以便向普通用户启用实例化视图是一个坏主意。

获得DBLink之后,可以使用以下方法创建mview:

create materialize view foobar
as
select *
from the_table@si_db;

请注意,the_table在DBLink中指定的用户架构中引用表。这就是您不应该将该system帐户用于DBLink的原因之一如果该表不在DBLink用户的模式中,则需要限定该表名:

create materialize view foobar
as
select *
from the_user.the_table@si_db;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用PostgreSQL连接来自不同数据库的两个表?

SQL Merge 连接来自两个不同数据库的两个表

如何将数据库中的两个不同的表包含到一个视图中?

基于两个数据库表之间的数据比较创建oracle视图

如何连接来自两个不同数据库(ms.access和mysql)的三个表?

将用户表连接到两个不同网站的两个不同数据库

MySQL连接选择两个不同的数据库表

用于创建两个连接表的数据库选择?

Django 1.11是否可以在两个不同数据库的表之间创建关系?

如何合并来自两个不同数据库的不同表?

如何关联位于不同数据库(SQL Server)中的两个表?

如何使用Schemabinding使用来自2个不同数据库的表创建索引视图

如何在两个Oracle RDS实例之间创建数据库链接

需要一个SQL查询来连接两个不同数据库中的表

如何连接来自两个不同数据库的两个表并使用 C#/ASP 从 MSSQL 检索数据。如何为此管理连接字符串?

两个不同数据库中两个表之间的多对多关系

从两个不同的表中搜索数据,这两个表在不同的数据库中

在两个数据库的两个不同表中插入相同的Guid键

在 Oracle 数据库上的两个表之间创建一对多关系的正确形式是什么

如何连接两个不同的表?

有没有办法在oracle中显示两个不同的表结构(比较两个表),来自两个不同数据库的表?

Laravel 4:使用Eloquent连接两个表进行多个数据库连接

如何通过mysql中的单个过程更新两个不同数据库中存在的两个不同表的记录?

OOP PHP通过两个不同的类访问两个数据库,如果两个表位于不同的数据库中该如何访问

使用结构不同的MySql同步来自两个不同数据库的两个表

如何为 Timescale 中的现有表创建物化视图?

如何从数据库中的两个表(用户和帖子)为ionic创建一个api

如何避免两个不同的线程从数据库读取相同的行(Hibernate和Oracle 10g)

当我有两个(或多个)具有不同数据库连接的配置文件时,如何通过迁移来更新数据库?