建立dblink的兩個指令碼。

楊奇龍發表於2011-03-19
由於自己的主機的ip是dhcp獲取的,ip在每次重啟電腦的時候就會改變,所以寫了兩個建立dblink的指令碼,一個shell需要輸入要建立dblink 名稱,遠端主機的ip地址和資料庫的服務名serive_name,缺點是還有手動填寫ip地址。
======createdblink.sh==========
#!/bin/bash
DBLINK =$1
IPADD =$2
SERVICE_NAME
function usage(){
echo "Usage: `basename $0 ` DB_LINK_NAME  IPAddress SERVICE_NAME "
exit 0
}
[ $# != 3 ] && usage

sqlplus -s yang/yang <drop database link $DBLINK;
create database link $DBLINK
connect to yang identified by yang
using
 '( DESCRIPTION =
   (
   ADDRESS_LIST =(ADDRESS=(PROTOCOL = TCP )(HOST = $IPADD)(PORT=1521))
   )
 (
  CONNECT_DATA=(SERVICE_NAME =$SERVICE_NAME)
 )
 )';
EOF
exit 0

==========dblink.sql================
drop database link &&DBLINK;
create database link &&DBLINK
connect to yang identified by yang
using
 '( DESCRIPTION =
   (
   ADDRESS_LIST =(ADDRESS=(PROTOCOL = TCP )(HOST = &IPADD)(PORT=1521))
   )
 (
  CONNECT_DATA=(SERVICE_NAME =oracl)
 )
 )';
yang@rac1>@dblink.sql
輸入 dblink 的值:  linkrac
原值    1: drop database link &&DBLINK
新值    1: drop database link linkrac
drop database link linkrac
                   *
第 1 行出現錯誤:
ORA-02024: 未找到資料庫連結


原值    1: create database link &&DBLINK
新值    1: create database link linkrac
輸入 ipadd 的值:  10.1.151.111
原值    6:    ADDRESS_LIST =(ADDRESS=(PROTOCOL = TCP )(HOST = &IPADD)(PORT=1521))
新值    6:    ADDRESS_LIST =(ADDRESS=(PROTOCOL = TCP )(HOST = 10.1.151.111)(PORT=1521))
輸入 service_name 的值:  rac
原值    9:   CONNECT_DATA=(SERVICE_NAME =&service_name)
新值    9:   CONNECT_DATA=(SERVICE_NAME =rac)

資料庫連結已建立。

yang@rac1>select count(1) from yangall@linkrac;

  COUNT(1)
----------
   1174688

yang@rac1>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-689957/,如需轉載,請註明出處,否則將追究法律責任。

相關文章