如何连接到远程主机的Oracle数据库

如何连接到远程主机的Oracle数据库,第1张

ORACLE客户端连服务器的注意事项

1 通过SQLNET协议,ORACLE客户端连服务器时一般需要配置sqlnetora和tnsnamesora,initora。

它们默认的目录在$ORACLE_HOME/network/admin 目录下

也可以设置环境变量TNS_ADMIN指向你想用的sqlnetora和tnsnamesora目录

例如:

TNS_ADMIN=/home/oracle/config/901;export TNS_ADMIN

sqlnetora文件决定找数据库服务器别名的方式

默认的参数有

参数SQLNETAUTHENTICATION_SERVICES= (NONE,NTS)表明用户连接Oracle服务器时使用哪种验证方式NONE表示Oracle身份验证,NTS表示 *** 作系统身份验证,两种方式可以并用。

ORA_DBA组中的域用户和本地用户不需要Oracle用户名和密码就可以登录Oracle而且该组的用户登录数据库后都具有SYSDBA权限(多个实 例时,可以建立类似这样的组ORA_SID_DBA,其中SID指实例名)同理:ORA_OPER组中的成员具有SYSOPER角色的权限。

登录方式 sqlplus “/ as sysdba”

或者sqlplus nolog,然后SQL>connect / as sysdba

NAMESDEFAULT_DOMAIN = WORLD

NAMESDIRECTORY_PATH = (TNSNAMES, ONAMES, HOSTNAME)

表明解析客户端连接时所用的主机字符串的方式

TNSNAMES表示采用TNSNAMESORA文件来解析;

ONAMES表示使用自己的名称服务器(Oracle Name Server)来解析,目前Oracle建议使用轻量目录访问协议LDAP来取代ONAMES;

HOSTNAME表示使用host文件,DNS,NIS等来解析;

如果你的ORACLE客户端和服务器默认的域名不一样,需要用#号注释第一行

#NAMESDEFAULT_DOMAIN = WORLD

使它不起作用。

NAMESDIRECTORY_PATH指定找服务器别名的顺序 (本地的tnsnamesora文件, 命名服务器, 主机名方式)

服务器的sqlnetora里可以设置检查客户端是否alive的时间间隔

sqlnetexpire_time = 10

initora中的Remote_Login_Passwordfile对身份验证的影响

三个可选值:

NONE:默认值,指示Oracle系统不使用密码文件,通过 *** 作系统进行身份验证的特权用户拥有SYSORA和SYSOPER权限EXCLUSIVE:

1表示只有一个数据库实例可以使用密码文件

2允许将SYSORA和SYSOPER权限赋值给SYS以外的其它用户

SHARED:

1表示可以有多个数据库实例可以使用密码文件

2不允许将SYSORA和SYSOPER权限赋值给SYS以外的其它用户

所以,如果要以 *** 作系统身份登录,Remote_Login_Passwordfile应该设置为NONE

当登录用户不是ORA_DBA组和ORA_OPER组成员时,登录数据库需要在Oracle中创建当前 *** 作系统用户相同的用户名,如果当前用户是域用 户,则名称为:domainname\yourname,如果是本地计算机用户,则名称为:computername\yourname

创建方法:

create "domainname\yourname" identified externally;

*** 作系统,修改HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0下面添加AUTH_PREFIX_DOMAIN,值设为FALSE,在创建Oracle用户时可以忽略 掉域名

这种方式下,initora中有一个参数将影响数据库如何匹配一个windows用户和Oracle用户os_authent_prefix = ""

缺省为空,Oracle8i以前,无该参数,而使用OPS$作为用户名前缀(Oracle用户名最大长度限制为30个字符)

tnsnamesora文件里写数据库服务器别名的详细内容,有以下几种写法:

# 一般的写法

APPDB =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVICE_NAME = appdb)

)

)

# 明确标明用dedicated方式连接数据库

APPD=

(DESCRIPTION=

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

(CONNECT_DATA=

(SERVICE_NAME=appdb)

(SERVER=DEDICATED)))

# 对多个listener端口做均衡负载方式连接数据库

APPS =

(DESCRIPTION =

(ADDRESS_LIST =

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

(ADDRESS = (PROTOCOL = TCP)(HOST = 192168035)(PORT = 1856))

)

(CONNECT_DATA =

(SERVICE_NAME = appdb)

)

)

# 注意:如果数据库服务器用MTS,客户端程序需要用database link时最好明确指明客户端用dedicated直连方式,

# 不然会遇到很多跟分布式环境有关的ORACLE BUG。

# 一般情况下数据库服务器用直接的连接会好一些,除非你的实时数据库连接数接近1000。

2 /etc/hosts (UNIX)

或者windows\hosts(WIN98) winnt\system32\drivers\etc\hosts (WIN2000)

客户端需要写入数据库服务器IP地址和主机名的对应关系。

127001 localhost

192168035 oracledb oracledb

192168045 tomcat tomcat

2028410193 bj_db bj_db

有些时候我们配置好第一步后,tnsping 数据库服务器别名显示是成功的,

但是sqlplus username/password@servicename不通,jdbc thin link 也不通的时候,

一定不要忘了在客户端做这一步,原因可能是DNS服务器里没有设置这个服务器IP地址和主机名的对应关系。

如果同时有私有IP和Internet上公有IP,私有IP写在前面,公有IP写在后面。

编辑前最好留一个备份,增加一行时也最好用复制粘贴,避免编辑hosts时空格或者tab字符错误。

3 UNIX下ORACLE多数据库的环境,OS客户端需要配置下面两个环境变量

ORACLE_SID=appdb;export ORACLE_SID

TWO_TASK=appdb;export TWO_TASK

 配置详细信息 转载

在本文提供的示例中,源服务器配置有控制域和一个托管 Oracle 数据库的来宾域(名为 ldg1)。控制域名为

primary,也是一个 I/O 域。此外,控制域还用作服务域,为来宾域提供虚拟设备服务(虚拟磁盘和虚拟网络)。

作为服务域,控制域提供以下虚拟设备服务:

一个虚拟磁盘服务 (primary-vds0),将物理磁盘作为虚拟磁盘导出到来宾域。

一个虚拟控制台集中器服务 (primary-vcc0),提供对来宾域虚拟控制台的访问。此服务使用端口范围 5000–5100

来访问虚拟控制台。

一个虚拟交换机服务 (primary-vsw0),与主网络接口 (nxge0)

关联。

软件安装和配置

按照以下步骤配置您的环境以便进行实时迁移。

安装 Oracle Solaris *** 作系统

新的 SPARC 服务器上预先安装了 Oracle Solaris。对于这些系统,应确保安装了相应的 Oracle Solaris

版本,并验证打了所需的补丁。

要在 SPARC 系统上重新安装 Oracle

Solaris,请参见 Oracle

Solaris 10 文档或 Oracle

Solaris 11 文档。在本文的示例中, *** 作系统安装在服务器的第一个内部磁盘上。

安装 Oracle Solaris 之后,可以配置并启用系统以使用 Oracle VM Server for SPARC 21 软件。

安装 Oracle VM

Server for SPARC 软件

新的 SPARC 服务器上也预先安装了 Oracle VM Server for SPARC 软件。对于这些系统,应确保安装了相应的 Oracle VM

Server for SPARC 版本,并验证打了所有需要的补丁。

如果在服务器上重新安装了 Oracle

Solaris,您可能必须重新安装 Oracle VM Server for SPARC 软件。参见 Oracle

VM 下载页面。

以下示例显示了在每台物理服务器上执行的 *** 作。每台服务器已经安装了 Oracle Solaris 和所需的补丁。

应确保系统固件与您计划安装的 Oracle VM

Server for SPARC 版本匹配。参见文档的 Oracle VM

Server for SPARC 21 版本说明 中的“所需软件和补丁”以及 Oracle VM Server for SPARC 21

管理指南 中的“升级系统固件”。

从 Oracle

VM 下载页面下载 Oracle VM Server for SPARC 21 软件。

解压缩存档文件。

安装 SUNWldmv

程序包。参见 Oracle VM Server for SPARC 21 管理指南 中的“在新系统上安装 Oracle VM Server

for SPARC 软件”。

primary# pkgadd -d OVM_Server_SPARC-2_1/Product SUNWldmv

配置存储阵列

Sun Storage 2540-M2 存储阵列连接到控制域,控制域将两个 LUN(LUN 0 和 LUN 1)作为虚拟磁盘导出到来宾域。

来宾域使用第一个 LUN (LUN 0) 作为 *** 作系统的系统磁盘,使用第二个 LUN (LUN 1) 作为存储 Oracle 数据库数据文件的磁盘。

配置控制域

安装 Oracle VM Server for SPARC 软件之后,重新配置当前系统使其成为控制域。在每台物理服务器上执行以下 *** 作:

创建一个虚拟控制台集中器 (vcc)

服务以供虚拟网络终端服务器后台程序 (vntsd) 使用,并作为所有逻辑域控制台的集中器。

primary# ldm add-vcc port-range=5000-5100 primary-vcc0 primary

创建虚拟磁盘服务器

(vds)。

primary# ldm add-vds primary-vds0 primary

创建一个虚拟交换机服务 (vsw)

以便在逻辑域中的虚拟网络 (vnet) 设备之间实现联网。

primary# ldm add-vsw net-dev=igb0 primary-vsw0 primary

使用 ldm

list-services 命令验证已经创建了这些服务,如清单 1 所示。

清单 1 验证服务

primary# ldm list-services primary

VDS

NAME VOLUME OPTIONS DEVICE

primary-vds0

VCC

NAME PORT-RANGE

primary-vcc0 5000-5100

VSW

NAME MAC NET-DEV DEVICE MODE

primary-vsw0 02:04:4f:fb:9f:0d nxge0 switch@0 prog,promisc

VCC

NAME LDOM PORT-RANGE

primary-vcc0 primary 5000-5100

VSW

NAME LDOM MAC NET-DEV ID DEVICE LINKPROP DEFAULT-VLAN-ID PVID VID

primary-vsw0 primary 00:14:4f:f8:28:c2 igb0 0 switch@0 1 1 1500 on

VDS

NAME LDOM VOLUME OPTIONS MPGROUP DEVICE

primary-vds0 primary

Oracle VM Server for SPARC 使用 SSL

对迁移流量进行加密,以保护敏感数据免受利用,并消除了对额外硬件和专用网络的需求;

当源计算机和目标计算机上的主域具有分配的加密单元时,迁移 *** 作的速度会增加。速度增加的原因在于可以将 SSL *** 作分流到加密单元。

注:SPARC T4 CPU

具有内置的加密指令,因此您不需要为 CPU 分配这些指令。

确定控制域中是否有加密设备。

primary# ldm list -o crypto primary

为控制域分配加密资源。

primary# ldm set-crypto 1 primary

为控制域分配 CPU 和内存。

您可以通过向源计算机上的主域中添加更多 CPU 来减少整体迁移时间。最好为每个主域至少分配 8 个 CPU。例如,以下命令为控制域分配 8 个 CPU 和

4 GB 内存。

primary# ldm start-reconf primary

primary# ldm set-vcpu 8 primary

primary# ldm set-memory 4G primary

重新启动系统。

primary# init 6

重新启动系统之后,启用 Oracle VM Server for SPARC 并为系统配置一个域:控制域

primary。在控制域中,您可以创建和配置其他域。

确保启用 Logical Domains Manager

(ldmd) 和虚拟网络终端服务器 (vntsd) 服务。

primary# svcadm enable ldmd

primary# svcadm enable vntsd

向服务处理器 (SP)

添加逻辑域计算机配置。例如,以下命令添加名为 initial 的配置。

primary# ldm add-config initial

验证该配置可以使用。

primary# ldm list-config

factory-default

initial [current]

配置来宾域

配置控制域之后,创建来宾域以用作 Oracle 数据库节点。在作为源计算机的物理服务器上,仅创建一个来宾域。另一台物理服务器最终将成为目标计算机。

最初使用以下资源创建来宾域 ldg1:

8 GB 内存。

24 个 CPU。

一个虚拟网络接口 (vnet0),它连接到虚拟交换机 primary-vsw0。

一个虚拟磁盘,它在来宾域中显示为 c0d0 并且是存储阵列中的一个 LUN。域 ldg1

使用存储阵列的 LUN 0 (c2t6d0)。

另一个虚拟磁盘,它在来宾域中显示为 c0d1 并且是存储阵列中的一个 LUN。域 ldg1

使用存储阵列的 LUN 1 (c2t6d1)。此虚拟磁盘用于存储 Oracle 数据库文件。

执行以下步骤创建每个来宾域:

在源计算机上,从控制域创建

ldg1 来宾域。

注:如果您的服务器不是基于

SPARC T4 的系统,则仅执行 ldm set-crypto 命令。

primary# ldm create ldg1

primary# ldm set-vcpu 24 ldg1

primary# ldm set-memory 8G ldg1

primary# ldm set-crypto 3 ldg1

primary# ldm add-vnet vnet0 primary-vsw0 ldg1

primary# ldm add-vdsdev /dev/dsk/c2t6d0s2 vol1@primary-vds0

primary# ldm add-vdisk vol1 vol1@primary-vds0 ldg1

primary# ldm add-vdsdev /dev/dsk/c2t6d1s2 oradata@primary-vds0

primary# ldm add-vdisk oradata oradata@primary-vds0 ldg1

创建域之后,在源计算机上使用以下命令从控制域绑定并启动来宾域。

primary# ldm bind ldg1

primary# ldm start ldg1

确定域的控制台端口。

primary# ldm ls ldg1

NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME

ldg1 active -n---- 5000 24 8G 00% 1h 1m

使用 telnet 命令访问

ldg1 域的控制台。

primary# telnet localhost 5000

启动来宾域之后,确保在来宾域中安装了相应的 Oracle Solaris *** 作系统和补丁。您可以通过网络、从 DVD 或使用 DVD ISO

映像来执行安装。参见 Oracle VM Server for SPARC 21 管理指南。

注:LUN

通常在不同服务器上以不同名称显示。控制域中的 LUN 名称不需要相同。但是,两个系统上的控制域必须使用相同的卷名(vol1 和

oradata)对相同的 LUN(LUN 0 和 LUN 1)进行虚拟化。

清单 2 的示例显示了如何为名为 ldg1 的域配置 8 个 CPU、24 GB 内存以及 Sun Storage

2540-M2 存储阵列中的两个 LUN。

清单 2 域配置示例 primary# ldm ls -l ldg1

NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME

ldg1 active -n---- 5000 24 8G 00% 1h 1m

SOFTSTATE

Solaris running

MAC

00:14:4f:fb:96:89

HOSTID

0x84fb9689

CONTROL

failure-policy=ignore

DEPENDENCY

master=

VCPU

VID PID UTIL STRAND

0 16 02% 100%

1 17 00% 100%

2 18 05% 100%

3 19 00% 100%

4 20 00% 100%

5 21 00% 100%

6 22 01% 100%

7 23 00% 100%

8 24 01% 100%

9 25 00% 100%

10 26 00% 100%

11 27 00% 100%

12 28 00% 100%

13 29 00% 100%

14 30 00% 100%

15 31 00% 100%

16 32 00% 100%

17 33 00% 100%

18 34 00% 100%

19 35 00% 100%

20 36 00% 100%

21 37 00% 100%

22 38 00% 100%

23 39 01% 100%

MEMORY

RA PA SIZE

0x8000000 0x408000000 8G

VARIABLES

boot-device=vdisk1

keyboard-layout=US-English

NETWORK

NAME SERVICE ID DEVICE MAC MODE PVID VID MTU LINKPROP

vnet1 primary-vsw0@primary 0 network@0 00:14:4f:f9:c0:62 1 1500

DISK

NAME VOLUME TOUT ID DEVICE SERVER MPGROUP

vdisk1 vol1@primary-vds0 0 disk@0 primary

oradata oradata@primary-vds0 1 disk@1 primary

VCONS

NAME SERVICE PORT

ldg1 primary-vcc0@primary 5000

清单 3 的示例显示了控制域的配置。使用 ldm list-services

命令验证已经创建了这些服务。

清单 3 控制域配置示例 primary# ldm ls-services primary

VCC

NAME LDOM PORT-RANGE

primary-vcc0 primary 5000-5100

VSW

NAME LDOM MAC NET-DEV ID DEVICE LINKPROP DEFAULT-VLAN-ID

primary-vsw0 primary 00:14:4f:f9:32:b0 nxgeg0 0 switch@0 1 1

VDS

NAME LDOM VOLUME OPTIONS MPGROUP DEVICE

primary-vds0 primary vol1 /dev/dsk/c2t6d0s2

oradata /dev/dsk/c2t6d1s2

在来宾域中安装 Oracle Solaris

确保在来宾域中安装了相应的 Oracle Solaris 版本,并验证打了所需的补丁。

在来宾域中安装 Oracle Solaris 之后,可以配置并启用系统使其使用 Oracle 数据库。

安装 Oracle Database

Oracle Database 软件的安装类似于标准 Oracle Database 安装。首先安装 Oracle

Database,然后应用最新补丁集。使用第二个 LUN 创建 UFS 或 ZFS 文件系统用于存储 Oracle 数据库数据文件。

有关针对 Oracle 数据库使用 ZFS

的更多信息,请参见针对

Oracle 数据库配置 Oracle Solaris ZFS。

准备目标服务器

按如下方式准备目标服务器。

执行以下各节中所述的步骤来准备目标计算机:

安装 Oracle VM

Server for SPARC 软件

配置控制域

确保在目标服务器上提供了供待迁移域使用的所有虚拟 I/O 服务。

确保目标服务器有权访问同一存储中的 LUN 0 和 LUN

1。

要将第一个 LUN (LUN 0) 和第二个 LUN (LUN 1) 添加到目标计算机,从目标服务器的控制域执行以下命令:

# ldm add-vdsdev /dev/dsk/c2t6d0s2 vol1@primary-vds0

# ldm add-vdsdev /dev/dsk/c2t6d1s2 oradata@primary-vds0

注:LUN

通常在不同服务器上以不同名称显示。控制域中的 LUN 名称不需要相同。但是,两个系统上的控制域必须使用相同的卷名(vol1 和

oradata)对相同的 LUN(LUN 0 和 LUN 1)进行虚拟化。

确保待迁移域中的每个虚拟网络设备在目标计算机上都有一个对应的虚拟网络交换机:

# ldm add-vsw net-dev=nxge0 primary-vsw0 primary

第一步:在用户名和密码列分别输入要登录的数据库用户名和密码

第二步:在“数据库”中输入“ip:1521/oracle实例名”(如“1921680143:1521/orcl”,本机填写“127001”)

第三步:如果是普通用户连接类型为“Normal”,如果是超级管理员连接类型为“sysdba”,点击确定即可完成连接(connections)

以上就是关于如何连接到远程主机的Oracle数据库全部的内容,包括:如何连接到远程主机的Oracle数据库、如何将正在运行的 Oracle 数据库迁移到另一个系统、如何用PLSQL登录Oracle数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9301068.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存