问题一:你可以使用DBCA在一台服务器上再创建一个临时数据库,
问题二:图片最好不要放在oracle数据库存储,特别是图片非常多时候,应该放在外部。若是c/s可以在服务器上做个临时管理程序负责把client图像转存到服务器上外部目录。
问题三:问题比较广,最好根据你的具体应用联系在一起。其他问题下午跟你探讨。还有你服务器最好要做raid,

解决方案 »

  1.   

    1,ORACLE的高级复制
    2,C/S中这是个问题,从数据库这也就是放到LOB字段中,在放在不同的磁盘阵列上平衡I/O,但网络流量的问题不太好解决。
    3,表空间可用9I的ASSM管理,把表,索引,LOB大字段等建立不同的表空间,分方到不同的磁盘阵列
    4,没有必要作成存储过程,应用程序使用好绑定变量,share_pool命中率问题不大
    5,你要做MTS?有必要么?
    6,32BIT SGA要大于1.7G是要特殊设置的,相关资料很多自己找着看看。
     内存4G shared_pool_size = 200M , data buffer = 2G 
      PGA自动管理,总量给个400M吧
     只是写建议,具体用起来时根据实际情况调吧。
      

  2.   

    楼上..很感谢..1.这个问题打算在Oracle中建立两个数据库,分不同用户,如果需要切换数据库的时候,
      那么停掉主数据库进程,启用临时数据库.启用前会用程序内置的通知告诉客户端.
      然后客户端在登录的时候就用另外一个账号登录到临时库,或者用原来的账号
      但sid的问题怎么解决?我的客户端的Oracle注册表项下只能写一个sid,难道用全局数据库名称?
    2.这个问题只能采用数据库存储了.因为如果用数据库外部存储的方式,那么也涉及到图片下载的问题.
      用FTP?还是http下载?数据库中存储路径名称?这样麻烦了...我可能还是倾向于在lob字段中.3.assm不太熟悉..准备补课.谢谢楼上提醒4.为何不弄成存储过程呢?返回记录集后也没有什么问题么.这样如果要优化sql语句也方便.在数据库中修改即可.客户端不需要更新.5.MTS?我不做那东西.但我不知道你说的意思是?
    6.我在看看你说的
      

  3.   

    觉得楼主的这种帖子挺值得大家讨论的。关于你的回复的回复如下:
    1,同一台机器两个数据库的stand by可以解决你的问题,去仔细看一下相关文档,
     不用SID,用ADDRESS_LIST+SERVICE_NAME就是,应用透明的自动转移stand by文档中也有的。
    2,不存数据库中你还要有一套文件访问权限的管理策略,不划算。
    3,assm使用很简单,自动化的管理是DBA的福音:)
    4,我的意思是插入,删除,更新大都是简单SQL,没有使用存储过程的必要。
    5,你不是所“共享连接”么,oracle使用共享服务器模式就是MTS阿。
      PGA是属于进程(线程)私有的区域。在oracle使用共享服务器模式下(MTS),PGA中的一部分,也  就是UGA会被放入共享内存large_pool_size中也就是说放在了共享内存里面,不同进程(线     程)之间可以共享这部分内存。
      也就是说你“共享连接”下large_pool_size过小,后果你可想而知了吧:)
      

  4.   

    至楼上:hippie1024(痞子) 1.这东西我抽空一定看看。
    2.如果大量图片放入数据库中。那么读取这些图片是要占用很大的网络资源吧(这么多用户)
      在说如果放入数据库在磁盘IO上要很费力了。肯定用Raid,但Raid几还不好说。要在性能和安全性上取得平衡
      如果不存数据库,那么图片的上传下载都是问题。如果用Http,那么效率我很担心。如果用FTP。那么防火墙的问题恐怕要写在帮助里面。
      另外。如果放在数据库外面,那么备份是个大问题。
    我很头痛。。
    3.assm我还没有来得及看。。另外是否有必要升级到10G?数据库目前是用Win2003,那么如果将来换成Linux,在迁移上问题会很多吧。但如果现在上linux我又不太行。。
    4.噢。这问题也对。那查询之类的放入存储过程如何?我感觉这样是好很多。效率应该高一些才对,
    5。我想用专用模式,因为我感觉这个能快一些。。不知道对于大量用户来说。哪个更合适??
       这些用户会添加,修改,查询。查询会多一些。因为报表很多。修改也会不少。目前添加的少。但将来添加的也会很多。
    6.我在学习学习。。感谢楼上的鼎立支持。。,希望有机会和大家探讨.
      

  5.   

    这个架构设计是十分幼稚的,可能有些条件限制成了这样,而我没有理解到.我谈谈我的看法,楼主自己考虑.
    1.建议所有的公司\分公司\营业点直接连到数据库,并且只用一个数据库(不要用两个数据库来切换),简单的设计就是最好的.这样唯一的缺点是服务器挂了,所有的地方都不能营业,所以要保证这个服务器7*24.当然现在保证这个要求不难,也要考虑到电信局的网络挂了.
    2.你现在的服务器应该是跑不动了.1500个连接到数据库,那是什么概念?居然没有raid,硬盘是这个服务器最主要的问题,如果你们有钱,最好是raid0+1,既提高I/O,又保证数据的安全.数据库文件放在那里,怎么避免I/O的凭颈(表空间设计),大有文章,每本DBA的书上都有很长的篇幅讲.
    3.图片,呵呵,大量的图片不要放在数据里,他的I/O量十分大,占的空间十分大.如果条件许可,放在另外一台服务器上,这样才能提高速度,放在一个服务器上,怎么搞都快不了多少,另外图片的存取也要将技巧.
    4.如果象你说的上千个连接,你当然是需要使用共享模式了.可能你还没有分清两者的区别吧.即使是共享模式,你当前的服务器的配置也很吃力哦.应该同时在线的连接只有几百个吧?
    5.你提的其他的几个问题,太广泛了,要根据实际情况来回答,几天几夜都将不完了......
    帮不了你了,自己好运.
      

  6.   

    ft,楼上的你没看清人家的前提吧 
    “总公司和各分公司在不同省区.”“总公司和各分公司通过2M数字电路连接”"所有的公司\分公司\营业点直接连到数据库" 的说法实在不敢苟同。
    呵呵,网络流量,服务器并发,容灾,要考虑的现在太多了。
    你这样搞是简单了,出了问题DBA只能撞墙了
      

  7.   

    1.可用Linux的HA和共想存储介质实现双机。这样的话可以两台数据库是一模一样的,只是一个时间点只有一台服务器在运行。也可以实现问题1的功能。而且在应用功能上不会有限制。
    2.可以试试Oracle的internetfiles系统。这样比去开发一个FTP,或是HTTP服务器可靠性要好得多。
    3.表空间最好设计成本地管理模式。这样可以很大程地防止由于碎片导致数据库性能下降的情况。把表,索引,LOB大字段等建立不同的表空间.存储做R5,实现条带化,提高读写效率。
    4.不一定储存过程的效率就会比SQL高。SQL绑定变量,也可以达到存储过程的效率。而且存储过程对于查询的灵活性不好。全部都用存储过程是不明智的,可能会事与愿违
    5你要做MTS?有必要么?不是行业用户没有必要。使用这些特性很容易碰上Oracle的Bug.呵呵。
    6.4G的内存,建议SGA调到3G左右,到6G时,调到5G左右(服务器只跑Oracle的情况)。是否能设到这么大(操作系统是否有内存寻址的限制?),请查相关的资料。
      

  8.   

    补充:一般情况,WIN2000是有2G内存限制的。要突破这个限制,要打补丁。