
如何配置才能使客户端连到数据库 要使一个客户端机器能连接oracle数据库 需要在客户端机器上安装oracle的客户端软件 唯一的例外就是java连接数据库的时候 可以用jdbc thin模式 不用装oracle的客户端软件 加入你在机器上装了oracle数据库 就不需要在单独在该机器上安装oracle客户端了 因为装oracle数据库的时候会自动安装oracle客户端 用过sql server数据库然后又用oracle的新手可能会有这样的疑问 问什么我用sql server的时候不用装sql server的客户端呢?原因很简单 sql server也是microsoft的 它在 *** 作系统中集成了sql server客户端 如果microsoft与oracle有协议 将oracle客户端也集成到 *** 作系统中 那我们也就不用在客户端机器装oracle客户端软机就可访问数据库了 不过 这好像是不可能实现的事情 也有的人会问 为什么在sql server中没有侦听端口一说 而在oracle中要配置侦听端口?其实sql server中也有侦听端口 只不过microsoft将侦听端口固定为 不允许你随便改动 这样给你一个错觉感觉sql server中没有侦听端口 咳 microsoft把太多的东西都封装到黑盒子里 方便使用的同时也带来的需要副作用 而oracle中的侦听端口直接在配置文件中 允许随便改动 只不过无论怎样改动 要与oracle服务器端设置的侦听端口一致 好 言归正传 我们如何做才能使客户端机器连接到oracle数据库呢? A. 安装相关软件 B. 进行适当的配置 A.在适当的位置安装适当的软件 在客户端机器 .在客户端机器上安装ORACLE的Oracle Net通讯软件 它包含在oracle的客户端软件中 .正确配置了sqlnet ora文件 NAMES DIRECTORY_PATH = (TNSNAMES … ) NAMES DEFAULT_DOMAIN=DB_DOMAIN 一般情况下我们不用NAMES DEFAULT_DOMAIN参数 如果想不用该参数用#注释掉或将该参数删除即可 对于NAMES DIRECTORY_PATH参数采用缺省值即可 对于NAMES DEFAULT_DOMAIN参数有时需要注释掉 在下面有详细解释 .正确配置了tnsname ora文件 在服务器端机器 .保证listener已经启动 .保证数据库已经启动 如果数据库没有启动 用 Oracle i: dos>sqlplus / as sysdba sqlplus> startup Oracle i: dos>svrmgrl svrmgrl>connect internal svrmgrl>startup命令启动数据库 如果listener没有启动 用 lsnrctl start [listener name] lsnrctl status [listener name] 命令启动listener B.进行适当的配置 如何正确配置tnsname ora文件 可以在客户端机器上使用oracle Net Configuration Assistant或oracle Net Manager图形配置工具对客户端进行配置 该配置工具实际上修改tnsnames ora文件 所以我们可以直接修改tnsnames ora文件 下面以直接修改tnsnames ora文件为例 该文件的位置为 …\neork\admin\tnsnames ora (for windows)…/neork/admin/tnsnames ora (for unix) 此处 假设服务器名为testserver 服务名为 使用的侦听端口为 则tnsnams ora文件中的一个test网络服务名(数据库别名)为 test =(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT= ))) (CONNECT_DATA=(SERVICE_NAME=) )) 红色的内容为需要根据实际情况修改的内容 现解释如下 PROTOCOL 客户端与服务器端通讯的协议 一般为TCP 该内容一般不用改 HOST 数据库侦听所在的机器的机器名或IP地址 数据库侦听一般与数据库在同一个机器上 所以当我说数据库侦听所在的机器一般也是指数据库所在的机器 在UNIX或WINDOWS下 可以通过在数据库侦听所在的机器的命令提示符下使用hostname命令得到机器名 或通过ipconfig(for WINDOWS) or ifconfig(for UNIX)命令得到IP地址 需要注意的是 不管用机器名或IP地址 在客户端一定要用ping命令ping通数据库侦听所在的机器的机器名 否则需要在hosts文件中加入数据库侦听所在的机器的机器名的解析 PORT 数据库侦听正在侦听的端口 可以察看服务器端的listener ora文件或在数据库侦听所在的机器的命令提示符下通过lnsrctl status [listener name]命令察看 此处Port的值一定要与数据库侦听正在侦听的端口一样 SERVICE_NAME 在服务器端 用system用户登陆后 sqlplus> show parameter service_name命令察看 如何利用配置的网络服务名连接到数据库 用sqlplus程序通过test网络服务名进行测试 如sqlplus system/manager@test 如果不能连接到数据库 则在tnsname ora文件中的test网络服务名(net service)后面加上Oracle数据库的DB_Domain参数值 通过用sqlplus> show parameter db_domain命令察看 此处db_domain参数值为 将其加到网络服务名后面 修改后的tnsname ora中关于该网络服务名的内容为 =(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT= )) ) (CONNECT_DATA=(SERVICE_NAME=) )) 用sqlplus程序通过网络服务名测试 如sqlplus system/manager 关于为什们在网络服务名后面加db_domain参数 需要了解sqlplus连接数据库的原理 我在后面解决 常见故障中给出了详细的说明 如果上面的招数还不奏效的话 只好用一下乾坤大挪移了 将客户端的网络服务名部分 =(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT= )) ) (CONNECT_DATA=(SERVICE_NAME=) )) 拷贝到服务器的tnsnames ora文件中 然后再服务器端用sqlplus system/manager连接到数据库 如果能连接成功 说明你的客户端与服务器端的网络有问题 如果连接不成功 用前面的部分检查网络服务名部分部分是否正确 如果确信网络服务名部分正确而且所有的客户端都连不上数据库则可能为系统TCP/IP或Oracle系统有问题 建议重新安装数据库 常见故障解决办法 TNS (ORA ) TNS:could not resolve service name 该错误表示用于连接的网络服务名在tnsnames ora文件中不存在 如上面的tnsnames ora中的网络服务名只有test 假如用户在连接时用sqlplus system/manager@test 则就会给出TNS 错误 要注意的是 有时即使在tnsnames ora文件中有相应的网络服务名 可是用该网络服务名连接时还会出错 出现这种情况的典型配置如下(在客户端的机器上) sqlnet ora文件 NAMES DIRECTORY_PATH = (TNSNAMES … ) NAMES DEFAULT_DOMAIN = tnsnames ora文件: test = (DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT= )) ) (CONNECT_DATA=(SERVICE_NAME=) ) ) sqlplus运行基本机理 在用户输入sqlplus system/manager@test后 sqlplus程序会自动到sqlnet ora文件中找NAMES DEFAULT_DOMAIN参数 假如该参数存在 则将该参数中的值取出 加到网络服务名的后面 即此例中你的输入由sqlplus system/manager@test自动变为sqlplus system/man 然后再到tnsnames ora文件中找网络服务名 这当然找不到了 因为该文件中只有test网络服务名 所以报错 解决的办法就是将sqlnet ora文件中的NAMES DEFAULT_DOMAIN参数注释掉即可 如#NAMES DEFAULT_DOMAIN = 假如NAMES DEFAULT_DOMAIN参数不存在 则sqlplus程序会直接到tnsnames ora文件中找test网络服务名 然后取出其中的host port tcp service_name 利用这些信息将连接请求发送到正确的数据库服务器上 另外原则上tnsnames ora中的配置不区分大小写 但是我的确遇到区分大小写的情况 所以最好将使用的网络服务与tnsnames ora中配置的完全一样 ORA : TNS:listener could not resolve SERVICE_NAME given in connect Descriptor 该错误表示能在tnsnames ora中找到网络服务名 但是在tnsnames ora中指定的SERVICE_NAME与服务器端的SERVICE_NAME不一致 解决的办法是修改tnsnames ora中的SERVICE_NAME 易混淆术语介绍 Db_name 对一个数据库(Oracle database)的唯一标识 该数据库为第一章讲到的Oracle database 这种表示对于单个数据库是足够的 但是随着由多个数据库构成的分布式数据库的普及 这种命令数据库的方法给数据库的管理造成一定的负担 因为各个数据库的名字可能一样 造成管理上的混乱 为了解决这种情况 引 lishixinzhi/Article/program/Oracle/201311/18161
对于数据库系统可能发生的故障可以咨询专业的数据恢复机构。
北亚文件系统数据恢复Windows版可以恢复Windows用户在使用过程中丢失的数据(误删除文件、误格式化硬盘、U盘/手机存储卡数据丢失、误清空回收站、磁盘分区消失)。软件 *** 作简单,易用。
可恢复故障:
误删除文件:
1:可只恢复指定路径的文件
2:支持恢复原来的文件名
3:恢复后保持原有目录结构
误格式化硬盘:
1:重装系统时,误格式化硬盘
2:磁盘文件全部异常消失
3:磁盘文件变成奇怪文件名
4:文件夹双击提示错误
U盘/手机存储卡数据丢失:
1:立即抢救U盘、手机存储卡、数码相机存储卡等设备
2:系统提示未格式化的设备
3:可抢救除硬件损坏外的数据丢失
误清空回收站:
1:Vista\\Win7\\Win8系统支持恢复原来的文件名
2:Win XP回收站中的文件名会被系统改名
磁盘分区消失:
1:误删除分区或重新分区后分区丢失
2:整个硬盘变为一个分区
3:分区无法打开,提示需要格式化
4:系统Ghost后,变为一个分区或几个分区
万能恢复:
1:对数据存储区直接进行扫描
2:深度恢复丢失的文件
3:将按文件类型对文件分类
4:不能恢复原来文件名
二、运行环境
软件可运行的 *** 作系统: Windows XP,Windows 2000,Windows 2003,Windows 2008,Windows 7。
另外,还有一些小技巧:①服务器、数据库、用户名和密码都是不可以使用汉字、全角字符或其它特殊字符命名的;②要是数据库是在本机安装的,那么服务器名一般是“”或者“(local)”来代替;③如果数据库装在局域网中其它计算机(服务器)上,服务器名可以用服务器的IP地址来代替;④如果正在使用的软件突然出现数据库不能连接,那么修改一下服务器名,一般就可以解决;2、常见原因:SQL服务管理器没有运行(没有启动)或者是SQL数据库安装时候就没有安装好;解决方法:写在数据库,并重新安装,并且需要启动SQL服务管理器(安装完数据库后,SQL服务管理器默认为开机启动);3、常见原因:计算机安全保护的限制、SQL Server安全设置出现错误或者是 *** 作系统的安全限制;解决方法:正确的设置安全保护软件,特别是Windows防火墙的设置,然后再重新设置SQL数据库安全属性;上面这些内容就是对数据库连接失败怎么办这种停车场系统常见故障的相关介绍,不过还是建议非专业人士不要自行 *** 作,以免丢失数据。
数据库系统中故障可以分为:事务故障、系统故障、介质故障。
一、事务故障
某个事务在运行过程中由于种种原因未运行至正常终止点,事务故障的常见原因,输入数据有误
运算溢出,违反了某些完整性限制发生锁死。
二、系统故障
由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的事务都以非正常方式终止。
发生系统故障时,内存中数据库缓冲区的信息全部丢失,但存储在外部存储设备上的数据未受影响 。
三、介质故障
硬件故障使存储在外存中的数据部分丢失或全部丢失 ,介质故障比前两类故障的可能性小得多,但破坏性最大。
数据库的故障主要分为四类:
(1)事务故障。事务在运行过程中由于种种原因,如输入数据的错误、运算溢出、违反了某些完整性限制、某些应用程序的错误,以及并发事务发生死锁等,使事务未运行至正常终止点就被撤销,这种情况称为“事务故障”。
(2)系统故障。系统故障是指系统在运行过程中,由于某种原因(如 *** 作系统或数据库管理系统代码错误、 *** 作员 *** 作失误、特定类型的硬件错误(如 CPU 故障)、突然停电等造成系统停止运行),致使事务在执行过程中以非正常方式终止,这时内存中的信息丢失,但存储在外存储设备上的数据不会受影响。
(3)介质故障。系统在运行过程中,由于某种硬件故障,如磁盘损坏、磁头碰撞或由于 *** 作系统的某种潜在的错误、瞬时强磁场干扰,使存储在外存上的数据部分损失或全部损失,称为“介质故障”。这类故障比前两类故障的可能性虽然小得多,但破坏性却最大。
(4)计算机病毒。计算机病毒是一种人为破坏计算机正常工作的特殊程序。
以上就是关于连接oracle数据库及故障解决办法全部的内容,包括:连接oracle数据库及故障解决办法、简述数据库系统可能发生的故障及其恢复方法、停车场系统常见故障:数据库连接失败怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)