安装 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 ( 绝对路径 )
安装 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
改进版
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'
;
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, 则需要修改以下两个文件
原因是, 主机名不同造成的
两个文件的位置是, /etc/sysconfig/network, /etc/hosts
设置参考上边截图