ORACLE跨数据库操作,DBLINK的使用
前几天帮一个朋友弄ORACLE跨数据库的操作,共享下具体的操作流程:
一、不同IP的数据库(DBLINK)
本地数据库ip 10.56.7.26
远程数据库ip 233.215.219.8
1.在10.56.7.26数据库安装文件中,找到$ORACLE_HOME/network/admin/tnsnames.ora文件,
末尾添加
MEDIADBLINK =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 233.215.219.8)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
2.登录到10.56.7.26数据库,创建database link,这里需要使用sysdba的角色登录,进行权限分配方可创建
执行如下sql语句:
create public database link MEDIADB
connect to smsuser identified by zonefree2better
using 'MEDIADBLINK';
创建完后使用,检查是否成功:
select owner,object_name from dba_objects where object_type='DATABASE LINK';
3.在10.56.7.26中创建触发器
触发器中插入远程数据表sql:
create or replace trigger t_t_test
after insert on t_sta_bill
for each row
DECLARE
-- local variables here
BEGIN
--操作远程数据表
INSERT INTO t_test@MEDIADB
(USERID,USERNAME,PASSWORD)
VALUES (:NEW.USERID,:NEW.USERNAME,:NEW.PASSWORD);
END t_t_test;
二、同机器上的不同用户数据库 一台机器上的不同用户,可以使用
SELECT ssh2.A.* from SSH2.A, orcl.A WHERE ssh2.A.USER_ID = orcl.A.USER_ID ssh2、orcl为用户,A为数据表
相关文档:
每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。Oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。
数据库系统权限(Dat ......
author:skate
time:2010-05-25
Oracle数据库管理脚本说明
Oracle 中的数据字典是数据库中的非常重要的一部分,提供了相关数据库的信息,它是所有Oracle用户(从应用的最终用户、应用的设计开发者到数据库管理员)的非常重要的信息来源。数据字典的创建,是在Oracle数据库创建完毕后,运行一些相关的数据库管理脚本来完 ......
字符函数
下面是Oracle支持的字符函数和它们的Microsoft SQL Server等价函数。
函数 Oracle Microsoft SQL Server
把字符转换为ASCII :ASCII ASCII
字串连接: CONCAT --------------(expression + expression)
把ASCII转换为字符 CHR, CHAR
返回字符串中的开始字符(左起) INSTR ,---------------CHARINDEX
......
今天碰到一个问题,通过一个SQL语句查询时,出如下问题:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "WMSYS.WM_CONCAT_IMPL", line 30
问题出现在通过WMSYS. ......