怎么在linux 上安装 oracle
1个回答
2017-01-22 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
硬件资源需要:
至少512 MB物理内存
需1.5倍物理内存的交互空间
至少400 MB /tmp 临时目录空间
oracle软件需要1.5 GB 到 3.5 GB 磁盘空间
默认数据库需要1.2 GB
查看系统资源相关语句:
cat /etc/issue 或 cat /etc/redhat-release 查看操作系统版本
uname -r 查看内核版本
grep MemTotal /proc/meminfo 查看MEM总大小
grep SwapTotal /proc/meminfo 查看Swap总大小
grep "model name" /proc/cpuinfo 查看CPU型号
df 查看分区挂载和使用率
安装前的检查和准备工作:
rpm -q make
rpm -q gcc
rpm -q glibc
rpm -q glibc-devel
rpm -q compat-db
rpm -q compat-gcc
rpm -q compat-gcc-c++
rpm -q compat-libstdc++
rpm -q compat-libstdc++-devel
rpm -q openmotif22
rpm -q setarch
rpm -q libaio
rpm -q libaio-devel
rpm -q libXp-devel
rpm -q libXau-devel
rpm -q libXp
(包没有安装就安装下)
创建数据库安装的准备工作:
1,创建user/group;
groupadd dba
groupadd oinstall
useradd oracle -g oinstall -G dba
(初始组为 oinstall, 附加组 dba 一个是控制软件安装,补丁安装等的;另一个是控制数据库创建,数据库管理等的。可以将两个权限都授权给dba组,只创建dba一个组就可以了)
passwd oracle
如果nobody用户不存在(id nobody命令查看),则创建:
useradd nobody
( 首先nobody是一个普通用户,非特权用户。 使用nobody用户名的目的是,使任何人都可以登录系统,但是其UID和GID不提供任何特权,即该uid和gid只能访问人人皆可读写的文件。其次,许多系统中都按惯例地默认创建一个nobody,尽量限制它的权限至最小,当服务器向外服务时,可能会让client以nobody的身份登录)
2,建立oracle安装文件夹(sample);
mkdir -p /u01/oracle/product/10g
mkdir /u01/oracle/database
chown -R oracle.oinstall /u01/oracle
chmod 755 -R /u01/oracle
3, 配置环境变量;
要使用 Oracle 产品,应该或必须设置几个环境变量。
如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。
ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。
对于数据库服务器,建议设置以下环境变量:
使用Oracle用户登陆:
su - oracle
vi ~/.bash_profile
以下是配置文件的内容
export ORACLE_BASE=/u01/oracle/
export ORACLE_HOME=/u01/oracle/product/10g
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
配置好后用 source .bash_profile 命令使配置生效
4, 设置系统参数;
Oracle 数据库 10g 需要以下所示的内核参数设置。
其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。
su - root
A) 修改/etc/sysctl.conf (vi /etc/sysctl.conf), 添加:
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
修改后运行"/sbin/sysctl -p"命令使得内核改变立即生效;
对每个参数值做个简要的解释和说明。
(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。
(2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。
(3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。
(4)sem:该参数表示设置的信号量。
(5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。
B) 设置oracle对文件的要求:
b.1 编辑文件:vi /etc/security/limits.conf 加入以下语句:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
limits.conf的格式如下:
username|@groupname type resource limit
username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比hard 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
resource:
core - 限制内核文件的大小
date - 最大数据大小
fsize - 最大文件大小
memlock - 最大锁定内存地址空间
nofile - 打开文件的最大数目
rss - 最大持久设置大小
stack - 最大栈大小
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目
b.2 编辑文件:vi /etc/pam.d/login
linux操作系统的登陆配置文件。
session required /lib/security/pam_limits.so
session required /lib/security/pam_limits.so
这是告诉Linux在用户完成系统登录后,应该调用pam_limits.so模块来设置系统对该用户可使用的各种资源数量的最大限制(包括用户可打开的最大文件数限制),而pam_limits.so模块就会从/etc/security/limits.conf文件中读取配置来设置这些限制值。修改完后保存此文件
5.挂载光驱
在虚拟机中选择好oracle 10g ISO文件
mount /dev/hdc /mnt (默认会挂载到/media下,但一定要手动挂载到/mnt下)
将/etc/redhat-release 版本5.4改为3.4
root 用户下执行xhost +
su - oracle
oracle用户下执行/mnt/runInstaller
6、登陆并启动数据库的操作。
[oracle@oracle oracle]$ sqlplus /nolog
SQL> connect / as sysdba
Connected.
SQL> shutdown immediate 关闭数据库 (OR "dbshut" command)
SQL> startup; 启动数据库
7,
alter user scott account unlock;scott用户解锁
alter user scott identified by oracle;scott用户设置密码
grant dba to scott;将dba角色赋予给scott
connect scott/oracle
select table_name from user_tables;
至少512 MB物理内存
需1.5倍物理内存的交互空间
至少400 MB /tmp 临时目录空间
oracle软件需要1.5 GB 到 3.5 GB 磁盘空间
默认数据库需要1.2 GB
查看系统资源相关语句:
cat /etc/issue 或 cat /etc/redhat-release 查看操作系统版本
uname -r 查看内核版本
grep MemTotal /proc/meminfo 查看MEM总大小
grep SwapTotal /proc/meminfo 查看Swap总大小
grep "model name" /proc/cpuinfo 查看CPU型号
df 查看分区挂载和使用率
安装前的检查和准备工作:
rpm -q make
rpm -q gcc
rpm -q glibc
rpm -q glibc-devel
rpm -q compat-db
rpm -q compat-gcc
rpm -q compat-gcc-c++
rpm -q compat-libstdc++
rpm -q compat-libstdc++-devel
rpm -q openmotif22
rpm -q setarch
rpm -q libaio
rpm -q libaio-devel
rpm -q libXp-devel
rpm -q libXau-devel
rpm -q libXp
(包没有安装就安装下)
创建数据库安装的准备工作:
1,创建user/group;
groupadd dba
groupadd oinstall
useradd oracle -g oinstall -G dba
(初始组为 oinstall, 附加组 dba 一个是控制软件安装,补丁安装等的;另一个是控制数据库创建,数据库管理等的。可以将两个权限都授权给dba组,只创建dba一个组就可以了)
passwd oracle
如果nobody用户不存在(id nobody命令查看),则创建:
useradd nobody
( 首先nobody是一个普通用户,非特权用户。 使用nobody用户名的目的是,使任何人都可以登录系统,但是其UID和GID不提供任何特权,即该uid和gid只能访问人人皆可读写的文件。其次,许多系统中都按惯例地默认创建一个nobody,尽量限制它的权限至最小,当服务器向外服务时,可能会让client以nobody的身份登录)
2,建立oracle安装文件夹(sample);
mkdir -p /u01/oracle/product/10g
mkdir /u01/oracle/database
chown -R oracle.oinstall /u01/oracle
chmod 755 -R /u01/oracle
3, 配置环境变量;
要使用 Oracle 产品,应该或必须设置几个环境变量。
如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。
ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。
对于数据库服务器,建议设置以下环境变量:
使用Oracle用户登陆:
su - oracle
vi ~/.bash_profile
以下是配置文件的内容
export ORACLE_BASE=/u01/oracle/
export ORACLE_HOME=/u01/oracle/product/10g
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
配置好后用 source .bash_profile 命令使配置生效
4, 设置系统参数;
Oracle 数据库 10g 需要以下所示的内核参数设置。
其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。
su - root
A) 修改/etc/sysctl.conf (vi /etc/sysctl.conf), 添加:
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
修改后运行"/sbin/sysctl -p"命令使得内核改变立即生效;
对每个参数值做个简要的解释和说明。
(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。
(2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。
(3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。
(4)sem:该参数表示设置的信号量。
(5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。
B) 设置oracle对文件的要求:
b.1 编辑文件:vi /etc/security/limits.conf 加入以下语句:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
limits.conf的格式如下:
username|@groupname type resource limit
username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比hard 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
resource:
core - 限制内核文件的大小
date - 最大数据大小
fsize - 最大文件大小
memlock - 最大锁定内存地址空间
nofile - 打开文件的最大数目
rss - 最大持久设置大小
stack - 最大栈大小
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目
b.2 编辑文件:vi /etc/pam.d/login
linux操作系统的登陆配置文件。
session required /lib/security/pam_limits.so
session required /lib/security/pam_limits.so
这是告诉Linux在用户完成系统登录后,应该调用pam_limits.so模块来设置系统对该用户可使用的各种资源数量的最大限制(包括用户可打开的最大文件数限制),而pam_limits.so模块就会从/etc/security/limits.conf文件中读取配置来设置这些限制值。修改完后保存此文件
5.挂载光驱
在虚拟机中选择好oracle 10g ISO文件
mount /dev/hdc /mnt (默认会挂载到/media下,但一定要手动挂载到/mnt下)
将/etc/redhat-release 版本5.4改为3.4
root 用户下执行xhost +
su - oracle
oracle用户下执行/mnt/runInstaller
6、登陆并启动数据库的操作。
[oracle@oracle oracle]$ sqlplus /nolog
SQL> connect / as sysdba
Connected.
SQL> shutdown immediate 关闭数据库 (OR "dbshut" command)
SQL> startup; 启动数据库
7,
alter user scott account unlock;scott用户解锁
alter user scott identified by oracle;scott用户设置密码
grant dba to scott;将dba角色赋予给scott
connect scott/oracle
select table_name from user_tables;
镭速传输
2024-10-28 广告
2024-10-28 广告
作为深圳市云语科技有限公司的一员,我们推出的FTP替代升级方案,旨在解决传统FTP在安全性、效率、稳定性及管理方面的不足。我们的产品通过采用自主研发的Raysync传输协议,实现高效、安全的文件传输,即使在恶劣网络环境下也能确保传输的稳定性...
点击进入详情页
本回答由镭速传输提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询