1,如果我忘了某个实例的端口号了,该咋办?怎样能找到?2,我建第一个数据库把sys密码设为"a1", 建第二个数据库又把sys密码设为"a2",那么我用sys登录sqlplus应该用a1还是a2? 我试了下好像都行,甚至随便输个什么作为密码都可以,不知是不是这样? 3,如果一个机子有多个数据库,为啥进入sqlplus 不用指定数据库也能建表?我到底把表建到哪儿了?我能不能选择一个数据库作为当前数据库?该如何选?4,在.net里连接oracle数据库好像只用指定最长8个字符的数据库名称,而不用指定机器名?如果这样我要访问别的电脑的oracle数据库该咋办?因为对sqlserver比较熟,所以学oracle的时候总是带着sqlserver的思维模式,希望大虾不要觉得我的问题太多,也不要觉得我得问题幼稚,非常感谢!

解决方案 »

  1.   

    补充一下,我用的oracle 10g.
      

  2.   

    我现在在看清华大学出版社出版的《oracle 10g 入门与提高这本书》,可好像这本书从头到尾也没有讲这些问题~~~~
      

  3.   

    1.lsnrctl status,lsnrctl start查看Port=...
    2.服务器主机验证操作系统用户,所以任何密码或不输入密码,甚至conn / as sysdba均有效;如果要设定数据库验证,进入安装目录下如:D:\oracle\ora92\network\admin\sqlnet.ora,编辑该文件注释掉SQLNET.AUTHENTICATION_SERVICES= (NTS).
    3.如果一台机器有多个数据库,你用sqlplus登录时有一个默认登录数据库,只要你使用了有效用户成功登录了数据库,并有创建表的权限,那么,你就可以在当前数据库创建属于该登录用户的表;
    Oracle的系统体系结构从上到下分别为:数据库---表空间---用户(模式)---对象(表,索引,过程,函数等);选一个数据库作为当前库:
      c:\set ORACLE_ID=sid
      c:\sqlplus /nolog
      SQL>conn sys@sid as sysdba
      或者直接
      c:\sqlplus /nolog
      SQL>conn sys@sid as sysdba
      前提是需要成功启动了需要连接数据库的实例服务与监听服务:
      c:\lsnrctl start listener_name
      c:\oradim -startup -sid service_name
    4.通常情况下,程序连接Oracle数据库是通过客户端配置tnsname(本地服务名)进行连接,或者使用ODBC,JDBC,JDBC除了使用thin客户机方式之外,一般需要通过Oracle客户端才能建立与服务器端的连接,而机器名或IP及端口在tnsname中都已经配置好,所以不需要机器名(当然不同的程序有不同的连接方式,如JDBC驱动thin连接方式需要输入IP或机器名).