单位原先用的sqlserver2008,打算换oracle数据库(11g),目前处于数据库设计阶段,很快会开始建库,建库时以下问题如何具体处理?
1. 使用Database Configuration Assistant建库时,如何跟据业务需求及数据量配置各项参数?
2. 如何跟据访问频率及表大小来设计表空间及相应数据文件?
3. 数据库建成后,表空间也设计完毕,接来就是将所有开发人员用户建出来,并分配相应权限,指定其默认表空间后,数据库安全,性能调优等还有哪些需要设置或注意的地方?
4. 以上步骤对吗,我自己琢磨的,不知道是否还有遗漏。
 
先谢谢大家,我用oracle时间不长,也就能想到这些了,有什么好的意见或建议请尽管发表。

解决方案 »

  1.   

    我只知道
    1.在availability方面,要做出选择RAC还是data guard?
    2.SGA的大小分配。
    其他的等待高手回复。
      

  2.   

    1. dbca 建库的时候要考虑的几个问题:
        SGA内存大小,字符集。 至于SGA的大小,可以参考原先的MSSQL,如果SGA不合适,可以在以后慢慢调整2. 创建表空间和表
       一般为系统单独的设计一个或几个表空间。 在建表的时候如果有些表比较大,可能考虑采用分区表等。 
       另外要考虑索引的设计,索引建的好,能提高SQL的效率。3. 建用户,指定表空间。 这个没什么好说。 
    关键还是在数据字典的设计上。 这个设计的怎么样,直接关系到数据库的性能。 
    刚开始运行的时候,要检查SGA的值,是否需要优化。 Oracle 检查命中率的SQL
    http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4674153.aspx要关注的使用资源最多的SQL语句,这些往往最关注的。 
    比如:最浪费内存的前10个语句占所有语句的比例,在没有调整的情况下,大多数系统中10个最常使用的SQL语句的访问量占了整个系统中内存读操作的50%以上。
    select sum(pct_bufgets) "Percent" from (select rank() over ( order by buffer_gets desc ) as rank_bufgets,to_char(100 * ratio_to_report(buffer_gets) over (),'999.99') pct_bufgets from v$sqlarea ) where rank_bufgets < 11;小于5%为最佳。这些SQL语句我们要看是否走索引,是否需要动态绑定。 可以用AWR 来分析下数据库。在进行相关优化..------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    Q Q 群:62697716
      

  3.   

    availability是什么,如何选择,可以在详细说说吗?
      

  4.   

    availability是指系统可用性,比如说,你就一台服务器,如果出现down机时,整个应用就不能使用了,如果做了RAC或data guard可以很快地将转到其他服务器上,使系统可用性最大化.
      

  5.   

    Oracle 字符集的查看和修改http://blog.csdn.net/tianlesoftware/archive/2009/12/02/4915223.aspx
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    Q Q 群:62697716
      

  6.   


    谢谢你的及时回答,文章很好,我试了下,建了个测试库,我本地通过只安装客户端+PLSQL DEV 的方式访问没有乱码问题,应该没事的吧。
      

  7.   

    参数一般无法做到一劳永逸,而且事先你也无法精确估计业务量,所以可按照常规设置各参数,如果应用中发现不足,及时调整即可。预先设置sga_max_size一个比较大的值,这样以后如果要调整sga_target,就不用动sga_max_size,更改该参数需要重启数据库,对大多数系统来说,重启是奢侈的,特别是OLTP系统。系统里的一些类似数据字典表(数据量小,DML少的表),可以考虑放在同一表空间(近乎只读表空间),对业务表(数据量大,DML频繁的表),放在不同表空间,最好分布于不同物理存储上(如不同RAID控制器)。
    其他调忧,更主要看你的数据库设计,注意创建必要的索引。这个和你的数据模型有关,就不多说了。