创建oracle数据库连接(database link)的两种方法
oracle 数据库连接就像你在程序中建立一个到数据库的连接一样。
如果数据库不在本地主机,必须在$ORACLE_HOME/network/admin/tnsnames.ora中配置相应的tns,然后程序才能通过配置好的tns访问数据库,但是java通过thin方式访问oracle例外,可以采用在本地配置好的tns别名,也可以采用tns全解析名,采用别名等号后的全描述符;如下:
TESTCZ =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.9.12)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TESTCZ)
)
)
举例。
现在有两个数据库
adb,用户名和密码分别是adb/adb,在本地主机配置的tns名字是tns_a,所在主机a;
bdb,用户名和密码分别是bdb/bdb,在本地主机配置的tns名字是tns_b,所在主机b;
现在需要在adb上面建一个连接到bdb数据库的dblink;
方法1:
在a主机上编辑tnsnames.ora文件配置bdb数据库的tns别名tns_b,如下:
tns_b =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.9.12)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dbtestb)
)
)
然后创建数据库连接,如下:
create database link
connect to bdb identified by identified by bdb
using 'tns_b';
方法2:
如果没有权限修改tnsnames.ora,那么就没有办法建立到adb数据库的tns别名,那么就只能采用在创建dblink的时候,全写解析符号。创建dblink的方法如下:
create database link
connect to bdb identified by identified by bdb
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.9.12)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dbtestb)
)
)';
创建好tns别名之后,可以采用sqlplus username/password@tnsname来测试创建的tns别名是否正确。
我在生产系统中创建的一个dblink示例:
create database link NEW_DBLINK
connect to AIIPS identified by "1qaz2wsx"
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.193.12)(PORT = 1521))
相关文档:
使用
set
pagesize 1000
set
linesize 132
col
TS_NAME form a24
col
PIECES form 9999
col
PCT_FREE form 999.9
col
PCT_USED form 999.9
select
*
from (select Q2.OTHER_TNAME TS_NAME,
PIECES,
& ......
软件: VMware Workstation 6.0.2 build-59824
10201_database_linux32.zip
rhel.5.0.server.centoschina.com.dvd.iso
文档:ORACLE10G官方安装文档 B19306_01_Oracle10gR2.chm
参考:周炯老师的ORACLE10G OCP视频(讲的真的 ......
Oracle体系结构:内存结构和进程结构
2009-11-24 21:48
(一)内存结构和进程结构 Oracle数据库的总体结构如下图:
1:Oracle实例(Instance)
在一个服务器中,每一个运行的Oracle数据库都与一个数据库实例相联系,实例是我们
访问数据库的手段。
......
对初学ORACLE的人一时很难分清ORACLE中关于“空间”的概念,比如表空间 临时表空间 用户表空间等,对于由SQL转到ORACLE的就更加混淆了,让人感觉ORACLE繁琐;繁琐在哪儿,我整理罗列如下:
1.ORACLE自带工具不十分易用;
2.ORACLE第三方工具易上手,但难深入;
&n ......
CREATE TABLE salaryByMonth
(
employeeNo varchar2(20),
yearMonth varchar2(6),
salary number
) ;
insert into SALARYBYMONTH (EMPLOYEENO, YEARMONTH, SALARY)
values (1, '200805', 500);
insert into SALARYBYMONTH (EMPLOYEENO, YEARMONTH, SALARY)
values (1, '200802', 150);
in ......