oracle 数据库连接的使用

时间:2021-02-01 19:41:06

1.数据库连接可以有三种模式:

    (1)、私有数据库连接,也就是在某个方案(schemas)下去创建;

    (2)、公有的数据库连接,关键字是public

    (3)、共享的数据库连接,关键字是shared

      创建的时候创建什么类型的数据库连接就需要增加什么样的关键字;

       如,create (public|shared)  database link xxx connect to xxx identified by xxx using 'xxx';

     同样的,删除普通的数据库连接不用加关键字,如果删除后两种则需要加上关键字,要不然会报出找不到数据库连接的错误。

       如:drop public database link xxx.

      如果是要用数据库连接去做数据迁移时,必须使用public类型。

查看所有的数据库连接:

    select * from dba_db_links;

2.连接串可以有三种方式:

     (1)、常见的tnsname的方式,只要在$ORACLE_HOME/network/admin下的tnsname.ora里进行配置,之后如果用tnsping可以测试通过就可以。

     (2)、连接窜模式,如,

                    (DESCRIPTION =
                   (ADDRESS = (PROTOCOL = TCP)(HOST = xx)(PORT = 1521))
                   (CONNECT_DATA =
                          (SERVER = DEDICATED)
                           (SERVICE_NAME = xx)
                   )
                   )

                  还可以使用多个VIP的模式来写。

       (3)、PLSQL连接串模式如xxx/xxx@xxx:1521/xxx

3.当源端使用了global_names参数时,数据库连接的名字必须和目标段的SID一致,否则则报出不能连接的错误。可通过如下命令关闭:

    alter syetem set gloabl_name=false;

4.数据库连接虽然方便,但是如果滥用,会造成耦合性太高的问题,最后导致整个数据库系统称为一个网状结构,对于数据迁移和系统迁移带来极大的困难。

   而且还会带来SCN传染问题,如果源的SCN很大,在进行数据交互后,oracle为了保持源端和目标端的SCN一致,会把目标端的值也取和源端一致的值,所以有好多数据库刚刚搭建,查其SCN值则很大,问题由此导致。SCN值是有限的、如果SCN的值用完了,那么数据库也就不能再使用了。