- 康康map
-
将sqlnet.ora文件中的SQLNET.AUTHENTICATION_SERVICES = (TNS)修改为SQLNET.AUTHENTICATION_SERVICES = (NONE)
然后再来连接数据库,通的.ok,问题暂时解决
不过这么解决有后遗症,那就是下面的命令将无法连接数据库了.
sql>connect /as sysdba这种不输入sys密码的方法,将不能连接数据库了,说实话,我还真不知道那个地方的sys密码是啥,准确的说,我还不知道那里也有项目.
先寒一个,要是老板知道我连我们的数据库在那里都搞不明白,不知道会作何感想,不过,那里上项目还真从来没有告诉我,不知道这是不是因为我们的数据库安装配置文档写的好,大家自己就可以安装配置Oracle了.
- 阿啵呲嘚
-
查了下,这个问题应该是网络问题,在错误手册上,这个问题的标准代码应该为 tns-12641(ora-12500到ora-12699的错误,应该是tns-12500到tns-12699).网络问题,从网络方面着手了.
查了metalink,描述如下:
Problem Description:
================
You are trying to connect to a database and you receive one of the
following errors:
ORA-12641: TNS:authentication service failed to initialize
Cause: The authentication service failed during initialization.
Action: Enable tracing to determine the exact error.
– OR -
ORA-12666: Dedicated server: outbound transport protocol different
from inbound
Cause: The protocol specified for an externally-identified outbound
connection from a dedicated server (database link) was not
the same as that used for the inbound connection. It is not
possible for SQL*Net to authenticate a proxy connection that
uses a protocol that is different from that which was used
for the connection to the dedicated server.
Action: Specify the same protocol in the SQL*Net connect string or
alias for the outbound connection as that used for the inbound
connection.
metalink上的说法是ora-12666错误也是和这个一样的错误.
解决的方法,也算比较简单的
将sqlnet.ora文件中的SQLNET.AUTHENTICATION_SERVICES = (TNS)修改为SQLNET.AUTHENTICATION_SERVICES = (NONE)
然后再来连接数据库,通的.ok,问题暂时解决
ORACOM是哪个国家的品牌
韩国品牌。2023-07-20 15:43:331
oracom为什么蓝牙配对不上
首先看两个设备是否都具有蓝牙功能(如果是电脑还需要正确安装蓝牙驱动);其次看设备是否打开蓝牙功能(不打开的话设备不能被找到);再次还要成功连接两个设备(一般要用到PIN码和配对码。PIN码一般是“0000”、“1111”或“1234”,配对码是当下设置并使用的,两个设备要求配对必须一致);第四、传送距离一般不得超过10米,否则传送会中断。祝好运!2023-07-20 15:43:401
Oracom a10 我的电脑找不到他的usb符盘怎么办
一般来说USB都需要驱动程序来执行的,但现在大部分电脑都自带了.其次每个USB接口的供电率是不一样的.看看你的接口属于几安的.下面给你两种解决方法:1、右击“我的电脑”,选择“管理”,选择“磁盘管理”,看下你的U盘认到没,如果认到了,看看有没有分配盘符。 2、USB接口都有一个保险的,这个保险有时会烧断,之后USB接口无供电,但也些情况下不会烧断,只是电阻变大了,这种情况之下就会出现供电不足,所以不法正常识别USB设备,这种问题很简单就是换掉保险就OK了。3、首先确认USB口不仅仅是输入设备(鼠标、键盘)不认,其他U口的存储设备也不认。都不认的话,在主机关机断电后,对主板电池进行放电(放电3分钟)。放电完毕重新插入电池,开机后按F1进入CMOS设置,还原CMOS为默认设置“load default setting”,如果机子没有软驱,可将软盘禁用“floppy diskettes off”,退出并保存设置“exit & save”。 3、2023-07-20 15:43:471
ORACOM手环怎么和手机连接,怎么进行设置,型号好像是S1
说实话,这款智能手环设置有点麻烦, 所以智能用图片回答你了。希望对你有帮助, 具体细节还得继续摸索才习惯。目前在使用中, 但是还在磨合2023-07-20 15:43:561
狂送MP3!ORACOM/奥莱卡 DC-V2礼品数码相机 1200万像素 8倍变焦才300不到,这款相机值得买么
还是老老实实佳能吧 老兄2023-07-20 15:44:293
苹果4怎样连接oracom手环
额2023-07-20 15:44:361
韩国ORACOM A9 被我弄坏了
你确定那是插内存卡啊 照你这样估计短路了 烧坏了电容或是电路 国内应该没有这个维修点 这玩意在国内没代理商 而且俺都没听过也没玩过这个牌子的东西2023-07-20 15:44:431
如何正确配置tnsname.ora文件
其中orcl和a8都是连接我远程Oracle服务器的网络名字 另外还可以用netca命令(ORACLE_HOME配置正确)调出图形界面,选择“本地NET服务名”来生成该文件2023-07-20 15:44:532
如何连接oracle数据库?
如何配置才能使客户端连到数据库:x0dx0ax0dx0a要使一个客户端机器能连接oracle数据库,需要在客户端机器上安装oracle的客户端软件,唯一的例外就是java连接数据库的时候,可以用 x0dx0ajdbc x0dx0athin模式,不用装oracle的客户端软件。加入你在机器上装了oracle数据库,就不需要在单独在该机器上安装oracle客户端了,因为装 x0dx0aoracle数据库的时候会自动安装oracle客户端。x0dx0a 用过sql x0dx0aserver数据库然后又用oracle的新手可能会有这样的疑问:问什么我用sql server的时候不用装sql x0dx0aserver的客户端呢?原因很简单,sql server也是microsoft的,它在操作系统中集成了sql x0dx0aserver客户端,如果microsoft与oracle有协议,将oracle客户端也集成到操作系统中,那我们也就不用在客户端机器装oraclex0dx0a 客户端软机就可访问数据库了,不过,这好像是不可能实现的事情。x0dx0a 也有的人会问:为什么在sql x0dx0aserver中没有侦听端口一说,而在oracle中要配置侦听端口?其实sql x0dx0aserver中也有侦听端口,只不过microsoft将侦听端口固定为1433,不允许你随便改动,这样给你一个错觉感觉sql x0dx0aserver中没有侦听端口,咳,microsoft把太多的东西都封装到黑盒子里,方便使用的同时也带来的需要副作用。而oracle中的侦听端口直接x0dx0a 在配置文件中,允许随便改动,只不过无论怎样改动,要与oracle服务器端设置的侦听端口一致。x0dx0a好,言归正传,我们如何做才能使客户端机器连接到oracle数据库呢?x0dx0aA. 安装相关软件x0dx0aB. 进行适当的配置x0dx0ax0dx0aA.在适当的位置安装适当的软件:x0dx0a在客户端机器:x0dx0a1.在客户端机器上安装ORACLE的Oracle Net通讯软件,它包含在oracle的客户端软件中。x0dx0a2.正确配置了sqlnet.ora文件:x0dx0aNAMES.DIRECTORY_PATH = (TNSNAMES, ?.)x0dx0aNAMES.DEFAULT_DOMAIN=DB_DOMAINx0dx0a一般情况下我们不用NAMES.DEFAULT_DOMAIN参数。如果想不用该参数用#注释掉或将该参数删除即可,对于NAMES.DIRECTORY_PATH参数采用缺省值即可,对于NAMES.DEFAULT_DOMAIN参数有时需要注释掉,在下面有详细解释。x0dx0a3.正确配置了tnsname.ora文件x0dx0ax0dx0a在服务器端机器:x0dx0a1.保证listener已经启动x0dx0a2.保证数据库已经启动。x0dx0a如果数据库没有启动,用:x0dx0aOracle 9i:x0dx0ados>sqlplus “/ as sysdba”x0dx0asqlplus> startupx0dx0aOracle 8i:x0dx0ados>svrmgrlx0dx0asvrmgrl>connect internalx0dx0asvrmgrl>startupx0dx0a命令启动数据库x0dx0a如果listener没有启动,用:x0dx0alsnrctl start [listener name]x0dx0alsnrctl status [listener name]x0dx0a命令启动listenerx0dx0aB.进行适当的配置x0dx0a如何正确配置tnsname.ora文件:x0dx0ax0dx0a可x0dx0a 以在客户端机器上使用oracle Net Configuration Assistant或oracle Net x0dx0aManager图形配置工具对客户端进行配置,该配置工具实际上修改tnsnames.ora文件。所以我们可以直接修改tnsnames.ora文件,x0dx0a 下面以直接修改tnsnames.ora文件为例:x0dx0a该文件的位置为: ? etworkadmin nsnames.ora (for windows)x0dx0a?/network/admin/tnsnames.ora (for unix)x0dx0a此处,假设服务器名为testserver,服务名为orcl.testserver.com,使用的侦听端口为1521,则tnsnams.ora文件中的一个test网络服务名(数据库别名)为:x0dx0atest =x0dx0a(DESCRIPTION=x0dx0a(ADDRESS_LIST=x0dx0a(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))x0dx0a)x0dx0a(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)x0dx0a)x0dx0a)x0dx0a此处的笑脸为)。x0dx0a 红色的内容为需要根据实际情况修改的内容,现解释如下:x0dx0a PROTOCOL:客户端与服务器端通讯的协议,一般为TCP,该内容一般不用改。x0dx0ax0dx0aHOST:数据库侦听所在的机器的机器名或IP地址,数据库侦听一般与数据库在同一个机器上,所以当我说数据库侦听所在的机器一般也是指数据库所在的机 x0dx0a x0dx0a器。在UNIX或WINDOWS下,可以通过在数据库侦听所在的机器的命令提示符下使用hostname命令得到机器名,或通过ipconfig(forx0dx0a WINDOWS) or ifconfig(for x0dx0aUNIX)命令得到IP地址。需要注意的是,不管用机器名或IP地址,在客户端一定要用ping命令ping通数据库侦听所在的机器的机器名,否则需要在x0dx0a hosts文件中加入数据库侦听所在的机器的机器名的解析。x0dx0ax0dx0aPORT:数据库侦听正在侦听的端口,可以察看服务器端的listener.ora文件或在数据库侦听所在的机器的命令提示符下通过lnsrctl status [listener name]命令察看。此处Port的值一定要与数据库侦听正在侦听的端口一样。x0dx0a SERVICE_NAME:在服务器端,用system用户登陆后,sqlplus> show parameter service_name命令察看。x0dx0a 如何利用配置的网络服务名连接到数据库:x0dx0a 用sqlplus程序通过test网络服务名进行测试,如sqlplus system/manager@test。x0dx0a 如果不能连接到数据库,则在tnsname.ora文件中的test网络服务名(net x0dx0aservice)后面加上sqlnet.ora文件中NAMES.DEFAULT_DOMAIN参数的值,此处我的参数值为 x0dx0atestserver.com,将其加到网络服务名后面,修改后的tnsname.ora中关于该网络服务名的内容为:x0dx0ax0dx0a 什么情况下会引起oracle自动设置NAMES.DEFAULT_DOMAIN参数?x0dx0a x0dx0a 出现这种情况的典型环境为windows的客户端的‘我得电脑à属性à计算机名à更改à其它?à此计算机的主DNS后缀"中设置了‘primary x0dx0a dns x0dx0asuffix",因为在这种情况下安装客户端时,会在sqlnet.ora文件中自动设置NAMES.DEFAULT_DOMAIN参数,或许当把计算机x0dx0a 加入域中安装oracle客户端时也会出现这种情况,有条件的话大家可以试一下。x0dx0ax0dx0a我在设置oracle的客户端时一般手工修改tnsnames.ora文件,但是还有许多人喜欢用图形工具配置,该图形工具最终还是修改tnsnames.ora文件,但是它有时会引起其它的问题:x0dx0ax0dx0a在用oracle的图形配置软件"net assistant"或‘Net Configuration x0dx0aAssistant"配置网络服务名时,假如已经设置了‘primary dns x0dx0asuffix",但是在图形配置软件中写的网络服务名的名字中没有‘primary dns x0dx0asuffix",如只是写了test,则图形配置软件会自动在后面加上‘primary dns x0dx0asuffix",使之变为test.testserver.com,并存在tnsnames.ora中,而不管你的sqlnet.ora文件中是否有 x0dx0aNAMES.DEFAULT_DOMAIN参数。此时,用图形工具进行测试连接是通过的,但是假如此时sqlnet.ora文件中没有 x0dx0aNAMES.DEFAULT_DOMAIN参数,则你在使用网络服务名时应该使用在tnsnames.ora中的 x0dx0atest.testserver.com,而不是你在图形配置软件中键入的test。解决的办法为:x0dx0a<1>可以在sqlnet.ora文件中设置NAMES.DEFAULT_DOMAIN= testserver.com,这时你可以用test或test.testserver.com连接数据库x0dx0a<2>在sqlnet.ora文件中不设置NAMES.DEFAULT_DOMAIN参数,在tnsnames.ora文件中将test.testserver.com中的.testserver.com去掉,这时你可以用test连接数据库。x0dx0ax0dx0a关于为什们在网络服务名后面加db_domain参数,需要了解sql*plus连接数据库的原理,我在后面解决12154常见故障中给出了详细的说明。x0dx0ax0dx0a如果上面的招数还不奏效的话,只好用一下乾坤大挪移了。x0dx0a将客户端的网络服务名部分x0dx0atest.testserver.com =x0dx0a(DESCRIPTION=x0dx0a(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))x0dx0a)x0dx0a(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)x0dx0a)x0dx0a)x0dx0a此处的笑脸为)。x0dx0a拷贝到服务器的tnsnames.ora文件中。然后再服务器端用sqlplus system/manager@test.testserver.com连接到数据库。x0dx0a 如果能连接成功,说明你的客户端与服务器端的网络有问题。x0dx0a 如果连接不成功,用前面的部分检查网络服务名部分部分是否正确,如果确信网络服务名部分正确而且所有的客户端都连不上数据库则可能为系统TCP/IP或Oracle系统有问题,建议重新安装数据库。x0dx0a该错误表示用于连接的网络服务名在tnsnames.ora文件中不存在,如上面的tnsnames.ora中的网络服务名只有test,假如用户在连接时用sqlplus system/manager@test1则就会给出TNS-12154错误。x0dx0a要注意的是,有时即使在tnsnames.ora文件中有相应的网络服务名,可是用该网络服务名连接时还会出错,出现这种情况的典型配置如下(在客户端的机器上):x0dx0asqlnet.ora文件:x0dx0aNAMES.DIRECTORY_PATH = (TNSNAMES, ?.)x0dx0aNAMES.DEFAULT_DOMAIN = server.comx0dx0atnsnames.ora文件:x0dx0atest =x0dx0a(DESCRIPTION=x0dx0a(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))x0dx0a)x0dx0a(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)x0dx0a)x0dx0a)x0dx0a此处的笑脸为)。x0dx0asql*plus运行基本机理:x0dx0a 在用户输入sqlplus system/manager@test后,sqlplus程序会自动到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN参数,假 如该参数存在,则将该参数中的值取出,加到网络服务名的后面, x0dx0ax0dx0a即此例中你的输入由sqlplus system/manager@test自动变为sqlplus system/manager@test.server.comx0dx0a x0dx0a,然后再到tnsnames.ora文件中找test.server.com网络服务名,这当然找不到了,因为该文件中只有test网络服务名,所以报 x0dx0a 错。解决的办法就是将sqlnet.ora文件中的NAMES.DEFAULT_DOMAIN参数注释掉即可,如 x0dx0a#NAMES.DEFAULT_DOMAIN = x0dx0aserver.com。假如NAMES.DEFAULT_DOMAIN参数不存在,则sqlplus程序会直接到tnsnames.ora文件中找 x0dx0atest网络服务名,然后取出其中的host,port,tcp,service_name,利用这些信息将连接请求发送到正确的数据库服务器上。x0dx0a 另外原则上tnsnames.ora中的配置不区分大小写,但是我的确遇到区分大小写的情况,所以最好将使用的网络服务与tnsnames.ora中配置的完全一样。x0dx0aORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect Descriptor.x0dx0a该错误表示能在tnsnames.ora中找到网络服务名,但是在tnsnames.ora中指定的SERVICE_NAME与服务器端的SERVICE_NAME不一致。解决的办法是修改tnsnames.ora中的SERVICE_NAME。x0dx0ax0dx0a 易混淆术语介绍:x0dx0a x0dx0a Db_name:对一个数据库(Oracle database)的唯一标识,该数据库为第一章讲到的Oracle x0dx0adatabase。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负 x0dx0a 担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和 x0dx0aDb_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和 x0dx0aDb_domain两个参数用"."连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_name。 x0dx0aDb_name参数只能由字母、数字、"_"、"#"、"$"组成,而且最多8个字符。x0dx0ax0dx0a Db_domain:定义一个数据库所在的域,该域的命名同互联网的"域"没有任何关系,只是数据库管理员为了更好的管理分布式数据库而根据实际情况决定的。当然为了管理方便,可以将其等于互联网的域。x0dx0ax0dx0aGlobal_name:对一个数据库(Oracle x0dx0adatabase)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. x0dx0aDb_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改 x0dx0aGlobal_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO x0dx0a命令进行修改,然后修改相应参数。x0dx0ax0dx0aService_name:该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,x0dx0a x0dx0a一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,x0dx0a 而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. x0dx0aDb_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关x0dx0a 系,即不必Service name 必须与SID一样。x0dx0aNet service name:网络服务名,又可以称为数据库别名(database alias)。是客户端程序访问数据库时所需要,屏蔽了客户端如何连接到服务器端的细节,实现了数据库的位置透明的特性。2023-07-20 15:45:021
如何连接oracle数据库及故障解决办法
如何配置才能使客户端连到数据库:要使一个客户端机器能连接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将侦听端口固定为1433,不允许你随便改动,这样给你一个错觉感觉sql server中没有侦听端口,咳,microsoft把太多的东西都封装到黑盒子里,方便使用的同时也带来的需要副作用。而oracle中的侦听端口直接 在配置文件中,允许随便改动,只不过无论怎样改动,要与oracle服务器端设置的侦听端口一致。好,言归正传,我们如何做才能使客户端机器连接到oracle数据库呢?A. 安装相关软件B. 进行适当的配置A.在适当的位置安装适当的软件:在客户端机器:1.在客户端机器上安装ORACLE的Oracle Net通讯软件,它包含在oracle的客户端软件中。2.正确配置了sqlnet.ora文件:NAMES.DIRECTORY_PATH = (TNSNAMES, ….)NAMES.DEFAULT_DOMAIN=DB_DOMAIN一般情况下我们不用NAMES.DEFAULT_DOMAIN参数。如果想不用该参数用#注释掉或将该参数删除即可,对于NAMES.DIRECTORY_PATH参数采用缺省值即可,对于NAMES.DEFAULT_DOMAIN参数有时需要注释掉,在下面有详细解释。3.正确配置了tnsname.ora文件在服务器端机器:1.保证listener已经启动2.保证数据库已经启动。如果数据库没有启动,用:Oracle 9i:dos>sqlplus “/ as sysdba”sqlplus> startupOracle 8i:dos>svrmgrlsvrmgrl>connect internalsvrmgrl>startup命令启动数据库如果listener没有启动,用:lsnrctl start [listener name]lsnrctl status [listener name]命令启动listenerB.进行适当的配置如何正确配置tnsname.ora文件:可 以在客户端机器上使用oracle Net Configuration Assistant或oracle Net Manager图形配置工具对客户端进行配置,该配置工具实际上修改tnsnames.ora文件。所以我们可以直接修改tnsnames.ora文件, 下面以直接修改tnsnames.ora文件为例:该文件的位置为: … etworkadmin nsnames.ora (for windows)…/network/admin/tnsnames.ora (for unix)此处,假设服务器名为testserver,服务名为orcl.testserver.com,使用的侦听端口为1521,则tnsnams.ora文件中的一个test网络服务名(数据库别名)为:test =(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)))此处的笑脸为)。 红色的内容为需要根据实际情况修改的内容,现解释如下: 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)后面加上sqlnet.ora文件中NAMES.DEFAULT_DOMAIN参数的值,此处我的参数值为 testserver.com,将其加到网络服务名后面,修改后的tnsname.ora中关于该网络服务名的内容为: 什么情况下会引起oracle自动设置NAMES.DEFAULT_DOMAIN参数? 出现这种情况的典型环境为windows的客户端的‘我得电脑à属性à计算机名à更改à其它…à此计算机的主DNS后缀"中设置了‘primary dns suffix",因为在这种情况下安装客户端时,会在sqlnet.ora文件中自动设置NAMES.DEFAULT_DOMAIN参数,或许当把计算机 加入域中安装oracle客户端时也会出现这种情况,有条件的话大家可以试一下。我在设置oracle的客户端时一般手工修改tnsnames.ora文件,但是还有许多人喜欢用图形工具配置,该图形工具最终还是修改tnsnames.ora文件,但是它有时会引起其它的问题:在用oracle的图形配置软件"net assistant"或‘Net Configuration Assistant"配置网络服务名时,假如已经设置了‘primary dns suffix",但是在图形配置软件中写的网络服务名的名字中没有‘primary dns suffix",如只是写了test,则图形配置软件会自动在后面加上‘primary dns suffix",使之变为test.testserver.com,并存在tnsnames.ora中,而不管你的sqlnet.ora文件中是否有 NAMES.DEFAULT_DOMAIN参数。此时,用图形工具进行测试连接是通过的,但是假如此时sqlnet.ora文件中没有 NAMES.DEFAULT_DOMAIN参数,则你在使用网络服务名时应该使用在tnsnames.ora中的 test.testserver.com,而不是你在图形配置软件中键入的test。解决的办法为:<1>可以在sqlnet.ora文件中设置NAMES.DEFAULT_DOMAIN= testserver.com,这时你可以用test或test.testserver.com连接数据库<2>在sqlnet.ora文件中不设置NAMES.DEFAULT_DOMAIN参数,在tnsnames.ora文件中将test.testserver.com中的.testserver.com去掉,这时你可以用test连接数据库。关于为什们在网络服务名后面加db_domain参数,需要了解sql*plus连接数据库的原理,我在后面解决12154常见故障中给出了详细的说明。如果上面的招数还不奏效的话,只好用一下乾坤大挪移了。将客户端的网络服务名部分test.testserver.com =(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)))此处的笑脸为)。拷贝到服务器的tnsnames.ora文件中。然后再服务器端用sqlplus system/manager@test.testserver.com连接到数据库。 如果能连接成功,说明你的客户端与服务器端的网络有问题。 如果连接不成功,用前面的部分检查网络服务名部分部分是否正确,如果确信网络服务名部分正确而且所有的客户端都连不上数据库则可能为系统TCP/IP或Oracle系统有问题,建议重新安装数据库。该错误表示用于连接的网络服务名在tnsnames.ora文件中不存在,如上面的tnsnames.ora中的网络服务名只有test,假如用户在连接时用sqlplus system/manager@test1则就会给出TNS-12154错误。要注意的是,有时即使在tnsnames.ora文件中有相应的网络服务名,可是用该网络服务名连接时还会出错,出现这种情况的典型配置如下(在客户端的机器上):sqlnet.ora文件:NAMES.DIRECTORY_PATH = (TNSNAMES, ….)NAMES.DEFAULT_DOMAIN = server.comtnsnames.ora文件:test =(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)))此处的笑脸为)。sql*plus运行基本机理: 在用户输入sqlplus system/manager@test后,sqlplus程序会自动到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN参数,假 如该参数存在,则将该参数中的值取出,加到网络服务名的后面, 即此例中你的输入由sqlplus system/manager@test自动变为sqlplus system/manager@test.server.com,然后再到tnsnames.ora文件中找test.server.com网络服务名,这当然找不到了,因为该文件中只有test网络服务名,所以报 错。解决的办法就是将sqlnet.ora文件中的NAMES.DEFAULT_DOMAIN参数注释掉即可,如 #NAMES.DEFAULT_DOMAIN = server.com。假如NAMES.DEFAULT_DOMAIN参数不存在,则sqlplus程序会直接到tnsnames.ora文件中找 test网络服务名,然后取出其中的host,port,tcp,service_name,利用这些信息将连接请求发送到正确的数据库服务器上。 另外原则上tnsnames.ora中的配置不区分大小写,但是我的确遇到区分大小写的情况,所以最好将使用的网络服务与tnsnames.ora中配置的完全一样。ORA-12514: 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。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负 担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和 Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和 Db_domain两个参数用"."连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_name。 Db_name参数只能由字母、数字、"_"、"#"、"$"组成,而且最多8个字符。 Db_domain:定义一个数据库所在的域,该域的命名同互联网的"域"没有任何关系,只是数据库管理员为了更好的管理分布式数据库而根据实际情况决定的。当然为了管理方便,可以将其等于互联网的域。Global_name:对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. Db_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改 Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO <db_name.db_domain>命令进行修改,然后修改相应参数。Service_name:该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库, 而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关 系,即不必Service name 必须与SID一样。Net service name:网络服务名,又可以称为数据库别名(database alias)。是客户端程序访问数据库时所需要,屏蔽了客户端如何连接到服务器端的细节,实现了数据库的位置透明的特性。2023-07-20 15:45:091
oracle 启动失败
我也是来做任务的。不好意思2023-07-20 15:45:285
oracle ORA-01033问题怎么解决
mount状态 起起来看一下,看看是否丢了日志了。2023-07-20 15:45:455
ORA-04045,什么原因造成此错误
ora-12514的错误的原因有很多。但无外乎这几种:1)、 ORA-12541: TNS: 没有监听器显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:$ lsnrctl start或C:lsnrctl start2)、 ORA-12154: TNS: 无法处理服务名检查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(Windows下如D:oracleora92networkadmin tnsnames.ora,Linux/Unix下/network/admin/tnsnames.ora)里每项服务的首 行服务名称前不能有空格。3)、 ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。同时检查sqlnet.ora,例如如果想要采用简便连接方式连接就需要在NAMES.DIRECTORY_PATH参数中添加EZCONNECT。4)、Ora-12514:TNS:监听程序当前无法识别链接描述符中请求的服务该问题是由于缺少监听器的SID_LIST描述项引起的,采用netca进行配置的时候经常会遇到该问题,listener.ora示例如下SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = /opt/oracle/product/9.2.0.4)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = SAMPLE.COM)(ORACLE_HOME = /opt/oracle/product/9.2.0.4)(SID_NAME = SAMPLE)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = tcy.com)(PORT = 1521)))2023-07-20 15:46:451
Oracle问题:服务都启动了 并且用户名和密码也正确 但是仍出现了 下列错误
这个问题,不去Oracle的专业区问,跑这里来了。如果是window下,重启服务看看。不行的话,修改Init.ora,把sga的大小调整下。如果不行,就需要你报上你oracle的版本,操作系统的版本,32bit还是64bit2023-07-20 15:47:002
ora-00054: 资源正忙, 但指定以 nowait 方式获取资源如何解决
请参考http://wenku.baidu.com/link?url=-oRCF6lJwfprdE6m1anXPe8Eq9Z0tbTQ7tyFYAqcKAxQqKvjAZ8HDgalPv_-lXloifk1MTelCQZ2_JFwcR_ZesUYQzNQAcyHnSKDukwFVhW2023-07-20 15:47:102
请问:ORACLE的客户端如何连接到数据库,高手请指点,说明详细过程,谢谢!!!
如何连接oracle数据库及故障解决办法 如何配置才能使客户端连到数据库: 要使一个客户端机器能连接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将侦听端口固定为1433,不允许你随便改动,这样给你一个错觉感觉sql server中没有侦听端口,咳,microsoft把太多的东西都封装到黑盒子里,方便使用的同时也带来的需要副作用。而oracle中的侦听端口直接在配置文件中,允许随便改动,只不过无论怎样改动,要与oracle服务器端设置的侦听端口一致。 好,言归正传,我们如何做才能使客户端机器连接到oracle数据库呢? A. 安装相关软件 B. 进行适当的配置 A.在适当的位置安装适当的软件: 在客户端机器: 1.在客户端机器上安装ORACLE的Oracle Net通讯软件,它包含在oracle的客户端软件中。 2.正确配置了sqlnet.ora文件: NAMES.DIRECTORY_PATH = (TNSNAMES, ….) NAMES.DEFAULT_DOMAIN=DB_DOMAIN 一般情况下我们不用NAMES.DEFAULT_DOMAIN参数。如果想不用该参数用#注释掉或将该参数删除即可,对于NAMES.DIRECTORY_PATH参数采用缺省值即可,对于NAMES.DEFAULT_DOMAIN参数有时需要注释掉,在下面有详细解释。 3.正确配置了tnsname.ora文件 在服务器端机器: 1.保证listener已经启动 2.保证数据库已经启动。 如果数据库没有启动,用: Oracle 9i: dos>sqlplus “/ as sysdba” sqlplus> startup Oracle 8i: 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文件为例: 该文件的位置为: … etworkadmin nsnames.ora (for windows) …/network/admin/tnsnames.ora (for unix) 此处,假设服务器名为testserver,服务名为orcl.testserver.com,使用的侦听端口为1521,则tnsnams.ora文件中的一个test网络服务名(数据库别名)为: test = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)) ) (CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com) ) ) 此处的笑脸为)。 红色的内容为需要根据实际情况修改的内容,现解释如下: 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)后面加上sqlnet.ora文件中NAMES.DEFAULT_DOMAIN参数的值,此处我的参数值为testserver.com,将其加到网络服务名后面,修改后的tnsname.ora中关于该网络服务名的内容为: 什么情况下会引起oracle自动设置NAMES.DEFAULT_DOMAIN参数? 出现这种情况的典型环境为windows的客户端的‘我得电脑à属性à计算机名à更改à其它…à此计算机的主DNS后缀"中设置了‘primary dns suffix",因为在这种情况下安装客户端时,会在sqlnet.ora文件中自动设置NAMES.DEFAULT_DOMAIN参数,或许当把计算机加入域中安装oracle客户端时也会出现这种情况,有条件的话大家可以试一下。 我在设置oracle的客户端时一般手工修改tnsnames.ora文件,但是还有许多人喜欢用图形工具配置,该图形工具最终还是修改tnsnames.ora文件,但是它有时会引起其它的问题: 在用oracle的图形配置软件"net assistant"或‘Net Configuration Assistant"配置网络服务名时,假如已经设置了‘primary dns suffix",但是在图形配置软件中写的网络服务名的名字中没有‘primary dns suffix",如只是写了test,则图形配置软件会自动在后面加上‘primary dns suffix",使之变为test.testserver.com,并存在tnsnames.ora中,而不管你的sqlnet.ora文件中是否有NAMES.DEFAULT_DOMAIN参数。此时,用图形工具进行测试连接是通过的,但是假如此时sqlnet.ora文件中没有NAMES.DEFAULT_DOMAIN参数,则你在使用网络服务名时应该使用在tnsnames.ora中的test.testserver.com,而不是你在图形配置软件中键入的test。解决的办法为: <1>可以在sqlnet.ora文件中设置NAMES.DEFAULT_DOMAIN= testserver.com,这时你可以用test或test.testserver.com连接数据库 <2>在sqlnet.ora文件中不设置NAMES.DEFAULT_DOMAIN参数,在tnsnames.ora文件中将test.testserver.com中的.testserver.com去掉,这时你可以用test连接数据库。关于为什们在网络服务名后面加db_domain参数,需要了解sql*plus连接数据库的原理,我在后面解决12154常见故障中给出了详细的说明。 如果上面的招数还不奏效的话,只好用一下乾坤大挪移了。 将客户端的网络服务名部分 test.testserver.com = (DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)) ) (CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com) ) ) 此处的笑脸为)。 拷贝到服务器的tnsnames.ora文件中。然后再服务器端用sqlplus system/manager@test.testserver.com连接到数据库。 如果能连接成功,说明你的客户端与服务器端的网络有问题。 如果连接不成功,用前面的部分检查网络服务名部分部分是否正确,如果确信网络服务名部分正确而且所有的客户端都连不上数据库则可能为系统TCP/IP或Oracle系统有问题,建议重新安装数据库。 常见故障解决办法: TNS-12154 (ORA-12154):TNS:could not resolve service name 该错误表示用于连接的网络服务名在tnsnames.ora文件中不存在,如上面的tnsnames.ora中的网络服务名只有test,假如用户在连接时用sqlplus system/manager@test1则就会给出TNS-12154错误。 要注意的是,有时即使在tnsnames.ora文件中有相应的网络服务名,可是用该网络服务名连接时还会出错,出现这种情况的典型配置如下(在客户端的机器上): sqlnet.ora文件: NAMES.DIRECTORY_PATH = (TNSNAMES, ….) NAMES.DEFAULT_DOMAIN = server.com tnsnames.ora文件: test = (DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)) ) (CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com) ) ) 此处的笑脸为)。 sql*plus运行基本机理: 在用户输入sqlplus system/manager@test后,sqlplus程序会自动到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN参数,假如该参数存在,则将该参数中的值取出,加到网络服务名的后面,即此例中你的输入由sqlplus system/manager@test自动变为sqlplus system/manager@test.server.com ,然后再到tnsnames.ora文件中找test.server.com网络服务名,这当然找不到了,因为该文件中只有test网络服务名,所以报错。解决的办法就是将sqlnet.ora文件中的NAMES.DEFAULT_DOMAIN参数注释掉即可,如#NAMES.DEFAULT_DOMAIN = server.com。假如NAMES.DEFAULT_DOMAIN参数不存在,则sqlplus程序会直接到tnsnames.ora文件中找test网络服务名,然后取出其中的host,port,tcp,service_name,利用这些信息将连接请求发送到正确的数据库服务器上。 另外原则上tnsnames.ora中的配置不区分大小写,但是我的确遇到区分大小写的情况,所以最好将使用的网络服务与tnsnames.ora中配置的完全一样。 ORA-12514: 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。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和Db_domain两个参数用"."连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_name。Db_name参数只能由字母、数字、"_"、"#"、"$"组成,而且最多8个字符。 Db_domain:定义一个数据库所在的域,该域的命名同互联网的"域"没有任何关系,只是数据库管理员为了更好的管理分布式数据库而根据实际情况决定的。当然为了管理方便,可以将其等于互联网的域。 Global_name:对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. Db_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO <db_name.db_domain>命令进行修改,然后修改相应参数。 Service_name:该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样。 Net service name:网络服务名,又可以称为数据库别名(database alias)。是客户端程序访问数据库时所需要,屏蔽了客户端如何连接到服务器端的细节,实现了数据库的位置透明的特性。2023-07-20 15:47:171
麻烦大家帮我用意大利翻译一下,还是些是用中文翻译
1. Sono una lingua straniera, gli studenti, devo imparare l"italiano. 2. In una partita scaffali di libri e riviste. 3. Ho un amico in Italia. La sua casa, Paolo, 21 anni, quest "anno, l"Università di Roma, che spesso mi ha scritto in italiano.2023-07-20 15:47:242
oracle的基础谁能告诉我点
复杂2023-07-20 15:47:323
windows oracle 怎么查看集群状态
参看集群状态[11:34:11oracle@node1 ~]crs_stat -tName Type Target State Host ------------------------------------------------------------ora.dba.db application ONLINE ONLINE node2 ora....l1.inst application ONLINE ONLINE node1 ora....l2.inst application ONLINE ONLINE node2 ora.dba.rac.cs application ONLINE ONLINE node2 ora....ll1.srv application ONLINE ONLINE node1 ora....ll2.srv application ONLINE ONLINE node2 ora....SM1.asm application ONLINE ONLINE node1 ora....E1.lsnr application ONLINE ONLINE node1 ora.node1.gsd application ONLINE ONLINE node1 ora.node1.ons application ONLINE ONLINE node1 ora.node1.vip application ONLINE ONLINE node1 ora....SM2.asm application ONLINE ONLINE node2 ora....E2.lsnr application ONLINE ONLINE node2 ora.node2.gsd application ONLINE ONLINE node2 ora.node2.ons application ONLINE ONLINE node2 ora.node2.vip application ONLINE ONLINE node2 查看集群资源信息[12:59:42oracle@node2 ~]srvctl config database -d dba -anode1 null1 /u01/app/oracle/product/10.2.0/db_1node2 null2 /u01/app/oracle/product/10.2.0/db_1DB_NAME: dbaORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1SPFILE: +DATA/dba/spfilenull.oraDOMAIN: wang.comDB_ROLE: nullSTART_OPTIONS: nullPOLICY: AUTOMATICENABLE FLAG: DB ENABLED查看连接信息[13:01:55oracle@node2 ~]srvctl config database -d dba -tExample client-side TNS entry for service rac:rac = (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db_vip)(PORT=dedicated_port))(CONNECT_DATA=(SERVICE_NAME=rac.wang.com)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC))))Example client-side TNS entry for service name:name = (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db_vip)(PORT=dedicated_port))(CONNECT_DATA=(SERVICE_NAME=name.wang.com)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC))))查看服务信息[13:02:20oracle@node2 ~]srvctl config service -d dba -arac PREF: null2 null1 AVAIL: TAF: basicname PREF: null2 null1 AVAIL: TAF: basic[13:02:45oracle@node2 ~]srvctl config service -d dba -s racrac PREF: null2 null1 AVAIL: [13:03:01oracle@node2 ~]srvctl config service -d dba -s rac -arac PREF: null2 null1 AVAIL: TAF: basic查看ASM信息[13:05:41oracle@node2 ~]srvctl config asm -n node1+ASM1 /u01/app/oracle/product/10.2.0/db_1[13:05:44oracle@node2 ~][13:05:53oracle@node2 ~]srvctl config asm -n node2+ASM2 /u01/app/oracle/product/10.2.0/db_1[13:05:56oracle@node2 ~]查看监听信息[13:05:57oracle@node2 ~]srvctl config listener -n node2 node2 LISTENER_NODE2[13:06:15oracle@node2 ~][13:06:16oracle@node2 ~]srvctl config listener -n node1node1 LISTENER_NODE1查看数据库状态[13:08:40oracle@node2 ~]srvctl status database -d dba Instance null1 is running on node node1Instance null2 is running on node node2[13:08:43oracle@node2 ~]srvctl status database -d dba -vInstance null1 is running on node node1 with online services rac name Instance null2 is running on node node2 with online services rac name 查看监听状态[13:09:27oracle@node2 ~]srvctl status instance -d dba -i null1,null2Instance null1 is running on node node1Instance null2 is running on node node2[13:09:40oracle@node2 ~]srvctl status instance -d dba -i null1,null2 -vInstance null1 is running on node node1 with online services rac name Instance null2 is running on node node2 with online services rac name 查看节点应用状态[13:10:29oracle@node2 ~]srvctl status nodeapps -n node1VIP is running on node: node1GSD is running on node: node1Listener is running on node: node1ONS daemon is running on node: node1[13:11:44oracle@node2 ~]srvctl status nodeapps -n node2VIP is running on node: node2GSD is running on node: node2Listener is running on node: node2ONS daemon is running on node: node2查看节点ASM状态[13:11:47oracle@node2 ~]srvctl status asm -n node1ASM instance +ASM1 is running on node node1.[13:12:26oracle@node2 ~]srvctl status asm -n node2ASM instance +ASM2 is running on node node2.测试TAF设定服务TAF模式为BASICRAC = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = rac.wang.com) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) (RETRIES = 180) (DELAY = 5) ) ) )查看集群状态[11:55:50oracle@node2 dbs]crs_stat -tName Type Target State Host ------------------------------------------------------------ora.dba.db application ONLINE ONLINE node2 ora....name.cs application ONLINE ONLINE node2 ora....ll1.srv application ONLINE ONLINE node1 ora....ll2.srv application ONLINE ONLINE node2 ora....l1.inst application ONLINE ONLINE node1 ora....l2.inst application ONLINE ONLINE node2 ora.dba.rac.cs application ONLINE ONLINE node2 ora....ll1.srv application ONLINE ONLINE node1 ora....ll2.srv application ONLINE ONLINE node2 ora....SM1.asm application ONLINE ONLINE node1 ora....E1.lsnr application ONLINE ONLINE node1 ora.node1.gsd application ONLINE ONLINE node1 ora.node1.ons application ONLINE ONLINE node1 ora.node1.vip application ONLINE ONLINE node1 ora....SM2.asm application ONLINE ONLINE node2 ora....E2.lsnr application ONLINE ONLINE node2 ora.node2.gsd application ONLINE ONLINE node2 ora.node2.ons application ONLINE ONLINE node2 ora.node2.vip application ONLINE ONLINE node2 连接数据库进行长事务查询[11:59:41oracle@node1 ~]sqlplus sys/oracle@rac as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on Thu May 27 11:59:56 2010Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, OLAP and Data Mining optionsSYS@NODE2:null2>show parameter service_nameNAME TYPE VALUE------------------------------------ ----------- ------------------------------service_names string dba.wang.com, rac, nameSYS@NODE2:null2>SYS@NODE2:null2>show parameter db_name;NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_name string dbaSYS@NODE2:null2>SYS@NODE2:null2>show parameter instance_name;NAME TYPE VALUE------------------------------------ ----------- ------------------------------instance_name string null2SYS@NODE2:null2>select * from dba_objects;在事务执行过程中关闭当前所连接的实例[12:00:47oracle@node2 admin]srvctl stop instance -i null2 -d dba -o abort可观察到该长事务中断若干秒后继续查询2005-10-22 21:50:51 2005-10-22 21:51:00 2005-10-22:21:50:51 VALID N N N观察集群状态[oracle@node1 ~]$ crs_stat -tName Type Target State Host ------------------------------------------------------------ora.dba.db application ONLINE ONLINE node2 ora....name.cs application ONLINE ONLINE node2 ora....ll1.srv application ONLINE ONLINE node1 ora....ll2.srv application ONLINE OFFLINE ora....l1.inst application ONLINE ONLINE node1 ora....l2.inst application OFFLINE OFFLINE ora.dba.rac.cs application ONLINE ONLINE node2 ora....ll1.srv application ONLINE ONLINE node1 ora....ll2.srv application ONLINE OFFLINE ora....SM1.asm application ONLINE ONLINE node1 ora....E1.lsnr application ONLINE ONLINE node1 ora.node1.gsd application ONLINE ONLINE node1 ora.node1.ons application ONLINE ONLINE node1 ora.node1.vip application ONLINE ONLINE node1 ora....SM2.asm application ONLINE ONLINE node2 ora....E2.lsnr application ONLINE ONLINE node2 ora.node2.gsd application ONLINE ONLINE node2 ora.node2.ons application ONLINE ONLINE node2 ora.node2.vip application ONLINE ONLINE node22023-07-20 15:47:391
ORACOM/奥莱卡数码相机 DC-V2迷你卡片相机怎么样??
还可以2023-07-20 15:48:241
用英语怎么说,哥莫拉
哥莫拉Gomorra2023-07-20 15:48:333
如何连接oracle数据库?
如何配置才能使客户端连到数据库:要使一个客户端机器能连接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将侦听端口固定为1433,不允许你随便改动,这样给你一个错觉感觉sql server中没有侦听端口,咳,microsoft把太多的东西都封装到黑盒子里,方便使用的同时也带来的需要副作用。而oracle中的侦听端口直接 在配置文件中,允许随便改动,只不过无论怎样改动,要与oracle服务器端设置的侦听端口一致。好,言归正传,我们如何做才能使客户端机器连接到oracle数据库呢?A. 安装相关软件B. 进行适当的配置A.在适当的位置安装适当的软件:在客户端机器:1.在客户端机器上安装ORACLE的Oracle Net通讯软件,它包含在oracle的客户端软件中。2.正确配置了sqlnet.ora文件:NAMES.DIRECTORY_PATH = (TNSNAMES, ….)NAMES.DEFAULT_DOMAIN=DB_DOMAIN一般情况下我们不用NAMES.DEFAULT_DOMAIN参数。如果想不用该参数用#注释掉或将该参数删除即可,对于NAMES.DIRECTORY_PATH参数采用缺省值即可,对于NAMES.DEFAULT_DOMAIN参数有时需要注释掉,在下面有详细解释。3.正确配置了tnsname.ora文件在服务器端机器:1.保证listener已经启动2.保证数据库已经启动。如果数据库没有启动,用:Oracle 9i:dos>sqlplus “/ as sysdba”sqlplus> startupOracle 8i:dos>svrmgrlsvrmgrl>connect internalsvrmgrl>startup命令启动数据库如果listener没有启动,用:lsnrctl start [listener name]lsnrctl status [listener name]命令启动listenerB.进行适当的配置如何正确配置tnsname.ora文件:可 以在客户端机器上使用oracle Net Configuration Assistant或oracle Net Manager图形配置工具对客户端进行配置,该配置工具实际上修改tnsnames.ora文件。所以我们可以直接修改tnsnames.ora文件, 下面以直接修改tnsnames.ora文件为例:该文件的位置为: … etworkadmin nsnames.ora (for windows)…/network/admin/tnsnames.ora (for unix)此处,假设服务器名为testserver,服务名为orcl.testserver.com,使用的侦听端口为1521,则tnsnams.ora文件中的一个test网络服务名(数据库别名)为:test =(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)))此处的笑脸为)。 红色的内容为需要根据实际情况修改的内容,现解释如下: 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)后面加上sqlnet.ora文件中NAMES.DEFAULT_DOMAIN参数的值,此处我的参数值为 testserver.com,将其加到网络服务名后面,修改后的tnsname.ora中关于该网络服务名的内容为: 什么情况下会引起oracle自动设置NAMES.DEFAULT_DOMAIN参数? 出现这种情况的典型环境为windows的客户端的‘我得电脑à属性à计算机名à更改à其它…à此计算机的主DNS后缀"中设置了‘primary dns suffix",因为在这种情况下安装客户端时,会在sqlnet.ora文件中自动设置NAMES.DEFAULT_DOMAIN参数,或许当把计算机 加入域中安装oracle客户端时也会出现这种情况,有条件的话大家可以试一下。我在设置oracle的客户端时一般手工修改tnsnames.ora文件,但是还有许多人喜欢用图形工具配置,该图形工具最终还是修改tnsnames.ora文件,但是它有时会引起其它的问题:在用oracle的图形配置软件"net assistant"或‘Net Configuration Assistant"配置网络服务名时,假如已经设置了‘primary dns suffix",但是在图形配置软件中写的网络服务名的名字中没有‘primary dns suffix",如只是写了test,则图形配置软件会自动在后面加上‘primary dns suffix",使之变为test.testserver.com,并存在tnsnames.ora中,而不管你的sqlnet.ora文件中是否有 NAMES.DEFAULT_DOMAIN参数。此时,用图形工具进行测试连接是通过的,但是假如此时sqlnet.ora文件中没有 NAMES.DEFAULT_DOMAIN参数,则你在使用网络服务名时应该使用在tnsnames.ora中的 test.testserver.com,而不是你在图形配置软件中键入的test。解决的办法为:<1>可以在sqlnet.ora文件中设置NAMES.DEFAULT_DOMAIN= testserver.com,这时你可以用test或test.testserver.com连接数据库<2>在sqlnet.ora文件中不设置NAMES.DEFAULT_DOMAIN参数,在tnsnames.ora文件中将test.testserver.com中的.testserver.com去掉,这时你可以用test连接数据库。关于为什们在网络服务名后面加db_domain参数,需要了解sql*plus连接数据库的原理,我在后面解决12154常见故障中给出了详细的说明。如果上面的招数还不奏效的话,只好用一下乾坤大挪移了。将客户端的网络服务名部分test.testserver.com =(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)))此处的笑脸为)。拷贝到服务器的tnsnames.ora文件中。然后再服务器端用sqlplus system/manager@test.testserver.com连接到数据库。 如果能连接成功,说明你的客户端与服务器端的网络有问题。 如果连接不成功,用前面的部分检查网络服务名部分部分是否正确,如果确信网络服务名部分正确而且所有的客户端都连不上数据库则可能为系统TCP/IP或Oracle系统有问题,建议重新安装数据库。该错误表示用于连接的网络服务名在tnsnames.ora文件中不存在,如上面的tnsnames.ora中的网络服务名只有test,假如用户在连接时用sqlplus system/manager@test1则就会给出TNS-12154错误。要注意的是,有时即使在tnsnames.ora文件中有相应的网络服务名,可是用该网络服务名连接时还会出错,出现这种情况的典型配置如下(在客户端的机器上):sqlnet.ora文件:NAMES.DIRECTORY_PATH = (TNSNAMES, ….)NAMES.DEFAULT_DOMAIN = server.comtnsnames.ora文件:test =(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)))此处的笑脸为)。sql*plus运行基本机理: 在用户输入sqlplus system/manager@test后,sqlplus程序会自动到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN参数,假 如该参数存在,则将该参数中的值取出,加到网络服务名的后面, 即此例中你的输入由sqlplus system/manager@test自动变为sqlplus system/manager@test.server.com,然后再到tnsnames.ora文件中找test.server.com网络服务名,这当然找不到了,因为该文件中只有test网络服务名,所以报 错。解决的办法就是将sqlnet.ora文件中的NAMES.DEFAULT_DOMAIN参数注释掉即可,如 #NAMES.DEFAULT_DOMAIN = server.com。假如NAMES.DEFAULT_DOMAIN参数不存在,则sqlplus程序会直接到tnsnames.ora文件中找 test网络服务名,然后取出其中的host,port,tcp,service_name,利用这些信息将连接请求发送到正确的数据库服务器上。 另外原则上tnsnames.ora中的配置不区分大小写,但是我的确遇到区分大小写的情况,所以最好将使用的网络服务与tnsnames.ora中配置的完全一样。ORA-12514: 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。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负 担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和 Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和 Db_domain两个参数用"."连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_name。 Db_name参数只能由字母、数字、"_"、"#"、"$"组成,而且最多8个字符。 Db_domain:定义一个数据库所在的域,该域的命名同互联网的"域"没有任何关系,只是数据库管理员为了更好的管理分布式数据库而根据实际情况决定的。当然为了管理方便,可以将其等于互联网的域。Global_name:对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. Db_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改 Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO <db_name.db_domain>命令进行修改,然后修改相应参数。Service_name:该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库, 而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关 系,即不必Service name 必须与SID一样。Net service name:网络服务名,又可以称为数据库别名(database alias)。是客户端程序访问数据库时所需要,屏蔽了客户端如何连接到服务器端的细节,实现了数据库的位置透明的特性。2023-07-20 15:48:431
不用oracle 客户端如何能连到oracle数据库
myeclipse 的db插件 也可以对表进行抄作2023-07-20 15:48:535
早晨的时候数据库遇到一个ORA-00445的错误,求帮助
https://www.baidu.com/s?wd=ORA-00445&rsv_spt=1&rsv_iqid=0xbcf94f890001abe1&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_n=2&rsv_sug3=1&rsv_sug1=1&rsv_sug7=100&rsv_sug2=0&inputT=508&rsv_sug4=509给你一个百度,你就知道!2023-07-20 15:49:241
oracle本机tnsnames.ora中host填的是Localhost,从别的机器访问这个数据库该怎么配
是啊IP先设置为数据库所在服务器的地址。2023-07-20 15:49:592
ora-12542 TNS-12542:TNS:地址已被占用 是什么原因.的相关推荐
是端口冲突造成的,但是另外一个1521是那个服务呀?你有两个oracle监听程序运行??? 你如果没有用到微软事务处理如COM、COM+的话,可以关了这个服务2023-07-20 15:50:251
ORA-01110,ORA-16433,求助恢复,实在搞不定
如果需要帮助,加我qq,另外使用我的脚本检查数据库并发我alert日志和生成的html文件http://www.xifenfei.com/oracle_recovery_check2023-07-20 15:50:332
ORA-03113:通信通道文件结束
你sql是没问题,你试试这样select * from (select tempfeeno, tempfeetype, otherno, othernotype, max(riskcode) riskcode, sum(Paymoney) Paymoney, managecom, policycom, to_char(a.confmakedate, "YYYY-MM-DD")) confmakedate, PayDate from ljtempfee a group by tempfeeno, otherno, othernotype, tempfeetype, confmakedate, managecom, PayDate, policycom) t where exists (select 1 from LIDistillInfo where classid = "0000003" and KeyUnionValue = t.tempfeeno || "," || t.riskcode || "," || t.confmakedate 或者这样select * from (select tempfeeno, tempfeetype, otherno, othernotype, max(riskcode) riskcode, sum(Paymoney) Paymoney, managecom, policycom, to_char(a.confmakedate, "YYYY-MM-DD")) confmakedate, PayDate from ljtempfee a group by tempfeeno, otherno, othernotype, tempfeetype, confmakedate, managecom, PayDate, policycom) t where exists (select 1 from LIDistillInfo where classid = "0000003" and KeyUnionValue like "%"|| t.tempfeeno || "%" and KeyUnionValue like "%" || t.riskcode || "% " and KeyUnionValue like "%" || t.confmakedate ||"%"2023-07-20 15:50:531
关于java连数据库ora-28001
在登录tomcat前台界面时发现不能登录,查看log后发现原来是ORA-28001: the password has expired的错误,这个错误是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录。推荐阅读:ORA-01172、ORA-01151错误处理 http://www.linuxidc.com/Linux/2013-06/86529.htmORA-00600 [2662]错误解决 http://www.linuxidc.com/Linux/2013-06/86528.htmORA-01078 和 LRM-00109 报错解决方法 http://www.linuxidc.com/Linux/2012-07/66044.htmORA-00471 处理方法笔记 http://www.linuxidc.com/Linux/2013-09/90017.htmORA-00314,redolog 损坏,或丢失处理方法 http://www.linuxidc.com/Linux/2013-09/90646.htmORA-00257 归档日志过大导致无法存储的解决办法 http://www.linuxidc.com/Linux/2013-09/90594.htm======================分割线======================可通过如下SQL语句SELECT * FROM dba_profiles WHERE profile="DEFAULT" AND resource_name="PASSWORD_LIFE_TIME";查询密码的有效期设置,LIMIT字段是密码有效天数。在密码将要过期或已经过期时可通过如下语句进行修改密码,密码修改后该用户可正常连接数据库。ALTER USER 用户名 IDENTIFIED BY 密码;如果想去除180天的密码生存周期的限制可通过如下SQL语句将其关闭ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ; ----(一般不推荐)然后,进sys账号,将该账号解锁:alter user 用户名 account unlock;结果还没过多久,又提示ORA-28000 the account is locked,一直解锁,但每次都是没几秒就立刻锁住了。查了之后才发现是 FAILED_LOGIN_ATTEMPTS 参数在作怪。 解决办法:alter profile default limit failed_login_attempts 次数或unlimited;2023-07-20 15:51:001
ora-00031错误系统可以直接杀死进程吗
步骤:1、根据v$session 中的paddr字段查找对应的spidselect spid from v$process a where a.ADDR="paddr"2、登录到操作系统Oracle用户,查找对应的进程ps -ef |grep spid3、杀掉查到的进程kill -9 spid完成后验证一下,进程确实被杀掉了更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文地址:http://www.codesec.net/Linux/2015-05/117162.htm2023-07-20 15:51:071
Oracle-12514错误发生的几种原因
ora-12514的错误的原因有很多,但无外乎这几种:1.ora-12514: TNS: 没有监听器显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:$ lsnrctl start或C:lsnrctl start2、ora-12514: TNS: 无法处理服务名检查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(Windows下如D:oracleora92networkadmin tnsnames.ora,Linux/Unix下/network/admin/tnsnames.ora)里每项服务的首行服务名称前不能有空格。3、ora-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME打开NetManager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。同时检查sqlnet.ora,例如如果想要采用简便连接方式连接就需要在NAMES.DIRECTORY_PATH参数中添加EZCONNECT。拓展知识:ora-12514:TNS:监听程序当前无法识别链接描述符中请求的服务该问题是由于缺少监听器的SID_LIST描述项引起的,采用netca进行配置的时候经常会遇到该问题,listener.ora示例如下SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = /opt/oracle/product/9.2.0.4)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = SAMPLE.COM)(ORACLE_HOME = /opt/oracle/product/9.2.0.4)SID_NAME = SAMPLE)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = tcy.com)(PORT = 1521)))2023-07-20 15:51:141
如何配置pl/sql 连接远程oracle服务器
第一种情况不可能第二种情况就是在本地建立 db Link 即可create database link 远程oracle服务器connect to scott identified by tigerusing "test_db_link";然后在使用远程db link数据表时,需要加后缀@test_db_link2023-07-20 15:51:295
oracle导入数据是出错。
是因为 存储过程P_BQ_BD_ACCSUBJ 中使用了 DDJT.BD_ACCSUBJ@LINK_YNDD.REGRESS.RDBMS.DEV.US.ORACLE.COM其中使用了 database link :LINK_YNDD.REGRESS.RDBMS.DEV.US.ORACLE.COM你可以在导入数据库之前, 将 database link 创建好,然后再导入,就可以了。2023-07-20 15:53:131
安装oracle 时出现OraOLEDBpus10:dll 找不到相关的模块 然后就出现计算机丢失oraclient10.dll怎么办win7下
喷油,你的解决了吗?可否分享答案??624904313@qq.com2023-07-20 15:53:322
arcgis连接oracle数据库
参考网址:https://jingyan.baidu.com/article/5553fa8297d86965a239343e.html 参考教程:https://malagis.com/arcgis-desktop-10-6-full-installation-tutorial.html参考网址:https://jingyan.baidu.com/article/8cdccae99a754b315413cd8f.html 打开arcgis,参考文章: https://blog.csdn.net/laironggui/article/details/78866753?tdsourcetag=s_pcqq_aiomsg 在配置后出现: 报错信息: ORA-28595: Extproc 代理: DLL 路径无效 ORA-06512: 在 "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 70 ORA-06512: 在 "SDE.ST_GEOMETRY_OPERATORS", line 68 解决方案参考文章: https://www.cnblogs.com/wmm15738807386/p/6722994.html?tdsourcetag=s_pcqq_aiomsg ORA-06520: PL/SQL: 加载外部库时出错 ORA-06522: Unable to load DLL 出现这个问题是因为我将oracle_home环境变量指向了oracle客户端下,改到服务器目录下即可解决 空间数据查询arcgis帮助文档: http://desktop.arcgis.com/zh-cn/arcmap/10.3/manage-data/using-sql-with-gdbs/st-astext.htm2023-07-20 15:53:411
求救:oracle ORA-01219 数据库未打开问题
看这个能解决不? http://blog.sina.com.cn/s/blog_6efbe0220100v1qj.html2023-07-20 15:53:593
oracle创建实例时出现ORA- 00922缺失或无效,忽略后出现ORA-28000账号已被锁定。
应该是你的账号多次登陆2023-07-20 15:54:205
ORA-00920: 无效的关系运算符
怀疑是空格的问题LOG NAME改成LOG_NAME试试。2023-07-20 15:54:371
ora-00933: sql 命令未正确结束怎么解决
问题分析:出现ora-00933错误的原因是因为运行两句sql,但是中间没用标点隔开导致。如图:解决方案:在两句sql中,每句以英文的逗号分隔即可。2023-07-20 15:54:441
OracleJobSchedulerxxx服务是干嘛用的
oracle在处理一般事务时并不需要全部启动其后台的所有服务由于oracle服务所占用系统资源比较大,一般情况下启动监听服务oraclesidtnslistener和数据库服务oracleservicesid就可以满足数据处理的大部分需求。附表为oracle的所有服务详细描述注:SID - 数据库标识HOME_NAME - Oracle Home名称,如OraHome92、OraHome81(1)OracleServiceSID 数据库服务,这个服务会自动地启动和停止数据库。如果安装了一个数据库,它的缺省启动类型为自动。服务进程为ORACLE.EXE,参数文件initSID.ora,日志文件SIDALRT.log,控制台SVRMGRL.EXE、SQLPLUS.EXE。(2)OracleHOME_NAMETNSListener监听器服务,服务只有在数据库需要远程访问时才需要(无论是通过另外一台主机还是在本地通过 SQL*Net 网络协议都属于远程访问),不用这个服务就可以访问本地数据库,它的缺省启动类型为自动。服务进程为TNSLSNR.EXE,参数文件Listener.ora,日志文件listener.log,控制台LSNRCTL.EXE,默认端口1521、1526。(3)OracleHOME_NAMEAgentOEM代理服务,接收和响应来自OEM控制台的任务和事件请求,只有使用OEM管理数据库时才需要,它的缺省启动类型为自动。服务进程为DBSNMP.EXE,参数文件snmp_rw.ora,日志文件nmi.log,控制台LSNRCTL.EXE,默认端口1748。(4)OracleHOME_NAMEClientCache 名字缓存服务,服务缓存用于连接远程数据库的Oracle Names 数据。它的缺省启动类型是手动。然而,除非有一台Oracle Names 服务器,否则没有必要运行这个服务。服务进程为ONRSD.EXE,参数文件NAMES.ORA,日志文件ONRSD.LOG,控制台NAMESCTL.EXE。(5)OracleHOME_NAMECMAdmin 连接管理服务,是构建Connection Manager服务器所用,只有服务器作为Connection Manager才需要,它的缺省启动类型是手动。服务进程为CMADMIN.EXE,参数文件CMAN.ORA,日志文件CMADM_PID.TRC,控制台CMCTL.EXE,默认端口1830。(6)OracleHOME_NAMECMan 连接网关服务,是构建Connection Manager服务器所用,只有服务器作为Connection Manager才需要,它的缺省启动类型是手动。服务进程为CMGW.EXE,参数文件CMAN.ORA,日志文件CMAN_PID.TRC,控制台CMCTL.EXE,默认端口1630。(7)OracleHOME_NAMEDataGatherer性能包数据采集服务,除非使用Oracle Capacity Planner 和 Oracle Performance Manager,否则不需要启动,它的缺省启动类型是手动。服务进程为VPPDC.EXE,日志文件alert_dg.log,控制台vppcntl.exe。(8)OracleHOME_NAMEHTTPServerOracle提供的WEB服务器,一般情况下我们只用它来访问Oracle Apache 目录下的Web 页面,比如说JSP 或者modplsql 页面。除非你使用它作为你的HTTP服务,否则不需要启动(若启动它会接管IIS的服务),它的缺省启动类型是手动。服务进程为APACHE.EXE,参数文件httpd.conf,默认端口80。(9)OracleHOME_NAMEPagingServer通过一个使用调制解调器的数字传呼机或者电子邮件发出警告(没试过),它的缺省启动类型是手动。服务进程PAGNTSRV.EXE,日志文件paging.log。(10)OracleHOME_NAMENamesOracle Names服务,只有服务器作为Names Server才需要,它的缺省启动类型是手动。服务进程NAMES.EXE,参数文件NAMES.ORA,日志文件NAMES.LOG,控制台NAMESCTL.EXE,默认端口1575。(11)OracleSNMPPeerMasterAgentSNMP服务代理,用于支持SNMP的网管软件对服务器的管理,除非你使用网管工具监控数据库的情况,否则不需要启动,它的缺省启动类型是手动。服务进程为AGNTSVC.EXE,参数文件MASTER.CFG,默认端口161。(12)OracleSNMPPeerEncapsulaterSNMP协议封装服务,用于SNMP协议转换,除非你使用一个不兼容的SNMP代理服务,否则不需要启动,它的缺省启动类型是手动。服务进程为ENCSVC.EXE,参数文件ENCAPS.CFG,默认端口1161。(13)OracleHOME_NAMEManagementServerOEM管理服务,使用OEM时需要,它的缺省启动类型是手动。服务进程为OMSNTSVR.EXE,日志文件oms.nohup。在Windows 操作系统下安装Oracle 9i时会安装很多服务——并且其中一些配置为在Windows 启动时启动。在Oracle 运行在Windows 下时,它会消耗很多资源,并且有些服务可能我们并不总是需要。你会发现不使用Windows 图形界面就可以快速、完全地关闭数据库会很有用。只要拥有管理员权限就可以通过net start 启动一个服务,或者通过net stop 命令停止一个服务,从而控制以下服务中的任何一个。在Windows XP 中,可以通过在控制面板的服务中改变想要禁用的服务(OracleOraHome...)的启动类型(Startup Type)参数,双击某个服务查看其属性,然后将启动类型属性从自动改为手动。使数据库在本地工作唯一需要运行的服务是OracleServiceORCL 服务(其中ORCL 是SID)。这个服务会自动地启动和停止数据库(使用shutdown 中断)。如果安装了一个数据库,它的缺省启动类型为自动。如果主要是访问一个远程数据库,那么可以把启动类型由自动改为手动。OracleOraHome92HTTPServer 服务(OraHome92 是Oracle Home 的名称)是在安装Oracle 时自动安装的Apache 服务器。一般情况下我们只用它来访问Oracle Apache 目录下的Web 页面,比如说JSP 或者modplsql 页面。OracleOraHome92TNSListener 服务只有在数据库需要远程访问时才需要(无论是通过另外一台主机还是在本地通过 SQL*Net 网络协议都属于远程访问)。不用这个服务就可以访问本地数据库。OracleOraHome92ClientCache 服务缓存用于连接远程数据库的Oracle Names 数据。正常情况下该服务的启动类型是配置为手动的。然而,除非有一台Oracle Names 服务器,否则没有必要运行这个服务。有四个服务是Oracle 企业管理器所必须的(Oracle Enterprise Manager),这个服务分别为:OracleOraHome92Agent(智能代理),该服务监视数据库和企业管理器请求,缺省启动类型为自动。OracleOraHome92SNMPPeerEncapsulator 和OracleOraHome92SNMPPeerMasterAgent,处理安全网络管理协议服务。OracleOraHome92PagingServer 通过一个使用调制解调器的数字传呼机或者电子邮件发出警告。OracleMTSRecoveryService 是可选的,该服务允许数据库充当一个微软事务服务器、COM/COM+对象和分布式环境下的事务的资源管理器。如果只是偶尔使用一下数据库,那么可以创建一个简单的脚本任务来启动和关闭服务器,这样每次只要双击脚本就可以了,可以不使用图形界面。1. 保存一个快捷方式自动地装载这些文件。2. 将Oracle 服务设为手动避免在Windows 启动时启动。REM "dbstart.cmd"@echo offset ORAHOME="OraHome90"set ORASID="zsd"net start OracleService%ORASID%REM net start Oracle%ORAHOME%HTTPServerREM net start Oracle%ORAHOME%TNSListenerREM net start Oracle%ORAHOME%ClientCacheREM net start Oracle%ORAHOME%AgentREM net start Oracle%ORAHOME%SNMPPeerEncapsulatorREM net start Oracle%ORAHOME%SNMPPeerMasterAgentREM net start Oracle%ORAHOME%PagingServerREM net start OracleMTSRecoverServiceREM "dbshut.cmd"@echo offset ORAHOME="OraHome90"set ORASID="zsd"net stop OracleService%ORASID%REM net stop Oracle%ORAHOME%HTTPServerREM net stop Oracle%ORAHOME%TNSListenerREM net stop Oracle%ORAHOME%ClientCacheREM net stop Oracle%ORAHOME%AgentREM net stop Oracle%ORAHOME%SNMPPeerEncapsulatorREM net stop Oracle%ORAHOME%SNMPPeerMasterAgentREM net stop Oracle%ORAHOME%PagingServerREM net stop OracleMTSRecoverService2023-07-20 15:55:051
oracle是11GR2 64位,系统:win7 64位,在创建数据库的时候总是提示“ORA-00922:选项缺失或无效“原因?
忽略掉,启动数据库看报什么错2023-07-20 15:55:133
Oracle误删除了日志,我们公司的oracle数据库被人误删除了在线日志online redo
节哀顺变......2023-07-20 15:55:203
SQLPLUS能连接oracle10g,PLSQL也能连,但网页程序却报错ORA-12154: TNS: 无法解析指定的连接标识符
什么乱其八糟的呀?看不懂,直接充装系统就OkL2023-07-20 15:55:402
ORA-03114:未连接到ORACLE
一般我吧服务重启下就OK了2023-07-20 15:55:482
急救。求高手指点oracle错误 ORA-01003:ORACLE initialization or shutdown in progress
不好意思,我不懂oracle ,要是sqlserver还能帮点忙。呵呵,等待高人解答吧。2023-07-20 15:55:596
无法加载 oracle 找不到指定模块
Oramts.dll 文件公开登记 Oracle 连接所涉及到在通过 Microsoft 分布式事务处理协调器 (MSDTC) 启动的事务中的公共 API。 在事务处理环境中运行时, System.Data.OracleClient 程序集调用这些 API。 System.Data.OracleClient 程序集的早期版本不支持分布式的事务。 因此,该依赖项不存在 System.Data.OracleClient 程序集版本 1.1 之前。 当您执行分布式的事务活动时 System.Data.OracleClient 程序集使用 Oramts.dll 文件。 当您尝试执行 nontransacted 活动时, 或者当您使用本地事务时不加载 System.Data.OracleClient 程序集。 如果 Oracle 客户端连接软件,在安装过程中不包括此组件,您尝试使用分布式的事务与 System.Data.OracleClient ,您可能会收到以下错误信息: System.Data.OracleClient: Unable to load DLL (oramts.dll) 与 Oracle 客户端连接组件安装在 Oramts.dll 文件。 它不被分发使用任何 Microsoft 软件。 Oramts.dll 文件不是作为默认安装包含在安装 Oracle 客户端连接软件时。 若要安装此组件必须单击以选中 Oracle Services for Microsoft Transaction Server 在安装 Oracle 客户端连接软件时复选框。 有关这些组件的信息,请访问下面的 Oracle Web 站点: http://www.oracle.com/technology/tech/windows/ora_mts/index.html (http://www.oracle.com/technology/tech/windows/ora_mts/index.html) 先到Oracle官方网站上面下载ODAC92070.exe因为这是为了支持分布式事务的一个数据库连接包,Oracle跟微软官方网站上有说明,Oracle不支持单独将oramts.dll分布的方式,就是说这个包不能单独下载,只能下载这个安装, 安装完成后, 再运行代码,仍就事务出错,报的错误一样,查看环境变量中的path,并在Oracle92Home目录,查找oramts.dll已经存在, 后来在一网站(英文的)不记得了,说Oramts.dll这个dll是因为在debug模式下面编译的,所以不能正常使用 通过DependencyWalker查看依赖项,发现少了msvcrtd.dll,这个在装上Vs6.0,VC++的机器上有,这是一个VC的编译器文件, 然后下载一个msvcrtd.dll拷贝到C:windowsSystem32下面,再试分布式事务,成功 希望这编文章能给刚开始使用VS2005+Oracle数据库的一些朋友一点点帮助. 当然你要是使用Oracle10g,Oracle11g相关版本,只要下载对应的Oracle Data Access Components (ODAC)数据访问组件就可解决 Oracle数据库客户端访问组件下载地址: http://www.oracle.com/technology/software/tech/windows/odpnet/index.html2023-07-20 15:56:141
你好关于你安装11G软件,创建数据库时出现ORA-31011错误是怎么解决的啊?
安装前需做必要的设置。1. 先从Oracle官方网站下载相应的安装程序压缩包。http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html2. 具体设置及安装过程如下:将Oracle 10g的安装镜像解压到硬盘,找到stageprereqdb 下的refhost.xml文件添加如下内容:<!--Microsoft Windows 7--><OPERATING_SYSTEM><VERSION VALUE="6.1"/></OPERATING_SYSTEM>再到install目录中找到oraparam.ini文件,添加如下内容:[Windows-6.1-required]#Minimum display colours for OUI to runMIN_DISPLAY_COLORS=256#Minimum CPU speed required for OUI#CPU=300[Windows-6.1-optional] 注意:先完全卸载原Oracle数据库管理系统。2023-07-20 15:56:211
如何vba连接oracle
VBA连接oracle数据库小 "システム共通変数Public ORA_SE As Object "OracleのセッションオブジェクトPublic ORA_DB As Object "Oracleの接続オブジェクト"******************************************************************************" uff8cuff9fuff9buff7cuff70uff7cuff9euff6c名 : Ora_Connect" 概要 : Oracle接続" uff8auff9fuff97uff92uff70uff80 : なし" 说明 :Oracleへの接続を行う"******************************************************************************"Public Sub Ora_Connect()Public Function Ora_Connect() Dim rt As IntegerOn Error GoTo err Set ORA_SE = CreateObject("OracleInProcServer.XOraSession")"Set ORA_DB = ORA_SE.OpenDatabase("数据库连接词", "用户名/密码", 0&) Set ORA_DB = ORA_SE.OpenDatabase("combcm", "combcm/combcm", 0&)Exit Functionerr:End Function"******************************************************************************" uff8cuff9fuff9buff7cuff70uff7cuff9euff6c名 : Ora_DisConnect" 概要 : Oracle切断" uff8auff9fuff97uff92uff70uff80 : なし" 说明 : Oracleの切断を行う"******************************************************************************"Public Sub Ora_DisConnect()Public Function Ora_DisConnect() Set ORA_SE = Nothing Set ORA_DB = NothingEnd FunctionPublic Function getData() "该当なし If OraDynaset.EOF = True Then Set OraDynaset = Nothing Exit Function Else "2004/03/06 add rec_cntを2して2行目から书き出す "rec_cnt = 2 "Do While Not OraDynaset.EOF "For row_cnt = 0 To OraDynaset.Fields.Count - 1 " Cells(rec_cnt, row_cnt + 1).Value = OraDynaset(row_cnt).Value "Next row_cnt "2004/11/26 クリップボードを介した方法でスピードアップ対応。 "从数据库中取出数据 OraDynaset.CopyToClipboard Cells(2, 1).Select ActiveSheet.Paste rec_cnt = OraDynaset.RecordCount "OraDynaset.DbMoveNext "rec_cnt = rec_cnt + 1 "Loop End Ifend function2023-07-20 15:56:311
ORA-00913:值过多
详情请参考 www.zhuangbility.com.cn2023-07-20 15:56:394
连接oracle数据库出现这个问题,ORA-01034: ORACLE not available,什么情况
这个问题其实用一句话就可以说清楚:ORACLE_HOME或者ORACLE_SID设置不正确。在以前的版本中,如果ORACLE_SID不正确,一般都只提示ORA-01034。Oracle 8.1.7 给出一个额外的信息:ORA-27101。->如果是Unix,在Shell里把ORACLE_SID设置正确即可(注意大小写敏感的问题)。 此外,检查ORACLE_HOME环境变量。如何检查参考如下的命令: % echo $ORACLE_SID % ps -ef |grep smon ->如果是Windows,一般都是因为系统中有多个实例造成的。 可以在命令行下 C:>set ORACLE_SID=DEMO 把这里的DEMO换为你相应的实例名。 如果还不行的话,检查注册表中的ORACLE_HOME。 此外,在Windows环境下有的时候连接不上远程的数据库,会报告如此的错误。 解决办法是把sqlnet.ora文件中的 SQLNET.AUTHENTICATION_SERVICES = (NTS) NTS换为NONE. 现在应该没甚么问题了。什么?还不行?那么建议你Google( http://www.google.com )一下 或者到一些技术论坛(比如说ITPub或者CNOUG去看看)。祝你好运!2023-07-20 15:56:491