美文网首页
036-20180205-【数据库学习】建立dblink、del

036-20180205-【数据库学习】建立dblink、del

作者: DearLynne | 来源:发表于2018-02-05 21:44 被阅读0次

O

        今天一上班就开始处理8号前需完成的13个需求,原本以为导师给我讲解了具体内容和需求,上手会比较快,可是等真正实践的时候还是遇到各种各样的问题,其中有以下三个知识点让我纠结和困惑了半天,现在将其作简单的小结。

R

        一早上就完成了一个需求,内心是崩溃的,然后下午4点多开始导数据,由于数据量比较大而且又是远程连接数据库,导致下午5点49分才生成数据,等我打开一看,数据不对,好气啊,只能开着电脑让它重新导数据,明天早上再去“见证奇迹”了,希望明天一切顺利!!!

I

        今天在工作中使用的几个重点知识点如下:

        1.建立dblink

        dblink是数据库的链接,当我们要跨本地数据库,访问另外一个数据库中的数据时,本地数据库中就必须要创建远程数据库的dblink来访问数据。其具体实现方法如下:

        ① 判断用户是否具有建立dblink的权限

        首先在sql window中输入脚本:

        select * from user_sys_privs where privilege like upper('%DATABASE LINK%');

        即可看到其对应的dblink权限,如图1所示。dblink权限分为三种,分别是CREATE DATABASE LINK(所创建的dblink只有创建者所能使用) CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用) DROP PUBLIC DATABASE LINK(删除dblink)。

图1  查询 建立dblink的权限

        如果无建立dblink权限,可以通过以下脚本语句进行赋权:

         grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to username;  

        其中,username为登录本地数据库的用户名。

        ② 查询现有的dblink

        通过输入脚本 :

        select owner,object_namefromdba_objectswhereobject_type='DATABASE LINK';

        即可查看本地数据库现有的dblink,如图2所示。

图2 查询现有的 dblink

        ③ 建立dblink

        通过以下脚本可以为数据库建立dblink:

        create public database link dblinkname connect to username identified by password

        using '(DESCRIPTION =

        (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = database_ip)(PORT = 1521))

        )

        (CONNECT_DATA =

        (SERVICE_NAME =servicename)

        )

        )';

        其中,正确填写步骤③中加粗字体的字段即可建立dblink。

        2. delete、drop与truncate区别

        在操作数据库时,经常会遇到删除数据或表的操作,但是删除指令有delete、drop与truncate三种,其具有不同的使用方法及适用范围。其具体语法与区别如下:

        delete from 表名(后面不跟where语句也删除表中所有的数据)

        drop table 表名

        truncate table 表名

        ① delete/truncate只删除数据不删除表,索引的结构,drop 将删除表的结构及依赖的索引(index)/约束(constrain)/触发器(trigger),依赖于该表的 procedure/function 将保留,但是变为 invalid状态。

        ② delete属于DML,不使用commit时不生效,drop与truncate直接生效,不能回滚。

        ③ truncate会释放占用空间,而delete与drop不会。

        3.alter与update区别

        alter与update都能够修改表中的数据,但是其本质与用法也各不相同,其具体语法与区别如下:

        alter语法:

        alter table (表名) ADD (列名 数据类型);   

        alter table (表名) MODIFY (列名 数据类型);   

        alter table (表名) RENAME COLUMN (当前列名) TO (新列名);  

        alter table (表名) DROP COLUMN (列名);   

        alter table (当前表名) RENAME TO (新表名);

        update语法:

        update 表名称 set 列名称 = 新值 where 列名称 = 某值

        从功能上看,alter用于修改表结构,update用于修改表数据。从本质上看,alter是DDL,在修改表结构时,不需要Commit和Rollback,update是DML,在修改数据值时,需要Commit和Rollback,否则提交的结构无效。

D

        坚持记录工作中的重难点问题,及时寻求解答。

相关文章

  • 036-20180205-【数据库学习】建立dblink、del

    O 今天一上班就开始处理8号前需完成的13个需求,原本以为导师给我讲解了具体内容和需求,上手会比较快,可是等真正实...

  • Oracle跨服务器访问使用dblink

    当要夸服务器访问数据库时,我们可以使用dblink建立连接服务器间的通道,本地创建了远程数据库的dblink后,访...

  • DBLink

    DBLink作用:跨库访问。在当前数据库访问别的数据库,使用DBLink可以在当前数据库编写sql来查询别的数据库...

  • 视图、dblink、同义词,简介

    需要:从其他数据库获取数据,存储到我方的数据库。实现方式:dblink数据库连接的方式1、在对方数据库建立视图(d...

  • 协议适配器错误

    今天工作时需要在服务器的数据库上建立database link连接另外一个数据库,但是dblink建好后无法使用,...

  • DBLINK

    dblink建立跨库查询, 但是要注意clob和 blob字段不行, 解决办法是在:1, 在源数据库做截断建视图处...

  • DBLink增量更新

    第一步:建立DBLink 两个数据库,源数据库test中的表数据同步到目标数据库scott的同一个表(表不相同也可...

  • 关于oracle数据库的DBlink的建立

    于申通地铁项目中,碰到系统集成的问题,数据源分散在各个服务器之中,为了方便本地的数据源获取,我们尝试进行BDLin...

  • oracle中的DBLINK

    一:什么是DBLINK 本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建访问远程数据库的链路,...

  • Oracle中dblink的创建与删除

    查询数据库中有哪些dblink连接 删除公有的EMIS_PRODUCTOIN连接 创建公有的EMIS_PRODUC...

网友评论

      本文标题:036-20180205-【数据库学习】建立dblink、del

      本文链接:https://www.haomeiwen.com/subject/vqjizxtx.html