`
weitao1026
  • 浏览: 1034221 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
很多系统的数据库都给数据表加上前缀,这是为什么呢?
因为每个系统都有一个对应的数据库,有时多个系统都共用一个数据库,而数据表的名称可能相同,为了区分不同系统的数据表,所以每个系统的数据表都有一个自己的前缀,而且加上前缀,相当于对数据表进行了分类,从名字上看就知道哪个表是哪个系统的数据库中的,方便管理。

前缀指数据库中使用的用户名
如:select * from abc.tablename@def
abc是schema,oracle中的模块,通常是指数据库的用户,def是oracle中的dblink,创建dblink用于配置数据库连接的别名,sql的意思是在查询def库中abc用户下的表

前缀oracle叫schema
有可能是用户,也有可能是表空间

表名带有$符号一般都是数据字典的视图或同义词。
例如:v$database数据库运行信息、v$datafile所有数据文件信息


oracle的dblink的使用
在跨数据库查询的时候时常会用到dblink,例如:两台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下面的某个schema的数据,这个时候,使用dblink能够很方便的实现。
dblink和数据库中的view功能类似,建立dblink的时候需要直接到待读取数据库的ip地址,ssid以及数据库的用户名和密码。

第一部分:如何创建dblink
dblink的创建有两种方式:
1、在本地数据库tnsnames.ora文件中配置要访问的目标数据库信息
create [public] database link to_mai
connect to scott identified by tiger using 'to_mai';
其中第一个to_mai是将要创建的dblink的名字,
第二个to_mai是tnsnames.ora文件中配置的目标数据库mai的连接信息:
to_mai =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.123)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = mai)
    )
  )
scott/tiger是登录到远程数据库的用户名和密码,然后当在本地数据库使用to_mai的dblink访问远程数据库的时候,会使用scott的身份来访问
2、本地数据库tnsnames.ora文件中没有配置要访问的数据库信息
create [public] database link to_mai
connect to scott identified by tiger
using
  '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.123)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = mai)
    )
  )';
这一种方式其实是把第一种配置在tnsnames.ora文件中的信息,直接放在dblink的后面

第二部分:dblink相关的权限
SYS@test > select * from user_sys_privs where privilege like upper('%link%');
USERNAME                       PRIVILEGE                                ADM
------------------------------ ---------------------------------------- ---
SYS                            CREATE DATABASE LINK                     NO
SYS                            DROP PUBLIC DATABASE LINK                NO
SYS                            CREATE PUBLIC DATABASE LINK              NO
权限解释:
CREATE DATABASE LINK(所创建的DBlink只能是创建者自己使用,别的用户都使用不了)
CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用)
DROP PUBLIC DATABASE LINK(删除Public dblink的权限)

第三部分:dblink的使用
假如说,我要比较两个库的用户的差异,那么我现在可以这么做:
select username from dba_users@to_mai
minus
select username from dba_users;
这样就可以得到在目标数据库中有的用户,而在当前用户中没有的用户列表了
另外一个:如果你乐意,你可以用triggers+dblink实现一个简单的数据同步,不过不建议使用,玩玩就行了。

第四部分:dblink的相关视图
dblink的常用视图有如下几个:
dba_db_links,查看系统中所有的dblink
v$dblink,用来查看当前数据库中有哪些打开的dblink


@后是实例名或数据源,一个简单例子,服务器上创建了2个数据库实例,名称分别为HR、BOSS,如果你用PL/SQL DEVELOPR等根据登录了HR实例,此时可以省略@HR,若是要访问BOSS实例,则需要select * from dim.dim_area_no@BOSS
分享到:
评论

相关推荐

    修改wordpress数据表前缀

    可很容易的修改wordpress数据表前缀

    批量删除MySQL数据库相同前缀的数据表.rar

    总结来说,这个工具提供了一个方便的方式来管理MySQL数据库中的数据表,特别是对于那些需要定期清理大量具有相同前缀表的场景。使用时务必谨慎,遵循最佳实践,以确保数据的安全和系统的稳定性。对于初学者,这也是...

    使用phpMyAdmin批量修改Mysql数据表前缀的方法

    在管理多个网站共享同一MySQL数据库的情况下,为了保持数据库的清晰和有序,通常会为每个网站设置独特的数据表前缀。当需要对这些前缀进行批量修改时,手动操作可能会非常耗时且容易出错。本篇文章将介绍如何利用...

    基于PHP的批量删除MySQL数据库相同前缀的数据表工具.zip

    当数据库中存在大量具有相同前缀的数据表时,管理这些表可能会变得复杂。针对这种情况,开发了一款基于PHP的批量删除MySQL数据库中相同前缀数据表的工具。这款工具能够有效地帮助开发者清理不必要的表,从而优化...

    mysql批量修改表前缀

    在MySQL数据库管理中,表前缀是用于区分不同应用或模块的表的一种方式。它通常由一到几个字母或数字组成,例如`wp_`、`sys_`等。批量修改表前缀对于多语言网站、同一环境中部署的多个CMS实例或者在进行数据库迁移时...

    批量删除MySQL数据库相同前缀的数据表

    在MySQL数据库管理中,有时我们需要清理或重置数据,可能会涉及到大量具有相同前缀的数据表。批量删除这些数据表能够高效地完成任务,避免手动逐个删除的繁琐操作。本篇将详细介绍如何批量删除具有相同前缀的MySQL...

    批量删除MySQL数据库相同前缀的数据表 v1.0

    【批量删除MySQL数据库相同前缀的数据表 v1.0】是一个针对MySQL数据库设计的实用工具,主要用于高效地删除具有特定前缀的多个数据表。在数据库管理中,尤其是在开发和测试环境中,有时需要快速清理与特定项目或功能...

    一款化妆类婚纱婚庆公司企业源码

    数据表前缀:dede (不要修改) 3 安装完成后 进入后台: dede 还原数据(系统 数据库备份 还原 数据还原(右上角) 开始还原数据) 4 数据还原后修改密码(默认账户密码都是admin) 5 更改系统配置 把域名换成你...

    数据结构题前缀码判定.cpp

    数据结构前缀码判定,请编写一个程序,判断输入的n个由1和0组成的编码是否为前缀码。如果这n个编码是前缀码,则输出"YES”;否则输出第一个与前面编码发生矛盾的编码。 输入: 第1行为n(表示下面有n行编码) ...

    6kzz免费建站

    免费建站1、解压该软件包之后,把6kzz目录中的所有资料上传到服务器。...安装时,数据表前缀请不要与6kbbs的表前缀一样,否则会覆盖6kbbs的数据。 3、根据安装界面的各个步骤的提示进行安装即可完成。

    基于PHP的华旭商务网毕业设计实现

    3、数据表前缀千万不能跟原来的168整站数据表前缀一样,否则将会清空原来的数据,必须不相同 4、安装完毕后,必须把install.php删除 在此版本中,牵涉到要运行的文件有三个 install.php upto.php upto2.php 其中...

    数据结构_中缀赚前缀

    "中缀转前缀"是一个关于表达式转换的经典问题,通常在数据结构课程中作为实验项目出现,目的是让学生熟悉栈这一数据结构及其应用。在这个实验中,我们将使用C++编程语言来实现这个转换过程。 中缀表达式是我们日常...

    高级喷码机公司模板机械设备网商业源码程序

    注意 数据表前缀:dede_ 3、安装完成后 还原数据(系统——数据库备份/还原——数据还原(右上角)——开始还原数据) 4、数据还原后修改密码(默认账户密码都是admin) 5、更改信息 6、生成全站(生成——一键更新...

    PHP清爽的情感文章php源码情感文学资讯网站源码免费下载

    数据表前缀:dede_ 3、安装完成后 还原数据(系统——数据库备份/还原——数据还原(右上角)——开始还原数据) 4、数据还原后修改密码(默认账户密码都是admin) 5、更改信息 6、生成全站(生成——一键更新网站...

    php织梦内核微信营销类网站源码v5.7

    1、传到空间 2、输入安装地址://域名/install/index.php(如果出现“dir”,请按照下面的图文或视频安装教程) 数据表前缀:dede_ (不要修改) 3、安装完成后 进入后台:/dede 还原数据(系统——数据库备份/还原...

    批量删除MySQL数据库相同前缀的数据表 1.0.rar

    在IT行业中,数据库管理是一项至关重要的任务,尤其是在大型系统中,数据表的组织通常遵循一定的命名规则,如使用相同的前缀来区分不同功能或模块的数据表。本话题聚焦于批量删除MySQL数据库中具有相同前缀的数据表...

    清爽的情感文章php源码 情感文学资讯网站源码免费下载

    数据表前缀:dede_ 3、安装完成后 还原数据(系统——数据库备份/还原——数据还原(右上角)——开始还原数据) 4、数据还原后修改密码(默认账户密码都是admin) 5、更改信息 6、生成全站(生成——一键更新网站...

    织梦内核的php纹身网站源码

    注意:数据表前缀:dede_ 3、安装完成后 还原数据(系统——数据库备份/还原——数据还原(右上角)——开始还原数据) 4、数据还原后修改密码(默认账户密码都是admin) 5、更改信息 6、生成全站(生成——一键...

    php借贷公司整站源码

    数据表前缀:dede_ 3、安装完成后 还原数据(系统——数据库备份/还原——数据还原(右上角)——开始还原数据) 4、数据还原后修改密码(默认账户密码都是admin) 5、更改信息 6、生成全站(生成——一键更新网站...

Global site tag (gtag.js) - Google Analytics