oracle创建数据库后的疑问~

用oracle创建数据库后的发现还是有很多小细节没清楚,希望各位大神帮忙解答一下!本人安装的是oracle11g,安装完会创建了一个叫orcl的数据库,这个orcl也就是... 用oracle创建数据库后的发现还是有很多小细节没清楚,希望各位大神帮忙解答一下!
本人安装的是oracle 11g,安装完会创建了一个叫orcl的数据库,这个orcl也就是我们的数据库实例名称,之后我又创建一个数据库,想用来存放另外一些数据!我是直接用oracle自带的Database Configuration Assistant 创建数据库,在创建完成之际,弹出了以下的框

Enterprise Manager配置失败。。。。巴拉巴拉一堆文字,大概说没有注册监听程序
之后,我去看了下系统的服务,多了一些服务!
假设我新创建的数据库实例名为'hao123'

Oracle hao123 VSS Writer Service
OracleJobSchedulerHAO123
OracleServiceHAO123

其中OracleServiceHAO123已经启动了,当然orcl的相关服务也在启动状态,因为我看见安装完oracle,默认启动服务里面有个OracleOraDb11g_homeTNSListener的服务,所以我觉得新创建的数据库是不是也要配置这样一个Listener呢?是不是没有对应的Listener就不能进入数据库呢?
带着疑问,我打开sqlplus,输入sys as sysdba登录数据库,用select name from v$database;查看当前登录的是什么数据库,打印出来是HAO123,咦~~我不是没配置它的Listener么?怎么能登录呢?之后我又试了sys@orcl as sysdba方式登陆,也能进入orcl~~~

问题:
1、是不是新创建的数据库是不是一定要配置Listener的?如果不配置,是不是都共用OracleOraDb11g_homeTNSListener这个Listener?因为上面的情况,我觉得是共用Listener,那是不是单独配置Listener比共用好呢?或者说两者有什么分别?

2、新创建的数据库是不是一定会在系统服务里面产生对应的服务?要能使用对应的数据库,是不是只要保证OracleServiceXXXX 这个服务启动就行?

3、为什么我连接数据库不加@数据库名,就会自动登录HAO123数据库呢?是不是共用同一个Listener以最后一个创建的数据库实例为默认登录数据库呢?还是可以设置什么的?

希望各位回答的时候,注明问题题号,另可能我说的某些专业名词可能有误,或者词不达意,也希望各位指正一下~~~小弟不胜感激
展开
 我来答
浅黄却百里1
2013-08-15 · TA获得超过504个赞
知道小有建树答主
回答量:482
采纳率:0%
帮助的人:256万
展开全部
  1. listener 这个监听,只需要配置一个应该就可以了,一个IP地址一般对应一个,是可以公用的,监听只是接受客户端的请求,然后就给请求转发给oracle的服务进程了。就类似于一个桥梁,给连接起来了,要多了也没有用。

  2. 会在系统服务里面产生一个相对应的服务,OracleServicexxx这个服务启动,在启动一个listener 就可以了.其他的服务都不需要。OracleServicexxx这个服务消耗资源很大,自己的电脑如果默认开机启动,开机时间妥妥2分钟以上。还是用到数据库的时候,手动启动的好。

  3. 如果连接数据库的时候不加@这个,只能连接自己机器本地的数据库,相当于更本没有走listener,你给listener服务关掉,不加@应该也是可以登陆上的。但是如果你只有一个客户端想连接服务器上的,是不行的。

    -------------------------

    上面这些也都是我个人的理解,仅仅是参考一下吧。

更多追问追答
追问
嗯,我有点理解了!~~现在假设我安装数据库的机子是192.168.1.123,另一台机子要连这个数据库,该怎么连?我在192.168.1.123用localhost:1521能连上,但在另一台机子用192.168.1.123:1521就连不上,是不是在192.168.1.123机子上面还要设置什么才能对外开放数据访问?
追答
要给listener 和OracleServicexxx这2个服务启动了,然后在你另一台机器上要配置192.168.1.123 的属性,
SHAO =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.160)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = so)
)
)
就是这个了,配置好以后,就可以去cmd命令下 sqlplus试一试,或者使用工具pl/sql developer 就可以链接上了
heyongjia1999
2013-08-15 · 超过18用户采纳过TA的回答
知道答主
回答量:130
采纳率:0%
帮助的人:59.9万
展开全部

我来回答你的问题吧,问题太多了,看来这位童鞋是在思考问题的:

 

  1. 新创建的数据库是一定要有监听到的,而且一个数据库实例可以有多个监听,一般地,新建的数据库会自加入到原来的监听中去。单独配置不一定比共用好,这个要看体的应用了。

     

  2. 新创建的数据库一定会在系统服务里面产生对应的服务。要能使用对应的数据库,只要保证OracleServiceXXXX 这个服务启动就行,这是相当于一个数据库实例,任何一个数据库运行都要先启动它的实例。

     

  3. 就会自动登录HAO123数据库,这个是因为环境变量默认就是它,所以才自动登录它。你可以重新设置。听监听没有关系。export ORACLE_SID=xxx即可设置一个新的实例名。在window下用set命令。

     

追问
嗯,我有点理解了!~~现在假设我安装数据库的机子是192.168.1.123,另一台机子要连这个数据库,该怎么连?我在192.168.1.123用localhost:1521能连上,但在另一台机子用192.168.1.123:1521就连不上,是不是在192.168.1.123机子上面还要设置什么才能对外开放数据访问?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仙戈雅3n
2013-08-15 · TA获得超过5790个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:898万
展开全部
它只是警告而已(警告是可以往下运行的),并非错误(而错误是不会再往下运行的)。
你可以进入控制面板==》管理工具==》服务,把新实例启动。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式