Oracle集群下配置database links

合集下载

Oracle中DBlink与同义词

Oracle中DBlink与同义词

Oracle Dblink and synonym(同义词)一.创建前提1.具有创建link权限2.创建同义词权限(synonym)3.授权命令(在sys用户下)grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to local_userName;二.Link相关权限的查看方式1.以sys用户登录本地数据库2.查看命令:select * from user_sys_privswhere privilege like upper('%link%');结果:3.可以看出dblink有三种权限DATABASE LINK (只能是创建者使用)PUBLIC DATABASE LINK (所有用户)DROP PUBLIC DATABASE LINK (删除link)三.DBlink的两种创建方式1. 在本地数据库tnsnames.ora文件中配置create public database link link_name connect to remote_user identified by remote_password using 'instance_name';其中link_name是你创建的dblink名字,instance_name是远程数据库的实例名,remote_user/remote_password是登录到远程数据库的用户/密码。

注:文件中修改如下2. sql命令直接创建(remote:远程)Create public database link link_nameconnect to remote_user identified by remote_passwordusing ‘(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST =remote_ip)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = remote_instance_name)))’;特别注意:如果是在10g访问11g 密码必须加双引号,否则访问会出错。

Oracle安全配置基线

Oracle安全配置基线

Oracle数据库系统平安配置基线中国移动通信管理信息系统部2021年 4月备注:1.假设此文档需要日后更新,请创立人填写版本控制表格,否那么删除版本控制表格。

目录第1章概述 (4)目的 (4)适用范围 (4)适用版本 (4)实施 (4)例外条款 (4)第2章帐号 (5)帐号平安 (5)删除不必要帐号* (5)限制超级管理员远程登录* (5)用户属性控制 (6)数据字典访问权限 (6)TNS登录IP限制* (7)第3章口令 (8)口令平安 (8)帐号口令的生存期 (8)重复口令使用 (8)认证控制* (9)更改默认帐号密码 (9)密码更改策略 (10)密码复杂度策略 (10)第4章日志 (12)日志审计 (12)数据库审计谋略* (12)第5章其他 (13)其他配置 (13)设置监听器密码 (13)加密数据* (13)第6章评审与修订 (14)第1章概述1.1 目的本文档规定了中国移动管理信息系统部所维护管理的ORACLE数据库系统应当遵循的数据库平安性设置标准,本文档旨在指导数据库管理人员进展ORACLE数据库系统的平安配置。

1.2 适用范围本配置标准的使用者包括:数据库管理员、应用管理员、网络平安管理员。

本配置标准适用的范围包括:中国移动总部和各省公司信息化部门维护管理的ORACLE数据库系统。

1.3 适用版本ORACLE数据库系统。

1.4 实施本标准的解释权和修改权属于中国移动集团管理信息系统部,在本标准的执行过程中假设有任何疑问或建议,应及时反应。

本标准发布之日起生效。

1.5 例外条款欲申请本标准的例外条款,申请人必须准备书面申请文件,说明业务需求和原因,送交中国移动通信管理信息系统部进展审批备案。

第2章帐号2.1 帐号平安2.1.1删除不必要帐号*2.1.2限制超级管理员远程登录*2.1.3用户属性控制2.1.4数据字典访问权限2.1.5TNS登录IP限制*第3章口令3.1 口令平安3.1.1帐号口令的生存期3.1.2重复口令使用3.1.3认证控制*3.1.4更改默认帐号密码3.1.5密码更改策略3.1.6密码复杂度策略第4章日志4.1 日志审计4.1.1数据库审计谋略*第5章其他5.1 其他配置5.1.1设置监听器密码5.1.2加密数据*第6章评审与修订本标准由中国移动通信管理信息系统部定期进展审查,根据审视结果修订标准,并颁发执行。

Oracledblinkjob存储过程

Oracledblinkjob存储过程

同一台数据库服务器上两个不同的数据库可以通过共享来实现数据共享。

两台不同的数据库服务器无法通过这种方法来实现数据共享,这个时候可以使用database links 。

创建全局database links ,则必须使用systm或sys用户,在database前加public1.两种方式创建1.1 已经配置本地服务CREATE DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码USING '本地配置的数据的实例名' ;1.2 未配置本地服务create database link linkfwqconnect to fzept identified by neuusing '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = fjept)))' ;两种方法配置dblink是差不多的,第二种方法不受本地配置的数据的实例名的影响。

2 查询远程数据库的数据SELECT …… FROM 表名@数据库链接名;查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。

Job创建测试表SQL> create table TEST(a date);表已创建。

创建一个自定义过程SQL> create or replace procedure MYPROC as2begin3insert into TEST values(sysdate);4end;5/过程已创建。

创建JOBSQL> variable job1 number;SQL>SQL> begin2dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440');--每天1440分钟,即一分钟运行test过程一次3end;4/PL/SQL 过程已成功完成。

oracle的dblink的用法

oracle的dblink的用法

oracle的dblink的用法DBlink是Oracle中常用的一种连接两个数据库的方法,其实现了不同数据库之间的数据共享。

本文将为您详细介绍Oracle的DBlink的用法。

1.创建DBlinkCREATE DATABASE LINK [link_name]CONNECT TO [username] IDENTIFIED BY [password]USING [tansport_protocol]([hostname][port], [service])其中,link_name指创建的DBlink的名称;username和password指访问目标数据库的用户名和密码;tansport_protocol指传输协议,可选值有TCP、IPC和DECNET;hostname和port指目标数据库的主机名和端口号;service指目标数据库所使用的服务名。

例如:1.2.通过tnsnames.ora文件创建DBlink创建数据库连接可以参考上述方法,也可以使用tnsnames.ora文件创建链接,只需在tnsnames.ora文件中增加目标数据库的连接信息即可,例如:REMOTEDB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = remotedb)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))如上所示,在tnsnames.ora文件中增加了远程数据库的连接信息,其中REMOTEDB为链接名称。

通过以上语句,即可成功创建DBlink。

查询DBlink可以使用系统视图DBA_DB_LINKS,其记录了所有当前数据库中的DBlink 信息,例如:SELECT * FROM DBA_DB_LINKS;使用DBlink,可以在当前数据库中使用远程数据库中的数据。

例如:SELECT column1, column2, column3 FROM remote_table@remote_link;其中,remote_table表示远程数据库中的表名称,remote_link为创建的DBlink的名称。

ORACLE 中SCHEMA的概念以及数据库,表空间,数据文件等的区别

ORACLE 中SCHEMA的概念以及数据库,表空间,数据文件等的区别

ORACLE 中SCHEMA的概念以及数据库,表空间,数据文件等的区别(转)有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助。

我们先来看一下他们的定义:A schema is a collection of database objects (used by a user.).Schema objects are the logical structures that directly refer to the database’s data.A user is a name defined in the database that can connect to and access objects.Schemas and users help database administrators manage database security.从定义中我们可以看出schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。

一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。

这也就是我们在企业管理器的方案下看到schema 名都为数据库用户名的原因。

Oracle数据库中不能新创建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决(Oracle中虽然有create schema语句,但是它并不是用来创建一个schema的),在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。

创建oracle dblink

创建oracle dblink

创建oracle dblink发表时间: 2008年04月07日 23时07分评论/阅读(/)本文地址: /blog/496696373-1207580863物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单一的大型数据库,用户可以通过网络对异地数据库中的数据进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的,开发人员无需关心网络的链接细节、数据在网络节点中的具体分布情况和服务器间的协调工作过程。

数据库之间的链接建立在DATABASE LINK上。

要创建一个DATABASE LINK,必须首先在建立链接的数据库上设置链接字符串,即配置一个远程数据库的本地网络服务名。

链接字符串的配置参见《客户端连接服务器》一节。

数据库全局名称可以用以下命令查出:SELECT * FROM GLOBAL_NAME;修改可以用以下语句来修改参数值:ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;<1>、当数据库参数global_name=false时,就不要求数据库链接名称跟远端数据库名称一样。

oracle数据库之间进行连接通讯。

创建数据库链接的语法如下:CREATE [PUBLIC] DATABASE LINK linkCONNECT TO username IDENTIFIED BY passwordUSING ‘connectstring’其中:--demona为用net8 easy config创建的连接字符串目的方数据库的init.ora文件中的global_names设为false重新启动数据库设置才能生效或者用sys用户执行注意:创建数据库链接的帐号必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系统权限,用来登录到远程数据库的帐号必须有CREATE SESSION权限。

Oracle Database Appliance 部署和用户指南说明书

Oracle Database Appliance 部署和用户指南说明书

A Plug in AC power to the two power supplies (1). For redundancy, each power supply should be connected to a separate AC power source.B Plug in a network cable to the Oracle Integrated Lights Out Manager (Oracle ILOM) network management port (2).C Plug in network cables for public network (3). (Port connections can vary depending on the option ordered).1Server Back Panel Components, Connectors, and Indicators13Deploy and Con�gure the ApplianceRefer to the Oracle Database Appliance Deployment and User’s Guide for information about con�guring and deploying the appliance.To get started with your appliance, refer to the Oracle Database Appliance Welcome Kit at: h�p:///goto/oda/docsCopyright © 2023, Oracle and/or its a�liates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its a�liates. Other names may be trademarks of their respective owners. F79893-01; Mfg no 82173292Start Up the SystemPower on the host.A Con�rm that the green SP OK LED (4) is steady ON and the green Power OK LED (5) �ashes slowly.This indicates that the server is in Standby power mode.B Push the power bu�on (6). This applies full power to the server.C Wait for the green Power OK LED (5) to turn steady ON. The Power OK LED may blink for several minutes. Do not repeatedly push the power bu�ons.1Power Supply (PS) 1 with fan module2Power Supply (PS) 1 status indicators: Service Required LED: amber, AC OK LED: green 3Power Supply (PS) 0 with fan module4Power Supply (PS) 0 status indicators: Service Required LED: amber, AC OK LED: green 5Not usedCallout Description11PCIe card slot 6: Oracle Retimer PCIe Card 12PCIe card slot 7: �ller panel13PCIe card slot 8: �ller panel, or 3rd optional Oracle Dual Port 25Gb Ethernet Adapter or Oracle Quad Port 10GBase-T Adapter14PCIe card slot 9:Oracle Database Appliance X10-S: �ller panel, or 2nd optional Oracle Dual Port 25Gb Ethernet Adapter or Oracle Quad Port 10GBase-T Adapter Oracle Database Appliance X10-L: �ller panel, or 3rd optional Oracle Flash Accelerator 680 PCIe Card PCIe card slot 4:Oracle Database Appliance X10-S: �ller panelOracle Database Appliance X10-L: �ller panel, or 2nd optional Oracle Dual Port 25Gb Ethernet Adapter or Oracle Quad Port 10GBase-T Adapter PCIe card slot 3:Oracle Database Appliance X10-S: �ller panelOracle Database Appliance X10-L: �ller panel, or 2nd optional Oracle Flash Accelerator 680 PCIe CardPCIe card slot 2:Oracle Database Appliance X10-S: �ller panelOracle Database Appliance X10-L: �ller panel, or 1st optional Oracle Flash Accelerator 680 PCIe Card PCIe card slot 1:Oracle Database Appliance X10-S: �ller panelOracle Database Appliance X10-L: �ller panel, or 4th optional Oracle Flash Accelerator 680 PCIe Card 18USB 3.1 connector19System status indicators: Service Required LED (amber), Power/OK LED (green)20SER MGT port: RJ-45 serial port used to connect to the Oracle ILOM service processor15Locate LED (white)16100/1000Base-T network interface port with RJ-45 connector: NET 0179NET MGT port: 10/100/1000Base-T network interface port with RJ-45 connector used to connect to the Oracle ILOM service processor 768For more information about Oracle Database Appliance, go to Oracle Technology Network:h�p:///technetwork/server-storage/engineered-systems/database-appliance/index.html For more information about deployment, go to: h�p:///goto/oda/docsYou can also scan the Quick Response Code with your mobile device to read the documentation.Database ApplianceSetup for Oracle Database Appliance X10-S/X10-L10PCIe card slot 5: 1st Oracle Dual Port 25Gb Ethernet Adapter or Oracle Quad Port 10GBase-T Adapter Connect Power and Network Cables5641323419151617181256789101113142012Node。

oracle dblink原理

oracle dblink原理

oracle dblink原理Oracle数据库中的DBLINK(Database Link)是一种用来在不同数据库之间建立连接和进行数据传递的机制。

DBLINK可以使得Oracle数据库之间能够相互通信和交互,实现数据的共享和访问。

本文将介绍DBLINK的原理和使用方法。

DBLINK的原理是基于Oracle数据库的网络通信和分布式数据库技术实现的。

在Oracle数据库中,每个数据库都有一个全局数据库名(GLOBAL_NAME),用来标识该数据库的唯一性。

通过DBLINK,可以在一个数据库中访问另一个数据库的数据,就好像在本地数据库中访问一样。

DBLINK的建立需要两个步骤:首先在本地数据库中创建DBLINK,然后在远程数据库中创建相应的数据库连接。

在创建DBLINK时,需要指定远程数据库的全局数据库名和连接字符串。

连接字符串是由远程数据库的网络地址、监听端口和数据库实例名组成的。

通过连接字符串,本地数据库可以找到远程数据库并建立连接。

在使用DBLINK访问远程数据库时,可以通过SQL语句来操作远程数据库的数据。

例如,可以使用SELECT语句从远程数据库中查询数据,使用INSERT语句向远程数据库中插入数据,使用UPDATE 语句更新远程数据库中的数据,使用DELETE语句删除远程数据库中的数据,等等。

在SQL语句中,需要使用DBLINK的名称来标识要操作的远程数据库。

DBLINK的使用可以大大简化数据的共享和访问。

通过DBLINK,可以直接在本地数据库中操作远程数据库的数据,而无需在应用程序中编写复杂的数据传递和调用代码。

这样可以提高开发效率和系统性能,减少开发和维护的工作量。

然而,DBLINK也有一些限制和注意事项。

首先,DBLINK只能在Oracle数据库之间建立连接,不能用于其他数据库。

其次,DBLINK的使用需要一定的权限,需要具有创建和使用DBLINK的权限才能进行操作。

此外,由于DBLINK涉及到跨数据库的数据传递,因此对网络带宽和数据安全性要求较高。

oracle 数据库database link sql写法

oracle 数据库database link sql写法

oracle 数据库database link sql写法在Oracle 数据库中,Database Link 是一种连接到其他数据库的机制,允许在一个数据库中访问另一个数据库的对象。

以下是创建和使用Oracle Database Link 的SQL 写法:创建Database Link:```sqlCREATE DATABASE LINK link_nameCONNECT TO usernameIDENTIFIED BY passwordUSING 'connection_string';```- `link_name`:指定Database Link 的名称。

- `username`:连接到目标数据库的用户名。

- `password`:连接到目标数据库的密码。

-`connection_string`:目标数据库的连接字符串。

这可以是TNS(Transparent Network Substrate)服务名或连接描述符。

使用Database Link 进行查询:```sql--使用@ 符号引用Database LinkSELECT * FROM remote_table@link_name;--使用在FROM 子句中指定Database LinkSELECT * FROM remote_table LINK link_name;```- `remote_table`:目标数据库中的表名。

示例:假设有两个数据库:本地数据库(LocalDB)和远程数据库(RemoteDB)。

我们可以按照以下步骤创建Database Link 并进行查询:1. 在本地数据库(LocalDB)中创建Database Link:```sqlCREATE DATABASE LINK remote_linkCONNECT TO remote_userIDENTIFIED BY remote_passwordUSING 'RemoteDB';```2. 在本地数据库(LocalDB)中使用Database Link 查询远程数据库(RemoteDB)中的表:```sql--使用@ 符号引用Database LinkSELECT * FROM employees@remote_link;--或者使用在FROM 子句中指定Database LinkSELECT * FROM employees LINK remote_link;```上述SQL 语句中的`employees` 是远程数据库中的表名。

oracle dblink使用方法

oracle dblink使用方法

oracle dblink使用方法Oracle DBLINK 使用方法什么是 Oracle DBLINK?DBLINK 是 Oracle 数据库中的一个特性,允许在不同的数据库之间建立连接,实现跨数据库的查询与操作。

创建 DBLINK1.使用CREATE DATABASE LINK命令创建 DBLINK,如下所示:CREATE DATABASE LINK link_nameCONNECT TO usernameIDENTIFIED BY passwordUSING 'tns_alias';其中,link_name为 DBLINK 的名称,username 和password为目标数据库的登录凭证,tns_alias是目标数据库的 TNS 别名。

2.创建完成后,可以使用以下命令验证是否创建成功:SELECT * FROM ALL_DB_LINKS;使用 DBLINK 进行查询1.在查询中使用@link_name来引用 DBLINK,例如:SELECT * FROM table_name@link_name;2.在跨数据库查询时,可能需要在 FROM 子句中使用_name来指定表的完整名称,例如:SELECT * FROM _name@link_name;修改 DBLINK1.使用ALTER DATABASE LINK命令修改 DBLINK 的连接信息,例如:ALTER DATABASE LINK link_nameCONNECT TO new_usernameIDENTIFIED BY new_passwordUSING 'new_tns_alias';2.修改完成后,可以使用以下命令验证是否修改成功:SELECT * FROM ALL_DB_LINKS;删除 DBLINK1.使用DROP DATABASE LINK命令删除 DBLINK,例如:DROP DATABASE LINK link_name;2.删除后,可以使用以下命令验证是否删除成功:SELECT * FROM ALL_DB_LINKS;注意事项•创建 DBLINK 需要有足够的权限,可以是CREATE DATABASE LINK或SYSDBA等权限。

在oracle下如何创建database link全面总结

在oracle下如何创建database link全面总结

在oracle下如何创建database link全面总结作者:佚名文章来源:本站原创浏览次数:44 文章录入:admin物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单一的大型数据库,用户可以通过网络对异地数据库中的数据进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的,开发人员无需关心网络的链接细节、数据在网络节点中的具体分布情况和服务器间的协调工作过程。

数据库之间的链接建立在DATABASE LINK上。

要创建一个DATABASE LINK,必须首先在建立链接的数据库上设置链接字符串,即配置一个远程数据库的本地网络服务名。

链接字符串的配置参见《客户端连接服务器》一节。

数据库全局名称可以用以下命令查出:SELECT * FROM GLOBAL_NAME;修改可以用以下语句来修改参数值:ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;<1>、当数据库参数global_name=false时,就不要求数据库链接名称跟远端数据库名称一样。

oracle数据库之间进行连接通讯。

创建数据库链接的语法如下:CREATE [PUBLIC] DATABASE LINK linkCONNECT TO username IDENTIFIED BY passwordUSING ‘connectstring’其中:--demona为用net8 easy config创建的连接字符串目的方数据库的init.ora文件中的global_names设为false重新启动数据库设置才能生效或者用sys用户执行注意:创建数据库链接的帐号必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK 的系统权限,用来登录到远程数据库的帐号必须有CREATE SESSION权限。

这两种权限都包含在CONNECT角色中(CREATE PUBLIC DATABASE LINK权限在DBA中)。

配置ORACLE数据库连接串

配置ORACLE数据库连接串

配置Oracle数据库连接串1、点击:开始—>程序—>Oracle-OraHome81—>NetworkAdministration —>Net8ConfigurationAssistant启动Net8ConfigurationAssistant如下图:(图ORCL_01)2、选择本地网络服务名配置,点击下一步。

(图ORCL_02)3、选择添加,点击下一步(图ORCL_03)4、选择Oracle8i数据库或服务,点击下一步(图ORCL_04)5、在上图中输入全局数据库名,(勿必与安装ORACLE服务器时输入的全局数据库名<SID>一致。

如:ORCL)点击下一步。

(图ORCL_05)6、选择TCP协议,点击下一步。

(图ORCL_06)7、填入实际数据库服务器的主机名(请使用IP地址),如主机名为:192.168.0.1,选择请使用标准端口号1521,点击下一步。

(图ORCL_07)8、选择:是,进行测试,点击下一步。

(图ORCL_08)9、在上图中如果提示测试不成功,请点击后退按钮,检查在图ORCL_04中输入的全书数据库名是否正确,检查图ORCL_05中选择的是否是TCP协议,检查图ORCL_06中输入的主机名(IP地址)是否正确。

如果上图中提示测试成功,则点击下一步。

(请确保测试成功)(图ORCL_09)10、在上图中输入网络服务名为:Ecom1.3(请确保输入为Ecom1.3)点击下一步。

(图ORCL_10)11、在上图中选择否,点击下一步。

(图ORCL_11)12、点击下一步。

(图ORCL_12)11、点击完成。

结束Oracle数据库连接字符串的配置。

测试数据库的配置结果开始—>程序—>Oracle-OraHome81—>ApplicationDevelopment—>SQLPlus 启动SQLPlus如下图:在上图中输入如下值:用户名称:SYSTEM口令:MANAGER主机字符串:Ecom1.3点击“确定”按钮。

oracle安全基线

oracle安全基线

Oracle数据库安全配置基线加固操作指导书佛山供电局信息中心2014年4月目录1.1 Oracle数据库安全配置基线 (2)1.1.1 确保数据库多余用户已锁定 (2)1.1.2 口令加密 (3)1.1.3 数据库SYSDBA帐号登录控制 (3)1.1.4 口令应有复杂度要求 (5)1.1.5 应启用登录失败处理功能 (9)1.1.6 网络通信加密 (10)1.1.7 应对数据库主机管理员帐号进行控制 (10)1.1.8 依据安全策略控制用户对资源的访问 (12)1.1.9 实现管理用户的权限分离 (13)1.1.10 应对数据库数据字典保护 (14)1.1.11 确保安全审计配置符合安全审计策略的要求 (15)1.1.12 应保护审计记录避免受到破坏 (17)1.1.13 数据库系统应遵循最小安装的原则 (17)1.1.14 应设置监听口令 (17)1.1.15 应设置监听服务空闲连接超时时间 (19)1.1 Oracle数据库安全配置基线1.1.1 确保数据库多余用户已锁定利用sqlplus登录进oracle数据库执行下列语句查看所有用户:select * from all_users;1.1.2 口令加密1.1.3 数据库SYSDBA帐号登录控制1、远程登录利用sqlplus登录进oracle数据库使用show parameter命令来检查参数REMOTE_LOGIN_PASSWORDFILE确保设置为NONE。

执行语句:Show parameter REMOTE_LOGIN_PASSWORDFILE;2、自动登录在服务器上查找 SQLNET.ORA 文件,一般是$ORACLE_HOME/network/admin 目录中,不过有时路径会不一样(按实际情况查找,直接采用搜索功能也可)。

查看该文件SQLNET.AUTHENTICATION_SERVICES的值,确保为none1、远程登录2、自动登录在$ORACLE_HOME\network\admin目录下的Sqlnet.ora文件中设置SQLNET.AUTHENTICATION_SERVICES=(NONE)1.1.4 口令应有复杂度要求1.1.5 应启用登录失败处理功能利用sqlplus登录进oracle数据库。

oracle dblink 用方法

oracle dblink 用方法

oracle dblink 用方法Oracle数据库链接(DBLink)是一种允许用户通过一台服务器访问另一台服务器上的数据库的机制。

以下是创建和使用Oracle DBLink的方法:1. 创建DBLink:创建DBLink需要一定的权限。

如果你要为一个用户(如`CMH`)创建DBLink,你需要首先确认该用户具备`CREATE DATABASE LINK`的权限。

如果该用户没有此权限,你可以使用如下SQL命令为其赋予权限:```sqlGRANT CREATE PUBLIC DATABASE LINK TO CMH;```之后,你可以使用如下命令为该用户创建一个DBLink:```sqlCREATE DATABASE LINK test_dbCONNECT TO system IDENTIFIED BY password USING 'test';```其中,`test_db`是DBLink的名称,`system`是远程数据库的用户名,`password`是该用户的密码,`test`是远程数据库的TNS名称。

2. 使用DBLink:一旦DBLink创建成功,你就可以使用它来查询远程数据库了。

例如,如果你想查询远程数据库中的所有表名,你可以使用如下命令:```sqlSELECT FROM all_tablestest_db;```这条命令将会查询`test`数据库中的所有表。

3. DBLink的类型:Oracle的DBLink主要分为三类:Private DBLink:这是用户级别的DBLink,只有创建该DBLink的用户才能使用它来访问远程数据库,也只有该用户可以删除它。

Public DBLink:这是数据库级别的DBLink,本地数据库中所有的用户都可以使用这个DBLink。

Global DBLink:这是网络级别的DBLink,对于Oracle网络而言。

4. 注意事项:确保远程数据库的TNS名称正确,否则你可能会遇到连接错误。

Oracle DB Link介绍

Oracle DB Link介绍

一、基本概念:数据库连接串主要用于建立对远程数据库的访问方法,可以直接读取远程Oracle的数据,或者直接修改。

数据库连接串可以是公用连接PUBLIC或者私有连接PRIV ATE。

这一点和同义词很相像。

1。

创建语法:CREATE DATABASE LINK TEST CONNECT TO USERNAME IDENTIFIED BY PASSWORDUSING 'CONNECT_STRING';解释:TEST是数据库连接串的名字。

以后就通过这个名字来进行调用远程数据库的内容。

USERNAME是用来连接到远程数据库的合法Oracle用户名。

PASSWORD为该用户连接到Oracle时候的合法密码。

CONNECT_STRING为该Oracle数据库所在的主机上的tnsnames.ora文件里边定义的数据库连接串(SID)。

2。

使用方法:SELECT COUNT(*) FROM TABLE_NAME@DB_LINK WHERE WHERE_CLAUSE;//查阅远程数据库的内容。

UPDATE TEST.TEST@DB_LINK SET SO_NBR=NEW_SO_NBRWHERE WHERE_CLAUSE;//修改远程数据库的内容。

在实际使用过程中,还可以通过为这个远程表建立一个同义词来进一步增加透明性,使该数据库连接串对于程序和开发人员来讲完全透明。

CREATE SYNONYM TABLE_NAME FOR TABLE_NAME@DB_LINK;3。

数据库连接的管理:◆如何知道当前用户、当前系统中有哪些数据库连接串?SELECT * FROM USER_DB_LINKS;这个查询会给出当前用户的数据库联接的名字、联接用户名、联接密码、要连接的主机以及创建时期。

SELECT * FROM DBA_DB_LINKS;这个查询会给出当前系统中所有的数据库联接的创建用户、联接用户名、要连接的主机以及创建时期。

oracle通过gateways网关建立database link访问mysql数据库

oracle通过gateways网关建立database link访问mysql数据库

1、分配mysql账号2、安装dg4odbc详细的gateways安装步骤参考/mchdba/article/details/52719278里面的2、安装模块里面有详细的步骤描述。

在安装的时候,有一个关键的选择步骤就是选择odbc组件包进行安装,如下所示:E:\u\oracle\install\pic\11.png,3、查看下安装的dg4odbc:4、安装mysql组件准备安装mysql客户端:yum install mysql-connector-odbc.x86_64 -y;这样会安装一些依赖包主要是mysql-connector*.x86_64.rpmunixODBC*.x86_64.rpmunixODBC*.i386.rpm5、配置odbc-mysql连接6、测试连接:7、配置oracle连接配置$ORACLE_HOME/network/admin/listener.ora SID_NAME is the DSN for the remote database. ORACLE_HOME is the actual Oracle home file path. PROGRAM tells Oracle to use heterogeneous services.8、建立dblink测试:解决办法:重启lsnrctl服务9、问题ORA-28511再次查看:# PS:这个时候,oracle的网关对mysql的表是锁定状态,任何对mysql表的dml、ddl操作需要在oracle的窗口退出来,释放掉通过网关对mysql的锁,才能让mysql窗口的alter语句sesseion会话得到这个表的使用权限来顺利执行完成alter操作。

BUT、但是,但是可惜的是alter语句执行完后,select cname 还是报一样的错误出来问题依旧,等待后续进一步解决。

oracle的db-link的实现原理

oracle的db-link的实现原理

oracle的db-link的实现原理Oracle中的DBlink(数据库链接)是将不同数据库之间的连接组合成一个数据库网络的方法。

它让用户可以在不同的数据库之间执行查询和数据传输操作,而无需在这些数据库之间进行物理迁移。

在这篇文章中,我们将探索Oracle中DBlink的实现原理。

一、DBlink的创建和使用在Oracle中,可以使用常见的SQL语句来创建DBlink:CREATE DATABASE LINK dblink_name CONNECT TO username IDENTIFIED BY password USING 'tnsname';上述语句中,dblink_name是链接的名称,username和password是链接目标数据库的凭据,tnsname是一个TNS别名,指定链接目标数据库的连接信息。

使用DBlink时,可以在SQL语句中使用以下格式来引用链接的表或视图:这条SQL语句中,table是链接目标数据库中的表或视图名,dblink_name是链接的名称。

1.数据库连接当一个数据库被链接到另一个数据库时,Oracle会在目标数据库中建立一个逻辑连接。

这个连接包含在DBlink的定义中,并将链接的用户名、密码和目标数据库的连接信息传递给目标数据库。

2.关键字解析当在SQL语句中使用DBlink时,Oracle会解析该语句并识别DBlink 的存在。

在解析期间,Oracle还会解析DBlink的名称,并以此确定链接的目标数据库。

这些信息存储在会话级别的内存结构中,以便在执行期间使用。

3.SQL解析和优化在SQL语句解析阶段,Oracle会解析查询中涉及的表和视图,并生成执行计划。

当遇到DBlink时,Oracle会调用链接会话的解析器。

解析器将从高级查询处理器接收到的查询请求分成多个小查询,然后在目标数据库上执行这些查询,并将结果传递给高级查询处理器。

在处理过程中,解析器还需要保持链接的状态,以便在执行期间正确处理链接。

oracle database link用法

oracle database link用法

oracle database link用法Oracle数据库链接(Database Link)是一种连接到另一个Oracle数据库的方法,可以在当前数据库中访问远程数据库的对象和数据。

使用数据库链接可以在不同数据库之间进行查询、插入、更新和删除等操作。

创建数据库链接可以使用以下语法:CREATE DATABASE LINK link_nameCONNECT TO username IDENTIFIED BY passwordUSING 'tns_entry';其中,link_name是链接的名称,username和password是远程数据库的用户名和密码,tns_entry是远程数据库的TNS服务名或连接描述符。

创建链接后,可以使用以下语法在查询中引用远程数据库的对象和进行操作:SELECT * FROM table_name@link_name;其中,table_name是远程数据库中的表名。

示例:SELECT * FROM employees@remote_db;上述示例查询了远程数据库remote_db中的employees表的所有数据。

可以使用数据库链接进行的操作还包括插入、更新和删除等操作:INSERT INTO table_name@link_name (column1, column2, ...) VALUES (value1, value2, ...);UPDATE table_name@link_name SET column1 = value1,column2 = value2WHERE condition;DELETE FROM table_name@link_name WHERE condition;使用数据库链接需要注意的一些事项:- 创建数据库链接需要有CREATE DATABASE LINK权限。

- 远程数据库的用户名和密码必须正确,否则无法建立连接。

Oracle数据库链接建立技巧与实例讲解

Oracle数据库链接建立技巧与实例讲解

Oracle数据库链接建立技巧与实例讲解数据库链接(DATABASE LINK)是在分布式环境下,为了访问远程数据库而创建的数据通信链路。

数据库链接隐藏了对远程数据库访问的复杂性。

通常,我们把正在登录的数据库称为本地数据库,另外的一个数据库称为远程数据库。

有了数据库链接,可以直接通过数据库链接来访问远程数据库的表。

常见的形式是访问远程数据库固定用户的链接,即链接到指定的用户,创建这种形式的数据库链接的语句如下:CREATE DATABASE LINK 链接名 CONNECT TO 账户 IDENTIFIED BY 口令USING 服务名;创建数据库链接,需要CREATE DATABASE LINK系统权限。

数据库链接一旦建立并测试成功,就可以使用以下形式来访问远程用户的表。

表名@数据库链接名例:在局域网上创建和使用数据库链接。

步骤1:创建远程数据库的服务名,假定局域网上另一个数据库服务名为MYDB_REMOTE。

步骤2:登录本地数据库SCOTT账户,创建数据库链接:CONNECT SCOTT/TIGER@MYDBCREATE DATABASE LINK abc CONNECT TO scott IDENTIFIED BY tiger USING'MYDB_REMOTE';执行结果为:数据库链接已创建。

查询远程数据库的数据:SELECT * FROM emp@abc;结果略。

步骤4:一个分布查询:SELECT ename,dname FROM emp@abc e,dept d WHERE e.deptno=d.deptno;结果略。

说明:在本例中,远程数据库服务名是MYDB_REMOTE,创建的数据库链接名称是abc.emp@abc表示远程数据库的emp表。

步骤4是一个联合查询,数据来自本地服务器的dept 表和远程服务器的emp表。

如果编程人员要在一个表中查找许多行,结果中的每个行都会查找其他表中的数据,最后,编程人员创建了独立的UPDATE命令来成批地更新第一个表中的数据。

Oracle数据库DATABASE LINK的命名

Oracle数据库DATABASE LINK的命名
B数据库的global_name(B数据库的GLOBAL_NAMES参数不影响)
SQL> select * from global_name;
GLOBAL_NAME
------------------------------------

A数据库创建DBLINK到B数据库
CREATE DATABASE LINK "@dp_taishan"
CONNECT TO DP_TAISHAN
IDENTIFIED BY a1b2c3
USING 'kyy';
CREATE DATABASE LINK "@dp_pk"
USING 'kyy';
另外,当前SCHEMA不能给其他SCHEMA创建链接,因为数据库DBLINK其名称可以含有'.'即点号。比如A用户想给B用户创建一个DBLINK名叫LINKB,CREATE DATABASE LINK B.LINKB ......,这个语句将会实际创建一个A用户下的名为B.LINKB的数据库链接。
比如用户创建一个dblink名叫linkbcreatedatabaselinkblinkb这个语句将会实际创建一个a用户下的名为blNAMES参数设置为TRUE,使用DATABASE LINK时,DATABASE LINK的名称必须与被连接库的GLOBAL_NAME一致。而要建多个DBLINK到同一个库,则DBLINK的命名规则可以为:被连接库GLOBAL_NAME@标识。
例如:
A数据库的global_name和global_names
SQL> show parameter global_names;
NAMETYPE VALUE
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
execute immediate v_str using v_taskindex,v_productindex,v_filepath;
流程:最先通过DBLINK在191主DB上调用zxdbm_ismp.sp_getmaxvalue函数取得 v_taskindex值,再通过 DBLINK往主DB上的zxdbm_ismp.sgroup_task和zxdbm_ismp.sgroup_condition表中插入任务记录。
在多DB方案基础上,门户侧的订购联系查询也就要随之调整,须要远程访问分DB上的订购联系记录,这里就须要用到下面要推荐的DBLINK。
1. 建立 DBLINK.
A 动态DB LINK (未配置本地服务)
-- Create database link
create public database link link_name
实际运用:
基于多DB的SHELL脚本,部署在各分DB上,通过Orabcp导出文件并FTP到主DB上,同时SHELL脚本调存储流程 DBLINK往主DB的定时任务表中插入任务记录。
主DB:10.129.39.191
分DB:10.129.39.164
分DB:10.129.39.190
这里要将DBLINK建立在分DB上,因为须要部署在分DB上的SHELL调用存储流程,通过DBLINK将往主DB上插数据。
建立 DBLINK:
create database link zx10_129_39_191 connect to zxdbm_ismp identified by zxin_smap
SQL>create synonym syn_name for tablename@link_name;
于是就可以用syn_name来替代带@符号的分布式链接操作tablename@link_name。
create public synonym syn_name1 for susr_basic@link_name;
execute immediate v_str using v_taskindex,v_starttime,v_endtime;
--sgroup_condition
v_str:= 'insert into zxdbm_ismp.sgroup_condition@'v_dblink'(taskindex,productindex,condtion,startdate,enddate,reserve1,userfilepath) values(:p1,:p2,2,''20000101000000'',''21000101000000'',0,:p3)';
using '(DESCRIPTION =
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.129.39.191)(PORT= 1521)))
(CONNECT_DATA =(SERVICE_NAME = zxin)))'
存储流程 zxdbm_500.sp_product_sgrouptask_create_a中的DBLINK语句如下:
--sgroup_task
v_str:= 'insert into zxdbm_ismp.sgroup_task@'v_dblink'(taskindex,taskname,type,status,content,starttime1,endtime1) values(:p1,''sp_user_subscription'',27,2,2,:p2,:p3)';
create public synonym syn_name2 for susr_info@link_name;
再访问susr_basic表时就可以直接这样写.
Select * from syn_name1.
4. 删除DBLINK.
--删除dblink:
Drop PUBLIC DATABASE LINK link_name;
using 'DB.TNSNAME';
注:第二种要领须要在当前的SERVER上建立名为 'DB.TNSNAME' 的TNS .留心是在SERVER上建TNS,不是CLIENT. 很多人建了DB-LINK 就会报错ORA-12154 ,就是这个原由 .
C.假如建立全局dblink,必须运用 system或sys用户,在database前加public。
v_dblink := 'zx10_129_39_191';
v_str := 'begin zxdbm_ismp.sp_getmaxvalue@'v_dblink' (''sgroup_task'',1,:p1) ; end;' ;
execute immediate v_str using out v_taskindex ;
global_names boolean FALSE
可以通过下面命令修改global_names取值
SQL>alter system set global_names = false;
3. 建立同义词
为了使相关分布式操作更透明,ORACLE数据库里有同义词的对象synonym
connect to zxdbm_ismp
identified by zxin_smap
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521))
)(CONNECT_DATA =(SERVICE_NAME = zxin))
运营商系统中,用户订购联系往往数据量很大,涉及到百万及千万级别,显然,对订购联系表的访问频率也就特别之高,对这块的性能要求自然就很高。鉴于目前单 DB方案(所有订购联系表记录都存在一个DB中),随着系统日益的运行,数据量的添加,必然会遇到瓶颈。因此就设计出一个DB集群方案,将单DB方案调整成多DB方案(一个主DB存放非订购联系记录,多个分DB分别按照号段来存放订购联系记录)。
D. 查询现在服务器中存在的DBLINK
select * from dba_db_links;
E.通过DBLINK访问数据库中的表.
select * from susr_basic@link_name;
2. global_names的配置
数据库参数global_name=true时要求数据库链接名称跟远端数据库名称一样,数据库默认为false.
注:sp_product_sgrouptask_create_a存储流程
所在Oracle用户之zxdbm_500,故须要在zxdbm_500用户下建立连接到191主DB的DBLINK语句,在其他用户下RVER DB-LINK(已经配置本地服务)
-- Create database link
create public database link link_name
connect to zxdbm_ismp
identified by zxin_smap
注:建议配置为false,这样DBLINK的取名灵活性会比较大.
--查询global_names表的值,默认为false;
SQL> show parameter global_names
NAME TYPE VALUE
------------------------------------ -----------------------------------------
相关文档
最新文档