安装Oracle

桌面类普通安装

安装时系统类选择桌面类之后,需要配置一些路径:

  • Oracle基目录

    对应Linux版安装完成后的 ORACLE_BASE 环境变量。

    可以在该目录下安装多个不同的Oracle产品,例如Oracle的数据库、Weblogic中间件等

  • 软件位置

    对应Linux版安装完成后的 ORACLE_HOME 环境变量。

    默认是在Oracle基目录下创建的数据库软件路径: product\11.2.0\dbhome_2

  • 数据库文件位置

    默认为 oracle基目录下的 oradata文件夹

数据库版本:

企业版包含全部功能,标准版缺少分区等功能,个人版功能最少。一般安装企业版。

此处的企业版并非意味着要在企业里进行应用,只是意味着该版本的功能最全。

字符集:用来存储数据库数据的编码

默认会取系统的字符集,例如中文Windows时,默认值为:ZHS16GBK。

可以根据实际情况换为其他的,例如:Unicode(AL32UTF8)

走到 Configuration Assistant步骤时,如果因为网卡或其他原因导致 Oracle Net Configuration AssistantOracle Database Configuration Assistant 这两个组件安装出现问题,可以直接忽略,继续安装其他组件。

等到oracle安装完成之后:

如果Oracle Net Configuration Assistant 出错,则可以在命令行使用 netca 命令调出网络配置重新进行设置。

如果 Oracle Database Configuration Assistant 出错,则可以在命令行使用 dbca 命令调出数据库配置重新进行设置。

之后 Database Configuration Assistant 会弹出一个窗口,创建Oracle实例、创建数据库。(前面的操作步骤是在安装数据库管理工具)。

数据库实例安装完成后,最后会弹出一个安装信息窗口,主要内容有:

  1. 数据库创建日志
  2. 数据库信息:数据库名、SID等
  3. Database Control URL

    该URL用于在web页面管理数据库。从oracle 10g之后,Oracle不再提供图形化的数据库管理,改用在Web页面进行管理。

    该地址为:https://主机IP:1158/em

  1. 口令管理

    默认情况下,很多数据库用户(例如scott用户)处于锁定状态,可以在口令管理这里进行解锁、设置密码。

服务器类定制安装

安装时,系统类选择 服务器类

选择服务器类之后,会比桌面类多出一步 网格安装选项,选择项为:

  • 单实例数据库安装
  • Real Application Clusters数据库安装

    简称 RAC。Oracle的集群,多个实例对应一个数据库。

服务器类在安装类型可以选择:

  • 典型安装
  • 高级安装

桌面类安装时默认为基本安装

选择高级安装后:

  • 可以选择运行产品时使用的语言
  • 选择数据库版本(企业版、标准版、标准版1、个人版)

    选择企业版之后,点击右下角的选择选项可以选择组件:

    • Oracle Partitioning(默认勾选,Oracle的分区表。如果不安装则不能建立分区)
    • Oracle OLAP(默认勾选,针对OLAP在线业务的分析特性,例如分析函数等)
    • Oracle Label Security(标签安全,可以非常细粒度的限制Oracle的访问,例如限制某个用户只能访问某张表的某几个字段)
    • Oracle Data Mining RDBMS Files(默认勾选,数据挖掘功能)
    • Oracle Database Vault option(安全组件,可以限制一些用户的行为,包括sys用户也可以进行限制)
    • Oracle Real Application Testing(默认勾选,应用测试特性)
    • Oracle Database Extensions for .NET(对.NET的扩展)
  • 选择安装位置
  • 选择要创建的数据库的类型(默认安装时没有该选项,Oracle自动选择事务处理类型)

    两个选项:

    • 一般用途/事务处理
    • 数据仓库
  • 数据库标识符配置(全局数据库名、Oracle服务标识符SID)
  • 配置选项(内存大小、字符集等)
  • 管理选项(选择使用Grid Control管理数据库[需要有Grid Control代理] 或者 使用 Database Control管理数据库)
  • 数据库存储选择(可以选择 文件系统 或者 自动存储管理ASM)

多实例

Oracle数据库安装多实例

  1. 使用 dbca命令打开数据库实例配置助手页面:
    1. dbca
  1. 选择:创建数据库
  2. 选择:一般用途或事务处理
  3. 配置全局数据库实例名、数据库实例的SID。(默认SID和全局数据库实例名相同)
  4. 下一步
  5. 配置数据库管理员用户口令:tiger
  6. 配置数据库实例的文件位置,默认为:{ORACLE_BASE}\oradata,会在该文件夹下创建一个对应的数据库实例名文件夹
  7. 下一步…
  8. 配置SGA、PGA内存大小;
    配置用户进程最大数量;
    配置数据库实例字符集、国家字符集等初始化参数。
  9. 配置控制文件、系统表空间文件、redo日志组
  10. 创建数据库(或者生成数据库创建脚本、数据库模板等)

等数据库实例创建完成后,需要重启数据库监听服务,最好将数据库服务也进行重启。

登录不同的数据库实例

指定数据库实例登录sqlplus:

  1. # sysdba登录orcl实例
  2. sqlplus /@orcl as sysdba
  3. # sysdba 登录utf8orcl实例
  4. sqlplus /@utf8orcl as sysdba

查看当前sqlplus登录的实例:

  1. -- 查看当前登录数据库的参数配置
  2. show parameter name;
  3. -- 查看当前登录用户
  4. show user;
  5. -- 查看当前登录数据库实例名称
  6. select name from v$database;

数据库的配置

初始化参数文件

初始化参数文件是oracle实例运行所需要的参数配置文件,Oracle实例启动必须先从参数文件中读取数据。

初始化参数文件分为两种:

  • spfile

    可动态修改,即可以在数据库运行期间修改部分参数。

    从10g开始默认使用spfile。该文件为二进制文件,无法用文本编辑器修改。

  • pfile

    不可动态修改。

    文本文件,可以直接在文本中进行修改。

查看初始化参数

使用 sysdba 用户连接上sqlplus后,可以以下方式查看配置:

  • 将spfile文件转储一个pfile文本文件进行查看
  • 直接使用show parameter xxx 命令进行查看
  • 使用sql查询 v$parameter视图进行查看

对应Oracle官方文档《Oracle Database Reference》第一章《Initialzation Parameters》。

使用 show parameter查看参数:

  1. SQL> show parameter sga;
  2. NAME TYPE VALUE
  3. ------------------------------------ ----------- ------------------------------
  4. lock_sga boolean FALSE
  5. pre_page_sga boolean FALSE
  6. sga_max_size big integer 1G
  7. sga_target big integer 0
  8. SQL> show parameter spfile;
  9. NAME TYPE VALUE
  10. ------------------------------------ ----------- ------------------------------
  11. spfile string D:\PC_SOFTWARE\PROGRAM_SOFTWAR
  12. E\DATABASE_SOFTWARE\DATABASE_S
  13. ERVER\ORACLE\APP\ADMINISTRATOR
  14. \PRODUCT\11.2.0\DBHOME_1\DATAB
  15. ASE\SPFILEORCL.ORA

使用 v$parameter 查看参数:

  1. select * from v$parameter;

将二进制的spfile转储成pfile进行查看:

执行之后,将会在spfile所在的文件夹下创建出一个pfile文件:INITorcl.ORA

spfile的路径通过 show parameter spfile; 进行查看

只展示已经修改了的值,不展示Oracle的默认值

  1. SQL> create pfile from spfile;

修改初始化参数

通过以下方式修改参数:

  • 使用alter语句修改配置
  • 修改pfile文件中的参数

使用alter语句进行修改:

  1. --查看当前的系统参数
  2. SQL> show parameters session;
  3. NAME TYPE VALUE
  4. ------------------------------------ ----------- ------------------------------
  5. java_max_sessionspace_size integer 0
  6. java_soft_sessionspace_limit integer 0
  7. license_max_sessions integer 0
  8. license_sessions_warning integer 0
  9. session_cached_cursors integer 50
  10. session_max_open_files integer 10
  11. sessions integer 248
  12. shared_server_sessions integer
  13. -- 尝试修改参数sessions250
  14. -- 因为sessions参数不允许动态修改,所以会出现报错
  15. SQL> alter system set sessions=250;
  16. alter system set sessions=250
  17. *
  18. 1 行出现错误:
  19. ORA-02095: 无法修改指定的初始化参数
  20. -- alter语句后添加参数,指定修改配置到spfile,重启数据库时才生效
  21. SQL> alter system set session=250 scope=spfile;
  22. -- 重启数据库。startup force 等同于: shutdown abort; startup
  23. SQL> startup force;

修改sessions 的值并重启数据库之后,会发现新的 sessions 参数的值可能比我们设置的值大一些,这是因为Oracle会将自己的后台进程的会话也加入到sessions中。

scope的值有三种选择:

  • both(默认值,写入内存,同时更新spfile)
  • spfile(对于不允许动态修改的参数,可以选择这个选项,将更改写入spfile,重启数据库后生效)
  • memory

修改pfile文件的内容,需要重启数据库才生效。启动时需要加入pfile路径参数:

  1. C:\Users\Administrator>sqlplus / as sysdba
  2. # 如果不指定pfile文件路径, oracle默认会去文件夹下查找并使用spfile文件
  3. SQL> startup pfile='D:\PC_Software\Program_Software\DataBase_Software\Database_Server\oracle\app\Administrator\product\11.2.0\dbhome_1\database\initorcl.ora';

业务导向的参数配置

通过数据库的用途决定参数配置:

  • OLAP

    在线分析。例如报表系统、数仓系统,用户连接数量少,SQL数量少,但是会有大表查询。

    主要压力:IO、并行、动态采样、优化器

  • OLTP

    在线交易。增删改频繁,多且短的SQL。

    主要压力:并发、内存、变量绑定、优化器

OLAP系统相关参数:

  • parallel_min_servers

    并行

  • db_file_multiblock_read_count

    从磁盘上一次读多少个数据块,影响IO性能

  • optimizer_dynamic_sampling

    动态采样

  • sga_target
  • pga_aggregate_target
  • optimizer_mode

OLTP相关参数:

  • cursor_sharing

    绑定变量

  • sga_target

    内存

  • sessions

    会话

  • pga_aggregate_target

    每个会话的内存的总和

  • shared_pool_size

    设置大一些可以保证SQL不会因为太旧被踢出,导致再进来一条一模一样的SQL时又重新进行硬解析