zoukankan      html  css  js  c++  java
  • Oracle数据库

    Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

    介绍

    ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。[1] 
    Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。
     

    支持平台

    在2001年发布的Oracle9i之前,甲骨文公司把他们的数据库产品广泛的移植到了不同的平台上。近期,甲骨文公司巩固了一小部分的操作系统平台。
    截止至2015年01月,甲骨文公司的Oracle10g/11g/12c支持以下的操作系统和硬件:
    · AppleMac OS X Server:PowerPC
    · HPHP-UX:PA-RISC,Itanium
    · HPTru64 UNIX:Alpha
    · HPOpenVMS: Alpha, Itanium
    · IBMAIX5L:IBM POWER
    · IBMz/OS:zSeries
    · Linux:x86,x86-64, PowerPC, zSeries, Itanium
    · MicrosoftWindows: x86, x86-64, Itanium
    · SunSolaris:SPARC, x86, x86-64[2] 
     

    特点

    1、完整的数据管理功能:[2] 
    1)数据的大量性
    2)数据的保存的持久性
    3)数据的共享性
    4)数据的可靠性
    2、完备关系的产品:
    1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
    2)保证访问的准则
    3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
    4)数据物理性和逻辑性独立准则
    3、分布式处理功能:
    ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。
    4、用ORACLE能轻松的实现数据仓库的操作。
    这是一个技术发展的趋势,不在这里讨论。
    优点
    ■ 可用性强
    ■ 可扩展性强
    ■ 数据安全性强
    ■ 稳定性强
     

    数据库管理及开发工具

    ·Navicat for Oracle是一套专为Oracle设计的强大数据库管理及开发工具。它可以用于任何版本的Oracle数据库,并支援大部份Oracle的功能,包括触发器、索引、检视等。
    ·Toad for Oracle是一款老牌的Oracle开发管理工具,比任何一款Oracle开发管理工具功能更多,并针对使用者不同的角色有多个分支版本。版本包括:Toad DBA Suite for Oracle是一款专门为Oracle DBA管理Oracle数据库工具, Toad Development Suite for Oracle是一款专门为Oracle开发工具, Toad DBA Suite for Oracle – Exadata Edition是一款专门为Oracle Exadata一体服务器及Oracle数据库管理工具, Toad DBA Suite for Oracle - RAC Edition是一款专门为Oracle搭建集群RAC的DBA管理工具
     

    比较

    在了解了ORACLE数据库后,我们有必要对ORACLE和Sybase SQL Server的比较, Oracle采用的是并行服务器模式,而Sybase SQL Server采用的是虚拟服务器模式,它没有将一个查询分解成多个子查询,再在不同的CPU上同时执行这些子查询。我们可以说在对称多处理方面Oracle的性能优于Sybase的性能。业务量往往在系统运行后不断提高,如果数据库数量达到GB以上时,我们在提高系统的性能方面可以从两方面入手,一种是提高单台服务器的性能,还有就是增加服务器数目。基于此,如果我们是提高单台服务器的性能,选择Oracle 数据库较好,因为它们能在对称多CPU的系统上提供并行处理。相反,由于Sybase的导航服务器使网上的所有用户都注册到导航服务器并通过导航服务提出数据访问请求,导航服务器则将用户的请求分解,然后自动导向由它所控制的多台SQL Server,从而在分散数据的基础上提供并行处理能力,我们可以选择它。这些都是在其他条件和环境相同的情况下比较的,这样才有可比性。在数据的分布更新方面,Oracle采用的是基于服务器的自动的2PC(两阶段提交),而Sybase采用的则是基于客户机DB-Library或CT-Library的可编程的2PC,因此我们在选择数据库方面,必须根据需要进行选择,比如,从事的社会保险软件的开发,考虑到数据量大,并发操作比较多,实时性要求高,我们后台基本采取的是ORACLE数据库。Oracle服务器由Oracle数据库和Oracle实例组成。Oracle实例由系统全局区内存结构和用于管理数据库的后台进程组成。
     

    就业前景

    从就业与择业的角度来讲,计算机相关专业的大学生从事oracle方面的技术是职业发展中的最佳选择。
    其一、就业面广:ORACLE帮助拓展技术人员择业的广度,全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位,大学生在校期间兴趣广泛,每个人兴趣特长各异,不论你想进入金融行业还是电信行业或者政府机构,ORACLE都能够在你的职业发展中给你最强有力的支撑,成为你最贴身的金饭碗。
    其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),Oracle技术能够帮助提高就业的深度。Oracle技术已经成为全球每个IT公司必选的软件技术之一,熟练掌握Oracle技术能够为从业人员带来技术应用上的优势,同时为IT技术的深入应用起到非常 关键的作用。掌握 Oracle技术,是IT从业人员了解全面信息化整体解决方案的基础。
    其三、职业方向多:Oracle数据库管理方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向.
     

    逻辑结构

    它由至少一个表空间和数据库模式对象组成。这里,模式是对象的集合,而模式对象是直接引用数据库数据的逻辑结构。模式对象包括这样一些结构:表、视图、序列、存储过程、同义词、索引、簇和数据库链等。逻辑存储结构包括表空间、段和范围,用于描述怎样使用数据库的物理空间。
    总之,逻辑结构由逻辑存储结构(表空间,段,范围,块)和逻辑数据结构(表、视图、序列、存储过程、同义词、索引、簇和数据库链等)组成,而其中的模式对象(逻辑数据结构)和关系形成了数据库的关系设计。
    oracle 数据库逻辑结构oracle 数据库逻辑结构
    段(Segment):
    是表空间中一个指定类型的逻辑存储结构,它由一个或多个范围组成,段将占用并增长存储空间。
    其中包括:
    数据段:用来存放表数据;
    索引段:用来存放表索引;
    临时段:用来存放中间结果;
    回滚段:用于出现异常时,恢复事务。
    范围(Extent):是数据库存储空间分配的逻辑单位,一个范围由许多连续的数据块组成,范围是由段依次分配的,分配的第一个范围称为初始范围,以后分配的范围称为增量范围。
    数据块(Block):
    是数据库进行IO操作的最小单位,它与操作系统的块不是一个概念。oracle数据库不是以操作系统的块为单位来请求数据,而是以多个Oracle数据库块为单位。
     

    文件结构

    数据库的物理存储结构是由一些多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件、警告文件等。[2] 
    控制文件:存储实例、数据文件及日志文件等信息的二进制文件。alter system set control_files=‘路径’。V$CONTROLFILE。
    数据文件:存储数据,以.dbf做后缀。一句话:一个表空间对多个数据文件,一个数据文件只对一个表空间。dba_data_files/v$datafile。
    日志文件:即Redo Log Files和Archivelog Files。记录数据库修改信息。ALTER SYSTEM SWITCH LOGFILE; 。V$LOG。
    参数文件:记录基本参数。spfile和pfile。
    警告文件:show parameter background_dump_dest---使用共享服务器连接
    跟踪文件:show parameter user_dump_dest---使用专用服务器连接[2] 
     

    恢复技术

     

    恢复意义

    当我们使用一个ORACLE数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重新建立一个完整的数据库,该处理称为数据库恢复。恢复子系统是数据库管理系统的一个重要组成部分。恢复处理随时随地所发生的故障类型所影响的结构而变化。
     

    恢复方法

    IMPORT方法:
    利用IMPORT,将最后一次EXPORT出来的数据文件IMPORT到新的数据库中,这种方式可以将任何数据库对象恢复到它被导出时的状态,此后的变化将无法挽回。IMPORT的命令可以交互式进行,各参数的具体含义见Oracle EXP/IMP参数详解。这种方式适用于没有采用archive 模式的环境。[2] 
    安全的恢复方法:
    如果数据库运行在archive 模式下,那么一旦数据库损坏则可以通过冷备份(热备份)和归档备份将数据库恢复到断点状态。
    数据库控制文件恢复(假设所有控制文件均被破坏):
    数据库基于文件系统: 利用操作系统的tar、cp等命令即可。
    数据库基于裸设备:dd if=$ORACLE_BASE/con.bak of=/dev/rdrd/drd1 seek=12
    数据库数据文件恢复数据及索引表空间、系统表空间的恢复:回拷相关的数据库文件和该数据文件备份以来所有生成的所有逻辑日志文件并执行如下命令:
    1
    2
    svrmgrl>startupmount
    svrmgrl>alterdatabaserecoverautomatic
    如果控制文件被破坏,则:
    1
    2
    svrmgrl>alterdatabaserecoverusingbackupcontrofile;#按照提示输入log文件名和redolog文件名
    svrmgrl>alterdatabaseopenresetlogs;
    数据库临时文件和回滚表空间的恢复:简单地offline drop 并重建即可 。
    注意:如果数据库不运行在archive 模式下,则恢复只能恢复到上次备份时的状态。
     

    安装过程

    一、准备安装
    基本都是按部就班。
    使用的OS版本:OEL4
    1
    2
    3
    4
    [oracle@ractestorcl]$cat/etc/redhat-release
    EnterpriseLinuxEnterpriseLinuxASrelease4(OctoberUpdate5)
    [oracle@ractestorcl]$cat/etc/enterprise-release
    EnterpriseLinuxEnterpriseLinuxASrelease4(OctoberUpdate5)
    安装程序路径:
    /mnt/Oracle11g_linux_x86_64/database
    创建用户
    1
    2
    3
    4
    5
    groupadd-g1001dba
    groupadd-g1002oinstall
    useradd-u10000-gdba-Goinstall,dba-d/home/oracle-s/bin/bashoracle
    chownRoracle:dba/home/oracle
    usermod-gdba-Goinstall,dbaoracle
    使用的.bash_profile
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    exportORACLE_BASE=/home/oracle
    exportORACLE_HOME=$ORACLE_BASE/11g
    exportORA_CRS_HOME=$ORACLE_BASE/crs
    exportORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
    exportORACLE_SID=orcl1
    exportPATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:${PATH}:$HOME/bin
    exportPATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
    exportPATH=${PATH}:$ORACLE_BASE/common/oracle/bin
    exportORACLE_TERM=xterm
    exportTNS_ADMIN=$ORACLE_HOME/network/admin
    exportORA_NLS10=$ORACLE_HOME/nls/data
    exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/
    oracm/lib:$ORACLE_HOME/lib
    exportLIBPATH=$LIBPATH:$ORA_CRS_HOME/lib:$ORACLE_HOME/lib
    exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME
    /network/jlib:$ORACLE_HOME/JRE
    exportTHREADS_FLAG=native
    exportTEMP=/tmp
    exportTMPDIR=/tmp
    exportNLS_LANG=american_america.WE8ISO8859P1
    exportDISPLAY=10.198.90.55:2
    aliassysdba="sqlplus'/assysdba'"
    exportEDITOR=vi
    修改的核心参数:
    kernel.shmall = 2097152
    kernel.shmmax = 2 147483648
    kernel.shmmni = 4096
    fs.file-max = 65536
    net.ipv4.ip_local_port_range = 1024 65000
    net.core.rmem_default=262144
    net.core.wmem_default=262144
    net.core.rmem_max=262144
    net.core.wmem_max=262144
    使用xclock检查display正确:
    代码:
    1
    2
    3
    4
    [oracle@ractest~]$xclock
    [oracle@ractest~]$/mnt/Oracle11g_linux_x86_64/database
    [oracle@ractest~]$cd/mnt/Oracle11g_linux_x86_64/database
    [oracle@ractestdatabase]$ls-l
    total 10
    drwxr-xr-x 4 1003 oinstall 96 Mar 23 18:45 doc
    drwxr-xr-x 5 1003 oinstall 1024 Mar 23 18:45 install
    drwxr-xr-x 2 1003 oinstall 1024 Mar 23 18:45 response
    -rwxr-xr-x 1 1003 oinstall 1251 Mar 23 18:45 runInstaller
    drwxr-xr-x 12 1003 oinstall 1024 Mar 23 18:45 stage
    -rw-r--r-- 1 1003 oinstall 4638 Mar 23 18:45 welcome.html
    1
    [oracle@ractestdatabase]$./runInstaller
    Starting Oracle Universal Installer...
    Checking installer requirements...
    Checking operating system version: must be redhat-3, SuSE-9,
    redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
    Passed
    All installer requirements met.
    Preparing to launch Oracle Universal Installer from
    /tmp/OraInstall2007-06-28_02-26-12AM. Please wait ...
    [oracle@ractest database]$ Oracle Universal Installer, Version 11.1.0.2.0 Production
    Copyright (C) 1999, 2007, Oracle. All rights reserved.
    Oracle Universal Installer, Version 11.1.0.2.0 Production
    Copyright (C) 1999, 2007, Oracle. All rights reserved.
    启动图形以后选择basic&n
    选择oracle base的时候,oracle不推荐使用user home作为oracle base,这里我选yes忽略
    进行prerequirements检查的时候,安装程序认为swap不足,我选择YES忽略
    执行提示脚本,安装完毕
    代码:
    1
    2
    3
    4
    [oracle@ractestdatabase]$
    [oracle@ractestdatabase]$su-root
    Password:
    [root@ractest~]#/home/oracle/oraInventory/orainstRoot.sh
    Changing permissions of /home/oracle/oraInventory to 770.
    Changing groupname of /home/oracle/oraInventory to dba.
    The execution of the script is complete
    1
    [root@ractest~]#/home/oracle/11g/root.sh
    Running Oracle 11g root .sh script...
    The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME= /home/oracle/11g
    Enter the full pathname of the local bin directory: [/usr/local/bin]:
    Copying dbhome to /usr/local/bin ...
    Copying oraenv to /usr/local/bin ...
    Copying coraenv to /usr/local/bin ...
    Creating /etc/oratab file...
    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root .sh script.
    Now product-specific root actions will be performed.
    Finished product-specific root actions.
    安装完毕。
  • 相关阅读:
    Node.js Express框架
    Node.js Web模块
    Node.js 工具模块
    Node.js GET/POST请求
    Node.js 文件系统
    Node.js 常用工具
    【day03】Xhtml
    【day02】Xhtml
    【紫书】【重要】Not so Mobile UVA
    【紫书】Tree UVA
  • 原文地址:https://www.cnblogs.com/xtdxs/p/6540988.html
Copyright © 2011-2022 走看看