第一节oracle数据安装与配置

(一)安装Oracle 10g数据库准备工作

1、验证系统

要验证系统是否满足 Oracle 10g数据库的最低要求,以 root 用户身份登录并运行以下命令。

要查看可用 RAM 和交换空间大小,运行以下命令:

grep MemTotal/proc/meminfo

grepSwapTotal /proc/meminfo


例如:

# grepMemTotal /proc/meminfo

MemTotal:512236kB

# grepSwapTotal /proc/meminfo

SwapTotal:1574360kB

所需最小 RAM 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。

Oracle 10g软件还需要 2.5GB 的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的可用空间。要检查系统上的可用磁盘空间,运行以下命令:

df -h


2、创建 Oracle 组和用户帐户

接下来,创建用于安装和维护 Oracle 10g软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall dba。以 root 用户身份执行以下命令:

/usr/sbin/groupaddoinstall

/usr/sbin/groupadddba

/usr/sbin/useradd-m -g oinstall -G dba oracle

id oracle


例如:

#/usr/sbin/groupadd oinstall

#/usr/sbin/groupadd dba

#/usr/sbin/useradd -m -g oinstall -G dba oracle

# id oracle

uid=501(oracle)gid=501(oinstall) groups=501(oinstall),502(dba)

设置 oracle 帐户的口令:

passwd oracle


例如:

# passwdoracle

Changingpassword for user oracle.

New password:

Retype newpassword:

passwd:allauthentication tokens updated successfully.

3、创建目录

现在,创建存储 Oracle 10g软件和数据库文件的目录。

以下假设在根文件系统中创建目录。这样做是为了简便起见,不建议将其作为通用做法。这些目录通常被创建为单独的文件系统。

root 用户身份执行以下命令:

mkdir -p/u01/app/oracle

mkdir -p/u02/oradata

chown -Roracle:oinstall /u01/app/oracle /u02/oradata

chmod -R 775 /u01/app/oracle /u02/oradata


例如

# mkdir -p /u01/app/oracle

# mkdir -p /u02/oradata

# chown -R oracle:oinstall /u01/app/oracle /u02/oradata

# chmod -R 775 /u01/app/oracle /u02/oradata

4、配置 Linux 内核参数

Linux 内核非常出色。与大多数其他 *NIX 系统不同,Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参数更改后不必重新启动系统。Oracle 数据库10g需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。

kernel.shmall= 2097152

kernel.shmmax= 2147483648

kernel.shmmni= 4096

kernel.sem =250 32000 100 128

fs.file-max =65536

net.ipv4.ip_local_port_range= 1024 65000

如果您按照以上说明安装了 Linux,且内核参数全部采用默认值,则只需在以 root 用户身份登录后执行下命令。

cat >>/etc/sysctl.conf <<EOF

kernel.shmall= 2097152

kernel.shmmax= 2147483648

kernel.shmmni= 4096

kernel.sem =250 32000 100 128

fs.file-max =65536

net.ipv4.ip_local_port_range= 1024 65000

EOF

/sbin/sysctl-p

例如:

# cat>> /etc/sysctl.conf <<EOF

>kernel.shmall = 2097152

>kernel.shmmax = 2147483648

>kernel.shmmni = 4096

>kernel.sem = 250 32000 100 128

>fs.file-max = 65536

>net.ipv4.ip_local_port_range = 1024 65000

> EOF

#/sbin/sysctl -p

net.ipv4.ip_forward= 0

net.ipv4.conf.default.rp_filter= 1

kernel.sysrq= 0

kernel.shmall= 2097152

kernel.shmmax= 2147483648

kernel.shmmni= 4096

kernel.sem =250 32000 100 128

fs.file-max =65536

net.ipv4.ip_local_port_range= 1024 65000

root 用户身份运行以下命令来验证您的设置:

/sbin/sysctl-a | grep shm

/sbin/sysctl-a | grep sem

/sbin/sysctl-a | grep file-max

/sbin/sysctl-a | grep ip_local_port_range

例如:

#/sbin/sysctl -a | grep shm

kernel.shmmni= 4096

kernel.shmall= 2097152

kernel.shmmax= 2147483648

kernel.shm-use-bigpages= 0

#/sbin/sysctl -a | grep sem

kernel.sem =250        32000   100    128

#/sbin/sysctl -a | grep file-max

fs.file-max =65536

#/sbin/sysctl -a | grep ip_local_port_range

net.ipv4.ip_local_port_range= 1024     65000

如果系统的参数设置的比上述参数值小,则编辑/etc/sysctl.conf 文件,添加或更改这些参数。完成后,运行以下命令激活更改:

/sbin/sysctl-p

为 oracle 用户设置Shell 限制

Oracle建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。要进行这些更改,以 root 用户的身份执行下列命令:

cat >> /etc/security/limits.conf <<EOF
oracle               soft    nproc   2047
oracle               hard    nproc   16384
oracle               soft    nofile  1024
oracle               hard    nofile  65536
EOF
 
  
cat >> /etc/pam.d/login <<EOF
session    required     /lib/security/pam_limits.so
EOF
 
  
cat >> /etc/profile <<EOF
if [ \$USER = "oracle" ]; then  
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >> /etc/csh.login <<EOF
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
 
  

5oracle 用户的环境变量

要使用 Oracle 产品,应该或必须设置几个环境变量。对于数据库服务器,建议设置以下环境变量:

ORACLE_BASE

ORACLE_HOME

ORACLE_SID

PATH

如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOMEORACLE_SID PATH 变量可能会更改。ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。

oracle 身份登录,并通过在 .bash_profile .profilebash ksh)中添加以下行,将 ORACLE_BASE 添加到登录配置文件:

ORACLE_BASE=/u01/app/oracle;export ORACLE_BASE

或在 .login (csh) 中添加以下行:

setenv ORACLE_BASE /u01/app/oracle

此更改将在您下次登录到 oracle 帐户时生效。要使更改对当前会话为活动状态,只需从命令行运行此命令。


(二)安装 Oracle 10g

要使 Oracle 10g发行套件介质可以在服务器上使用最简单的方法是将其直接下载到服务器。

使用图形登录以 oracle 身份登录。

创建一个目录以存放 Oracle 10g发行套件

mkdir 10g_db

解压缩此文件

cd 10g_db

gunzip ship.db.cpio.gz

cpio -idmv < ship.db.cpio

安装软件

使用 oracle 帐户登录。

指定数据库名称 (ORACLE_SID)。该名称通常不多于五个字符。对此安装使用demo1

设置环境变量:

1Borne shell Korn shell

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_SID=demo1;export ORACLE_SID

2C shell

setenvORACLE_BASE /u01/app/oracle

setenvORACLE_SID demo1

将目录更改为 Oracle 10g软件解压缩到的位置。

例如:

$ cd $HOME/10g_db

将目录更改为 Disk1

例如:

$ cd Disk1

启动 Oracle 通用安装程序。

$./runInstaller

欢迎

单击Next

指定清单目录和证书

如果您一直在依循本指南中的步骤,则使用默认值即可。否则,编辑清单目录的路径,以指向正确目录。

操作系统组名称应为oinstall

如果这是首次在此机器上安装 Oracle,则您将收到一个弹出窗口,提示需要以 root 用户身份运行orainstRoot.sh 脚本。以 root 用户身份登录,更改到窗口中指定的目录,执行该脚本,然后继续操作。

指定文件位置

如果您一直在依循本指南中的步骤,则使用默认值即可。否则,在继续操作前确保源路径和目标路径正确。

选择安装类型

接受默认值 EnterpriseEdition

与特定产品相关的先决条件的检查

如果您一直在依循本指南中的步骤,则所有检查都应顺利通过。如果一个或多个检查失败,则在继续操作前纠正该问题。

选择数据库配置

接受默认值 Create astarter database General Purpose

指定数据库配置选项

输入数据库的全局数据库名称。该名称应包含 ORACLE_SID 和服务器域名(例如,demo1.orademo.org,其中 demo1 ORACLE_SIDorademo.org 是域名)。

输入全局数据库名称时,SID 框将自动填充。

接受默认的数据库字符集。

选择 Createdatabase with sample schemas

选择数据库管理选项

选择 Use DatabaseControl for Database Management

指定数据库文件存储选项

选择FileSystem,然后输入数据库文件要使用的路径名(在本例中为 /u02/oradata)。

指定备份和恢复选项

选择 Do notenable Automated backups

指定数据库模式口令

选择 Use the samepassword for all the accounts

选择一个口令,然后输入两次进行确认。

摘要

显示已安装产品的摘要。

单击 Install

安装

此屏幕历经安装和链接 Oracle 软件的几个阶段。

安装过程结束时弹出一个窗口显示配置信息。记下 EnterpriseManager URL,然后单击OK关闭该窗口。

spacer.gif

弹出一个“SetupPrivileges”窗口,提示需要以 root 用户身份运行配置脚本。以 root 用户身份登录,切换到该窗口中指示的目录,然后执行 root.sh 脚本。该脚本提示输入本地 bin 目录的位置。按Enter键接受默认值。当脚本完成时,返回到 Setup Privileges 窗口并单击OK。(如下所示。)安装结束

记下摘要中显示的 URL,并在准备好时单击Exit

spacer.gif

三、管理ORACLE  10G

一、使用 SQL*Plus 访问数据库

以 oracle 身份登录到 Linux。设置环境。

设置 Oracle 环境变量:

$ exportORACLE_BASE=/u01/app/oracle

$ exportORACLE_SID=demo1

$ exportORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1

$ exportPATH=$PATH:$ORACLE_HOME/bin

运行 SQL*Plus:

$ sqlplus

SQL*Plus:Release 10.1.0.2.0- Production on Sat Jun 5 16:59:21 2004

Copyright (c) 1982,2004, Oracle.All rights reserved.

Enter user-name:/ assysdba

Connected to:

Oracle Database 10g Enterprise Edition Release 10.1.0.2.0- Production

With thePartitioning, OLAP and Data Mining options

SQL>

使用 OracleEnterprise Manager 10g数据库控制

二、在 Web 浏览器中,使用Oracle Enterprise Manager。

例如:http://ds1.orademo.org:5500/em(如果服务器不在 DNS 中,则必须使用 IP 地址代替主机名。)

用户名:SYS
口令:<安装过程中选择的口令>
连接为:SYSDBA

单击<Login>

spacer.gif

启动和停止 OracleEnterprise Manager 数据库控制:

$ emctl startdbconsole

$ emctl stopdbconsole

三、使用 iSQL*Plus 访问数据库

iSQL*Plus 是历史悠久的 SQL*Plus交互式工具的基于 Web 的版本,用于访问数据库。要使用iSQL*Plus,请单击 OEM 控制台 RelatedLinks 部分中的 iSQL*Plus 链接,或将浏览器指向安装过程中提供的 iSQL*Plus URL。

例如:http://ds1.orademo.org:5560/isqlplus(如果数据库服务器不在 DNS 中,则必须使用 IP 地址代替主机名。)

用户名:SYSTEM
口令:<安装过程中选择的口令>

单击<Login>。

在 Workspace 框中输入 SQL 命令,然后单击 Execute

spacer.gif

启动和停止 iSQL*Plus:

$ isqlplusctl start

$ isqlplusctl stop

启动和停止监听器:

监听器接受客户端的连接请求,并在验证证书后创建数据库连接。要使用 OEM 或 iSQL*Plus,必须先启动监听器。

$ lsnrctl start

$ lsnrctl stop

启动和停止数据库:

启动和停止数据库的最简单方法是从 OEM 控制台启动和停止。要从命令行执行此操作,请在以 oracle 身份登录后使用 SQL*Plus,如下所示:

启动:

$ sqlplus

SQL*Plus:Release 10.1.0.2.0- Production on Sun Jun 13 22:27:48 2004

Copyright (c) 1982,2004, Oracle.All rights reserved.

Enter user-name:/ assysdba

Connected to an idleinstance.

SQL> startup

ORACLE instancestarted.

Total System GlobalArea  188743680 bytes

Fixed Size                   778036 bytes

Variable Size             162275532 bytes

Database Buffers           25165824 bytes

Redo Buffers                 524288 bytes

Database mounted.

Database opened.

SQL> exit

Shutdown:

$ sqlplus

SQL*Plus:Release 10.1.0.2.0- Production on Sun Jun 13 22:25:55 2004

Copyright (c) 1982,2004, Oracle.All rights reserved.

Enter user-name:/ assysdba

Connected to:

Oracle Database 10g Enterprise Edition Release 10.1.0.2.0- Production

With thePartitioning, OLAP and Data Mining options

SQL> shutdownimmediate

Database closed.

Database dismounted.

ORACLE instance shutdown.

SQL> exit