• 相克军_Oracle体系_随堂笔记002-基础


    1.常见的Oracle生产库环境:

    图2-1可以说是标准的生产库环境,处处体现了冗余,有效防止了单点故障。这就是HA(高可用)
    而且冗在某种条件下还可以去掉,平常实现同时运行提供服务,如果一台坏掉,另一台也可以继续提供完整服务。这就是LB(负载均衡)
    也就是说实现了HA+LB(高可用+负载均衡)
    还涉及一个MPIO技术(多路径技术,实现2根线能看做是一根线传输)
    困惑已久的数据库各种文件的管理在上图中已经得到答案,将Oracle软件和存储的文件分开管理,即使系统坏了都可以重装,不用担心丢失数据文件,这个方案相见恨晚,very good~
    ps:①一般生产库环境中,常见的方案是服务器和光纤存储交换机都选用IBM的,存储选用EMC的存储。
    ②服务器的硬盘过去通常选用scsi硬盘,如今是选用SAS、FC的比较多。EMC存储通常选用FC盘。
    ③服务器是通过HA卡和光纤与光纤存储交换机相连接的,光纤存储交换机通过光纤和存储相连接。
    ④生产环境中,服务器的cpu需要支持64位,linux系统和Oracle的软件,都要选用64位的。
    ⑤安装Oracle软件,遵循OFA(灵活体系结构)
     
    2.Linux上安装Oracle数据库软件
    前期需要注意的东东:
    一般物理内存小于4g的时候,swap分区大小规划为是2倍的物理内存;
    /tmp 这个如果是生产库环境,建议分给这个节点一个独立的文件系统,大小10G。练习就随意了;
    / 这个剩下的所有空间就给它吧~
    Red Hat系统已经装好,网络已经配置完成;
    oracle软件版本选择,建议选用企业版,因为标准版中连基本的RAC和分区表都没有;
    Oracle 10g 建议安装在RedHat 4系统中;
    是用OUI安装Oracle
    安装可以选用静默模式安装,但需提前配置好应答文件~
    存储那里选择,练习环境选用“文件系统”;生产库环境选择ASM和裸设备的比较多。
    正式安装的步骤:(建议参照官方文档)
    ①确保需要的开发工具、系统工具都装上了;(建议配置yum来安装缺失的rpm包)
    ②配置网络环境(IP地址和hosts文件)-主机名和ip地址的对应写到hosts文件中。
    ③建立相关用户组,用户
    ④修改Linux一些系统内核参数,设置环境变量
    $ORACLE_BASE
    $ORACLE_HOME
    $ORACLE_SID
    $LD_LIBRARY_PATH
    $NLS_LANG
    $NLS_DATE_FORMAT
    ……
    
    ⑤xmanager 安装Oracle
    ./runInstaller
    
    ⑥安装仅安装Oracle软件,最后根据提示执行两个脚本
    ⑦dbca创建Oracle数据库
    注意:
    (1)建库过程中,示例方案在生产库中肯定是不能选择的,练习环境可以选;
    (2)字符集的选择就两种常见选择的方法;
    (3)存储的位置,控制文件、数据文件、重做日志文件具体的位置可以选择。
    ⑧netca配置监听
    如果监听识别不了数据库,强制让系统注册监听
    SQL>alter system register
    
     
    3.Oracle数据库相关软件的使用
    ①EM如果出问题,可以删除重建;(默认端口号1158)
    EM一旦建立以后,linux服务器的主机名就不要修改了;
    EM主要用到管理,性能;
    ps:查看端口号,$ORACLE_HOME下,
    $cd install
    $more portlist.ini
    
    ②isqlplus
    ③sqlplus
    ④数据库、监听、EM、isqlplus启动和关闭的顺序
    启动顺序:依次启动监听、数据库、isqlplus或EM。
    $lsnrctl start
    SQL>startup
    $lsnrctl status
    jiagulun    Ready.
    $isqlplusctl start
    $emctl start dbconsole
    
    关闭顺序:依次关闭isqlplus或EM、监听、数据库。
    $isqlplusctl stop
    $netstat -tulnp | grep 5560
     
    $emctl stop dbconsole
    $emctl status dbconsole
     
    $lsnrctl stop
    $sqlplus / as sysdba
    SQL>shutdown immediate;
     
    $ps -ef | grep ora
    
    ⑤EM管理架构
     
    4.计算机工作机制
    CPU、内存、硬盘
    问:一核心CPU如何处理3个进程?
    答:微观来讲,CPU只能同时执行一个程序;宏观讲,由于时间片很短,可以看做是3个进程同时被处理。
    所以服务器的CPU数量比较多,服务器并发量大啊。
    内存相当于一个大的缓存。
    硬盘:用于永久存放数据的,硬盘属于半电子半机械的东西!
    计算机处理数据的瓶颈是:I/O操作,即硬盘=>内存
    linux系统的top命令
    #top
    Cpu(s)    %us    %sy    %id    %wa
    Mem:内存被大量使用(不一定是内存不够用)
    Swap:{
    防止内存耗尽系统挂掉,但尽量少用;
    in,out都比较频繁,说明内存不够了;
    }
    
    硬盘工作机制:
    磁头悬浮在磁道上方,如果不小心触碰,就会产生物理损伤;
    读数据(从硬盘读数据){
    1.寻道时间T1,磁臂驱动磁头到指定磁道上方(耗时最长)
    2.盘面旋转T2
    3.通过接口传输数据给内存的时间T3
    }
    平常大家都做过的碎片整理,实际上就是把磁盘上的数据存放在一起,减少了寻道时间。
    柱面:4个磁头一次性从柱面读取数据。(linux系统的分区就是根据柱面分区的)
    只要硬盘在线,就会一直旋转,节能的可能会减慢转速。
    这回知道了为什么平日里大家的笔记本最好不要在开机状态下乱动,否则可能会损伤磁道的原因!
    硬盘的接口:
    pc机{
    IDE,并口
    SATA,串口
    SATA2,
    SATA3,
    }
    服务器{
    SCSI,并口
    SAS,串口
    FC
    }注意:无论是pc机还是服务器的硬盘,都有串口化的历程:(串口优点是占空间少;干扰小);
    IDE,SATA硬盘上没有CPU芯片,取数据会占用CPU的时间;
    SCSI,SAS,FC硬盘有单独的cpu芯片,不会占用CPU那么多时间。
    计算机缓存技术:
    #iostat 1 10
    缓存存在的意义:
    1.CPU在短时间内处理相同数据的几率非常高;
    2.CPU在处理相邻数据的几率非常高。
    命中率=逻辑读/(逻辑读+物理读)
    命中率低一定有问题,命中率高不一定没问题。
    命中率高2种情况{
    ①正常
    ②逻辑读非常之大,cpu一直高负荷运转
    }
     
    缓存的特点:数据容易丢失
    {
    1.缓存read:大部分都是这种
    2.缓存write:Oracle数据库的内存可以缓存写;存储的缓存可以缓存写。
    }
    存储的电池就一个作用,断电时暂时不丢数据。而如果存储的缓存电池坏了,会自动关闭缓存写。
    如今存储还提供flash,在存储长时间不能加电时,可以把存储缓存中内容-->到flash中。
    存储的控制器最为重要,也最为值钱。很多存储本身也提供了冗余技术,比如一个存储设备通常配有2个控制器和2个电源。
    存储的特点:{
    1.能够集合所有的硬盘;
    2.加快了读写速度;
    3.支持raid技术。
    }
     
    raid技术{
    1.提高冗余
    2.提高读写速度
    }
    raid0,raid1,raid5    --这三种现在很少单独使用了;
    raid6,raid10,raid01    --这三种后面两种用的最多,推荐使用;
     
    raid0,提高读写速度,但没有任何冗余。需要2块或以上,建议不超过6块。
    raid1,对写速度没有提高,读速度有提高,提供冗余。
    raid5,有冗余,1/n,写性能差,读性能高;可以坏一块硬盘,但坏了之后,读的速度会受到严重影响。
    raid6,有冗余,可以坏2块硬盘,写性能很差,坏一个硬盘时,还可以,坏2个硬盘读的速度一样受到严重影响。
  • 相关阅读:
    SWT界面刷新
    如何查看SWT源代码和帮助文档
    五分钟带你搞懂子网掩码
    python操作excel实用脚本
    Maven多镜像配置
    FrameWork数据权限浅析4之基于多维度配置表实现行级数据安全
    FrameWork数据权限浅析3之基于角色的配置表实现行级数据安全
    FrameWork数据权限浅析2之基于用户的配置表实现行级数据安全
    FrameWork数据权限浅析1之基于手工修改模型实现行级数据安全
    Framework元数据向导错误之BMT-MD-6001与BMT-IMP-0002
  • 原文地址:https://www.cnblogs.com/jyzhao/p/3819365.html
Copyright © 2020-2023  润新知