安装 oracle, 主要是, 先确认系统资源, 再安装 oracle 软件, 最后按照 oracle 数据库

如果是使用 dbca 来安装数据库, 那么不需要自己创建文件夹.( 用来安装oracle软件的目录, 要自己创建, 例如 /u01/oracle

如果是使用手动命令创建数据库, 那么需要自己创建文件夹.


 

系统资源检查

1. grep –i memtotal /proc/meminfo   -- 查看内存容量, 最少1G, 由于是测试环境, 目前只有512M

2. df –h   -- 查询硬盘容量

3. 另外要安装 X WINDOW SYSTEM

4. 查看CPU情况  grep “model name” /proc/cpuinfo   -- 测试环境为 G630 2.7GHz

5. echo $SHELL   -- 查看使用的是那个shell


准备( 各种文件位置 )

1. 目录准备

   安装软件目录: /u01/app/oracle/product/10.2.0/db_1

   $ORACLE_BASE: /u01/app/oracle

   $ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1

   ( 如果是 ASM 模式, home目录为 /u01/app/oracle/product/10.2.0/asm

                     agent目录为 /u01/app/oracle/product/10.2.0/agent )

    oraInventory: stores an inventory of all software installed on the system,

                  这个目录你不用自己创建, OUI会帮助你创建好.

2. 管理数据库目录

   $ORACLE_BASE/admin/数据库SID/ 子目录有:

   adump: 审计信息

   bdump: backgroud process 的trace文件, 还有 alert file.

   cdump: core dump

   dpdump: 存放登录信息的

   udump: user trace file

3. 数据文件目录

   $ORACLE_BASE/oradata/数据库SID/

4. parameter file & password file

   $ORACLE_HOME/dbs 文件夹下


安装系统包 & 修改系统参数文件

- 修改内核参数 ( 修改完要重启一下 )

1. vi /etc/sysctl.conf

   kernel.shmall = 2097152     -- 设置系统可以使用的共享内存段总容量

   kernel.shmmax = 2147483648  -- 设置单进程能够使用共享内存段最大尺寸

   kernel.shmmni = 4096        -- 共享内存段的最大个数

   kernel.sem = 250 32000 100 128 -- 设置信号量

   fs.file-max = 65536        -- linux 可以打开的最多文件数量

   net.ipv4.ip_local_port_range = 1024 65000

   net.core.rmem_default = 1048576

   net.core.rmem_max = 1048576

   net.core.wmem_default = 262144

   net.core.wmem_max = 262144

2. vi /etc/security/limits.conf

   oracle soft nproc 2047

   oracle hard nproc 16384

   oracle soft nofile 1024

   oracle hard nofile 65536

   其中 nofile表示操作系统用户同时打开的最大文件数, nproc 表示单个用户同时可执行的最大进程数

3. vi /etc/pam.d/login

   session required /lib/security/pam_limits.so

   session required pam_limits.so

4. vi /etc/profile

   if [$USER = “oracle” ]; then

       if[$SHELL=”/bin/ksh”]; then

           ulimit –p 16384

           ulimit –n 65536

       else

           ulimit –u 16384 –n 65536

       fi

   fi

- 安装补丁包

   官方文档上有说明需要哪些补丁包, 通过 rpm –qa 来确认该补丁包是否安装, 如果没安装再

   rpm –ivh 包名 进行安装

   因为我已经找到所有的需要安装的包, 所以直接安装即可


创建 oracle 用户及设置环境变量

groupadd oinstall

groupadd dba

useradd –g oinstall –G dba oracle

passwd oracle

设置文件夹

chown –R oracle:oinstall /u01/app/oracle/product/10.2.0/db_1

chmod –R 755 /u01/app/oracle/product/10.2.0/db_1

修改环境变量 vi ~/.bash_profile 使用 source ~/.bash_profile声明该环境变量

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_SID=dbhz01

export PATH=$PATH:$ORACLE_HOME/bin

export DISPLAY=192.168.0.66:0

另外需要在客户端打开 xmanager – passive 等待安装画面


安装软件 oracle( 只安装软件, 不安装数据库 )

首先解压安装包

chown –R oracle:oinstall database/

su – oracle

然后./runInstaller  进入图形界面

至此 oracle 软件安装成功, 其中执行第2个 root.sh脚本时, 提示符直接敲回车就可以了, 全部默认.


使用 DBCA 创建数据库

su – oracle

dbca  进入图形界面创建数据库

其中 archivelog 设置( archivelog文件默认存储在 $ORACLE_BASE/flash_recovery_area, 对于这个路径, oracle 有个限制, 就是默认只能有2G 空间给归档日志使用, 可以使用下面两个sql语句查询限制
select * from v$recovery_file_dest;

show parameter db_recovery_file_dest

如果一旦归档日志文件超过2G, 就会报错, 解决办法有2个

alter system set db_recovery_file_dest_size = 107374182400 ( 100G 将本来限制2G内容改为 100G )

另外一个办法是改变归档日志路径

alter system set log_archive_dest_1=’location=/u01/archivelog’ scope=both;

那么针对下图, 可以直接将归档模式的文件名形式和位置定义.

%t: thread number, 在 RAC 下特别有用

%s: log sequence number ( lgo sequence )

%r: resetlogs ID that ensures uniques names are constructed for the archived log files

    across multiple incarnations of the database.(确定唯一 )

综上应该使用 format是 log%t_%s_%r.arc

下边的 archivelog destinations : /u01/app/oracle/archivelog ( 绝对路径 )

ORACLE完整安装过程_sql


安装 database Control

由于使用DBCA安装数据库时提示安装了 database control, 所以我们的测试机上已经安装了该软件, 下边开始说明一下使用情况 ( 个人感觉没有 toad 好用 )

如果没有在 dbca 中创建 database control repository, 使用以下命令来创建 repository:

emca –repos create

之后, 创建 database control

emca –config dbcontrol db 如果要重新创建, 则

1. emca –deconfig dbcontrol db  -- 删除 database control

2. emca –repos drop             -- 删除 repository

全部删除完了以后, 再重新创建, 就可以了

 

emctl start dbconsole  -- 启动 emctl

emctl stop dbconsole   -- 关闭 emctl

emctl status dbconsole  -- emctl 状态

可以通过 http://192.168.0.88:1158/em ( 其中 192.168.0.88 是主机名, 来远程访问 database control, 从而管理数据库 )


通过脚本创建数据库

instance_name 往往与 oracle_sid 相同

remote_login_passwordfile 设置为 exclusive, 设置支持远程登录 sysdba

0. 首先安装 oracle 软件, 在使用 OUI 界面时, 一定要选择安装软件 only.

1. 建立一系列目录

首先是 管理数据库目录 /u01/admin(这个目录是在你创建完oracle软件后就会有的) 下边的 adump, bdump, cdump, udump

另外, 就是数据文件所在的目录, 一般为 /u01/oradata/oracle_sid/ 文件名.

如果还有需要的, 就根据参数文件自己添加.

2. 配置参数文件, 这步骤, 可以根据使用 dbca 创建好的数据库的参数文件修改而来, 例如:下图:

DBCA创建的 parameter

ORACLE完整安装过程_创建数据库_02

改进版

ORACLE完整安装过程_创建数据库_03

4. 通过sqlplus 运行脚本开始创建数据库

 

  • describe on a unique instance and database name
  • choose a database character set
  • set the operating system variables
  • edit / create the initialization parameter file
  • start the instance( nomount)
  • execute the create database command
  • run scripts to generate data dictionary and accomplish post creation steps

例如:

CREATE DATABASE db01

logfile

GROUP 1 ('/u01/oradata/db01/log_01/db_01.rdo') SIZE 15M,

GROUP 2 ('/u01/oradata/db01/log_01/db_02.rdo') SIZE 15M,

GROUP 3 ('/u01/oradata/db01/log_01/db_03.rdo') SIZE 15M,

datafile '/u01/oradata/db01/system_01_db01.dbf' SIZE 100M

undo tablespace UNDO

datafile '/u01/oradata/db01/undo_01_db01.dbf' SIZE 40M

default temporary tablespace TEMP

tempfile '/u01/oradata/db01/temp_01_db01.dbf' SIZE 20M

extent management local uniform size 128K

character set AL32UTF8

national character set AL16UTF16

set time_zone = 'America/New_York'

;

ORACLE完整安装过程_hive_04

5. 创建数据字典

创建完数据库以后, 还要再创建两个数据字典

@$ORACLE_HOME/rdbms/admin/catalog.sql

@$ORACLE_HOME/rdbsm/admin/catproc.sql

 

6. 需要以 system 用户执行一个脚本, 为了所有用户都能使用 sqlplus.

@/opt/u01/app/oracle/product/11.2.0/db_1/sqlplus/admin/pupbld.sql 

以上, 就是手动创建数据库的全过程.

 

备注: 11g 在使用 dbca 之前, 首先要设置一下 listener, 即使用 netca, 而如果想使用 netca, 则需要修改以下两个文件

原因是, 主机名不同造成的

ORACLE完整安装过程_hive_05

两个文件的位置是, /etc/sysconfig/network, /etc/hosts

设置参考上边截图