刚开始学习oracle,用习惯了mysql,对oracle很是不理解……我在sqlplus下,使用system用户登录进去后,怎么创建数据库啊?mysql中是用create database xxx;然后使用use xxx;就可以使用这个数据库了。
为什么oracle中这条语句不行呢?登录进去后倒是就可以直接用create table建表了,那我们建的表是放在哪个数据库里了呢?数据库名又是什么啊?我就是想知道在程序开发中要写的数据库名怎么办啊?
比如:url="jdbc:oracle:thin:@localhost:1521:Test";
这个字符串中用到的Test数据库怎么在sqlplus中创建呢?创建完成后又该如何使用呢?问个傻问题:是不是oracle中一个用户只对应一个数据库呢?搞不懂,请高手赐教,谢谢

解决方案 »

  1.   

    url="jdbc:oracle:thin:@localhost:1521:Test"; --- Test是SID名,你创建一个实例时,过程中会让你指定这个sid名称.另外oracle是单库概念,而mysql是一个实例管理多个库的概念.
    具体你GOOGLE下,很难一两句说清楚的,有点复杂.
      

  2.   

    Oracle 数据库对象一般是放在用户下面,创建一个用户(Schema)就相当与在别的数据库里面的创建一个新的数据库
    Oracle 数据库在安装的时候进行了安装,如果要创建可以使用Database Configure.....
      

  3.   

    你要是就想用它开发就可以用plsql  他集成了sqlplus的命令, 一个第三方的插件 挺好用的  现在我们开发就用它  给我邮箱 我可以给你发一个 
      

  4.   

    oracle是个单库结构,一个用户只对应着一个scheme。运行dbca,出现可视化创建数据库模式,然后把脚本存出来,慢慢研究吧。
      

  5.   

    Oracle中一个数据库可以对应多个用户,可以使用数据库创建工具创建数据库,然后创建表空间--用户名等
      

  6.   


    Test是sid名,创建实例时,过程会让你指定?
    请说的再具体点行吗?我不大明白,
    还有我就是想知道,我在程序中使用url="jdbc:oracle:thin:@localhost:1521:Test"; 的时候,这个Test是从哪里得来的?怎么查看当前的数据库名称?
    再有我直接在sqlplus中登录进去后,默认的那个数据库名称是什么?怎么查看呢?
      

  7.   

    如果不你指定,它默认是orcl,你的Test就是orcl.sqlplus下查看sid:SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;oracle一个实例只对应一个数据库,所以叫单库管理.
      

  8.   

    准确点地讲,你上面的Test是service_names,因为一般情况下service_names与sid是相同的.
    service_name 是在oracle net结构下给客户端连接oracle服务器所提供的服务用的一个标识符;
    可使用命令show parameter service_names查看.
      

  9.   


    我刚才试过了,结果是:
    INSTANCE_NAME
    -------------
    xe那程序中那个url该怎么写呢?你的意思是实例名就是数据库名吗?
    url="jdbc:oracle:thin:@localhost:1521:xe"; 这样写行吗?
      

  10.   

    实例名不是数据库名,一个数据库可以有多个实例名称,
    简单理解是一个数据库可以代表一个服务,而我们可以
    用多个实例来定位这个服务,就像多个连接,上面的只
    限于帮助你理解
    至于你的URL那样写是对的
      

  11.   

    呵呵~我最开始也遇到过楼主这样的问题:
    简单的说:
    oracle 只能创建一个数据库,这个数据库名字是你在安装oracle时侯定的~比如你在安装的时候可能就起了xe这个名字。oracle中是表空间的概念。每个用户对应自己的表空间,a用户创建的表一般情况下只能被a使用。所以表空间就类似与sqlserver中的数据库。