Oracle DB Link介绍
1。基本概念:
数据库连接串主要用于建立对远程数据库的访问方法,可以直接读取远程Oracle的数据,或者直接修改。数据库连接串可以是公用连接PUBLIC或者私有连接PRIVATE。这一点和同义词很相像。
1。创建语法:
CREATE DATABASE LINK TEST CONNECT TO USERNAME IDENTIFIED BY PASSWORD
USING 'CONNECT_STRING';
解释:TEST是数据库连接串的名字。以后就通过这个名字来进行调用远程数据库的内容。
USERNAME是用来连接到远程数据库的合法Oracle用户名。PASSWORD为该用户连接到Oracle时候的合法密码。
CONNECT_STRING为该Oracle数据库所在的主机上的tnsnames.ora文件里边定义的数据库连接串。
2。使用方法:
SELECT COUNT(*) from TABLE_NAME@DB_LINK WHERE WHERE_CLAUSE;//查阅远程数据库的内容。
UPDATE
TEST.TEST@DB_LINK
SET SO_NBR=NEW_SO_NBR
WHERE WHERE_CLAUSE;//
修改远程数据库的内容。
在实际使用过程中,还可以通过为这个远程表建立一个同义词来进一步增加透明性,使该数据库连接串对于程序和开发人员来讲完全透明。
CREATE SYNONYM TABLE_NAME FOR TABLE_NAME@DB_LINK;
3。数据库连接的管理:
1。如何知道当前用户、当前系统中有哪些数据库连接串?
SELECT * from USER_DB_LINKS;
这个查询会给出当前用户的数据库联接的名字、联接用户名、联接密码、要连接的主机以及创建时期。
SELECT * from DBA_DB_LINKS;
这个查询会给出当前系统中所有的数据库联接的创建用户、联接用户名、要连接的主机以及创建时期。
SELECT * from V$DBLINK;
这个查询会给出当前打开的数据库联接。
相关文档:
1. 查看表空间的名称及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
2、查看表空间物理文件的名称及大小
select tablespace_name, file_id, file_name,
round(byte ......
1个实例
create table tjob2(tt date);
创建一个存储过程
create or replace procedure t26 is
begin
insert into tjob2 values(sysdate);
commit;
end t26;
创建job,每分钟执行一次
SQL> declare
2 tjob number;
3 begin
4 sys.dbms_jo ......
使用scott/tiger用户下的emp表和dept表完成下列练习,表的结构说明如下
emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号)
dept部门表(deptno部门编号/dname部门名称/loc地点)
工资 = 薪金 + 佣金
1.列出至少有一个员工的所有部门
......