现在的位置: 首页 > 综合 > 正文

Oracle数据库安装之初探

2013年10月08日 ⁄ 综合 ⁄ 共 2550字 ⁄ 字号 评论关闭

Oracle数据库安装之初探

2009年11月12日 由 留言 »

  最近因为工作需要,搭建了一个oracle单元测试环境,之前只玩过mysql,对oracle一直是望而却步。如今大胆尝试了一把,在这里写一点总结。

  安装oracle软件的过程本身并不痛苦,倒是在装数据库的时候,被网上的众多资料迷惑了把。这里就总结下在装数据库时的一系列步骤 和可能出现的问题吧。
 
  这次装数据库采用的是静默安装方式,从我的理解,所谓静默安装就是没有GUI交互的自动化安装呵呵。
  1. 配置好静默安装数据库的反应文件dbca.rsp
       需要配置的项有:数据库名称,数据库实例名称,sys用户和system用户的密码(sys用户是Oracle数据库中权限最高的帐号,一般管理员用system就够了)
    这里一开始对数据库名称和数据库实例名称有点混淆,后来还出现了一个ORACLE_SID,就更迷糊了。这里总结一下:
    数据库名称:就是我们用MySql时通常理解的数据库名,是用于区分数据的内部表识。在oracle中,数据库创建好后,数据库名是不能被修改的。在一个oracle服务器程序中我们可以创建多个数据库,因此也会有多个数据库名。但外部是不能     通过数据库名直接访问数据库的。
    数据库实例名称:就是数据库名称的一个实例名,他和数据库名称一一对应。它主要用于和操作系统之间的联系,以及对外部连接时使用。数据库实例名称本身是可以修改的。
    ORACLE_SID:这个其实就是个环境变量,对应的值就是数据库实例名称,主要用于操作系统获得数据库实例名。所以在oracle数据库配置中是看不到它的。
  2. 执行命令创建创建数据库
     dbca -silent -createDatabase -responseFile /home/oracle/dbca_createdb.rsp &
     不出意外的话,命令执行完后数据库就已经创建好了,如果有提示错误,相应的修改反应文件,配置正确后基本上都能得到解决。
  3. 接下来的一步就是要配置tnsname.ora,listener.ora,sqlnet.ora三个重要文件了
     这三个配置文件都是放在$ORACLE_HOME\network\admin目录下($ORACLE_HOME环境变量在安装数据库软件时就已经设置好了)
     sqlnet.ora:作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串。
                 一般默认是不需要设置的。所以这里就略过了。网上有详细的解释。
     listener.ora: listener监听器进程的配置文件。如果需要远程连接数据库,oracle服务器端的这个是一定要配置的。
        LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
            (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
          )
        )
      )
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = test_db)
          (ORACLE_HOME = /home/oracle/oracle/product/10.2)
        )
      )
               这里需要配置一下oracle服务器的hostname, 端口,SID_NAME(数据库实例名),ORACLE_HOME.
     tnsnames.ora:同样如果需要远程连接,客户端的配置也是非常重要的。它主要提供的tnsname到主机名或者ip的对应。
       test_database =
       (DESCRIPTION =
         (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_server_ip)(PORT = 1521))
         (CONNECT_DATA =
           (SERVER = DEDICATED)
           (SERVICE_NAME = test_db)
         )
       )
               这里的SERVICE_NAME,我的理解就是listner.ora里配置的SID_NAME,也就是数据库实例名。不知道有没有错误。
     这三个配置文件配置完成后,工作基本上已经完成一大半啦。
  4. 配置环境变量ORACLE_SID和TNS_ADMIN为:
    ORACLE_SID: 数据库实例名
    TNS_ADMIN:指向tnsnames.ora的目录的位置如:/home/oracle/oracle/product/10.2/network/admin
  5. 启动监听程序:lsnrctl start (这个不用细说啦)
     到这一步,如果不确定自己配置的是否正确,可以尝试使用tnsping这个命令给你答案.
               如:tnsping test_database (成功了就表述配置都正确啦,可以用客户端连接了)
  6. 到这一步应该都大功告成啦,后面的事情就简单了:用管理员帐号登录,创建用户和数据库表。
     用管理员帐号登录:sqlplus ‘/ as sysdba’
    ORACLE创建用户的简单方法:
    CREATE USER <username> IDENTIFIED BY <password>
  DEFAULT TABLESPACE users  #指定该用户的表空间
  TEMPORARY TABLESPACE temp;  #用户所创建的表和索引默认存放的地方 
  GRANT CONNECT,RESOURCE TO <username>;  #赋予用户一定的权限

 建数据库表的方法以及其它命令就不在这里列出来了。

抱歉!评论已关闭.