怎么在linux下安装oracle数据库
证系统要求
要验证系统是否满足 Oracle 10g 数据库的最低要求,以 root 用户身份登录并运行以下命令。
要查看可用 RAM 和交换空间大小,运行以下命令:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
例如:
# grep MemTotal /proc/meminfo
MemTotal:512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal:1574360 kB
我用的是redhat
linux,用下面的步骤来启动oracle数据库。
首先使用oracle用户登录linux,然后在shell命令行中执行下面的命令:
第一步:打开oracle监听
$
lsnrctl
start
第二步:进入sqlplus
$
sqlplus
/nolog
sql>
第三步:使用sysdab角色登录sqlplus
sql>
conn
/as
sysdba
第四步:启动数据库
sql>
startup
经过上面的四个步骤,oracle数据库就可以启动了。
方法/步骤
检查硬件是否满足要求
1)确保系统有足够的 RAM 和交换空间大小,运行以下命令:
#grep MemTotal /proc/meminfo
#grepSwapTotal /proc/meminfo
注:所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。
2)确保有足够的磁盘空间。Oracle 10g软件大约需要 25GB 的可用磁盘空间,数据库则另需至少12G的磁盘空间
3)/tmp 目录至少需要 400MB 的可用空间。
要检查系统上的可用磁盘空间,运行以下命令:
#df-h
检查系统是否已安装所需的开发包
使用rpm -qa命令,确保以下包已成功安装。对于包的版本,只有版本高于下面的都可以,如果低于此版本,则要升级处理,如下:
binutils-2159202-13EL4
compat-db-4125-9
compat-libstdc++-296-296-13272
control-center-280-12
gcc-343-221EL4
gcc-c++-343-221EL44
glibc-234-29
glibc-common-234-29
gnome-libs-141290-441
libstdc++-343-221
libstdc++-devel-343-221
make-380-5
pdksh-5214-30
sysstat-505-1
xscreensaver-418-5rhel42
setarch-16-1
libaio-03103-3
创建oracle组和oracle用户
创建用于安装和维护 Oracle 10g软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall(用于软件安装) 和 dba(用于数据库管理)。
#groupadd oinstall
#groupadd dba
#useradd -m -g oinstall -G dba oracle –poracle (p表示添加帐号密码)
创建oracle目录并改变目录权限
现在,创建存储 Oracle 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。
以 root 用户身份执行以下命令:
#mkdir -p /u01/app/oracle # oracle根目录,-p 表示递归建立目录
#mkdir -p /u02/oradata # oracle数据文件存放目录
#chown -R oracle:oinstall /u01
#chown -R oracle:oinstall /u02
#chmod -R 775 /u01
#chmod -R 775 /u02
配置linux内核参数
#vi/etc/sysctlconf,添加如下内容:
kernelshmall = 2097152
kernelshmmax = 2147483648 #此处默认设置为2G,数值一般设为物理内存的40~50%
kernelshmmni = 4096
kernelsem = 250 32000 100 128
fsfile-max = 65536
netipv4ip_local_port_range = 1024 65000
netcorermem_default = 262144
netcorermem_max = 262144
netcorewmem_default = 262144
netcorewmem_max = 262144
完成后,运行以下命令激活更改:
#sysctl–p
注:Linux 内核非常出色。与大多数其他 NIX 系统不同,Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参数更改后不必重新启动系统。Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。
配置oracle用户的shell限制
#vi /etc/security/limitsconf 添加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#vi /etc/pamd/login 添加如下内容:
session required pam_limitsso
导出x图形界面给oracle用户
由于安装时采用的是oracle的OUI图形化界面,需要X支持,而默认oracle用户是不支持图形化 *** 作的,必须以root的身份导出X给oracle用户使用。运行如下命令:
#xhost +
access control disabled,clients can connect from any host
出现以上文字表示导出成功。
oracle用户下执行
121设置环境变量
#su –oracle
$vi bash_profile
加入以下内容:
TMP=/tmp
TMPDIR=$TMP
ORACLE_BASE=/u01/app/oracle #oracle 根目录
ORACLE_HOME=$ORACLE_BASE/product/1020/db_1 #oracle 家目录
ORACLE_SID=orcl #根据实际需要命名
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
PATH=$ORACLE_HOME/bin:$PATH
exportTMP TMPDIR ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
$source bash_profile #使环境变量生效
2、安装 Oracle
21、下载并解压oracle软件
从Oracle网站下载10201_database_linux_x86_32cpiogz到oracle用户家目录下/home/oracle/(也可为其他目录),使用oracle用户登录后,解压此文件:
$startx
$cd /home/oracle
$gunzip 10201_database_linux_x86_64cpiogz
$cpio -idmv <10201_database_linux_x86_64cpio
以上 *** 作将Oracle安装文件解压到database/目录。
(根据下载的包的格式不同,解压出来后的目录格式可能不同。)
22、Oracle OUI进行图形化安装(推荐使用高级安装方式)
切换到database/目录下,运行以下命令:
$cd database
$/runInstaller
检验是否安装成功
数据库正常安装结束后,默认是启动的。以oracle用户身份运行以下命令测试:
$sqlplus/ as sysdba
SQL>selectopen_mode from v$database;
OPEN_MODE
------------------
READ WRITE
若出现以上文字说明数据库正在正常运行。自此,数据库安装成功。
1 设置ORACLE_SID
默认的ORACLE_SID是orcl,我个人强烈建议起个唯一、且意义的名字,比如testdb,proddb等等,在Oracle用户下执行:
export ORACLE_SID=lxdbtest
2 重建PFILE
在$ORACLE_HOME/dbs目录下重建pfile(initORACLE_SIDora,本例为initlxdbtestora),除了以下三个参数,其它参数都可以不用设置(使用默认值):
db_name=lxdbtest
control_files='/home/oracle/app/oradata/lxdbtest/control01ctl','/home/oracle/app/oradata/lxdbtest/control02ctl','/home/oracle/app/oradata/lxdbtest/control03ctl'
memory_target=2G
为了安全起见,控制文件一定要指定多份,在生产库上,要把它们分开放在不同的物理磁盘上,这里因为是测试库,所以才放在同一个磁盘上。
3 启动实例至nomount状态
有了pfile就可以启动实例至nomount状态了:
$ sqlplus / as sysdba
SQLPlus: Release 112010 Production on Thu Jul 25 21:01:16 2013
Copyright (c) 1982, 2009, Oracle All rights reserved
Connected to an idle instance
SQL> startup nomount
ORACLE instance started
Total System Global Area 2137886720 bytes
Fixed Size 2215064 bytes
Variable Size 1224737640 bytes
Database Buffers 905969664 bytes
Redo Buffers 4964352 bytes
SQL>
4 执行CREATE DATABASE语句
CREATE DATABASE lxdbtest
LOGFILE GROUP 1
('/home/oracle/app/oradata/lxdbtest/redo01alog','/data/oradata/lxdbtest/redo01blog')
SIZE 100M BLOCKSIZE 512,
GROUP 2
('/home/oracle/app/oradata/lxdbtest/redo02alog','/data/oradata/lxdbtest/redo02blog')
SIZE 100M BLOCKSIZE 512,
GROUP 3
('/home/oracle/app/oradata/lxdbtest/redo03alog','/data/oradata/lxdbtest/redo03blog')
SIZE 100M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 600
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/home/oracle/app/oradata/lxdbtest/system01dbf' SIZE 2048M REUSE AUTOEXTEND OFF
SYSAUX DATAFILE '/home/oracle/app/oradata/lxdbtest/sysaux01dbf' SIZE 2048M REUSE AUTOEXTEND OFF
DEFAULT TABLESPACE users
DATAFILE '/home/oracle/app/oradata/lxdbtest/users01dbf'
SIZE 2048M REUSE AUTOEXTEND OFF
DEFAULT TEMPORARY TABLESPACE temptbs
TEMPFILE '/home/oracle/app/oradata/lxdbtest/temp01dbf'
SIZE 2048M REUSE AUTOEXTEND OFF
UNDO TABLESPACE undotbs
DATAFILE '/home/oracle/app/oradata/lxdbtest/undotbs01dbf'
SIZE 2048M REUSE AUTOEXTEND OFF;
有几点需要注意:
1)每个日志文件组的日志要放在不同的物理磁盘上,万一有一个磁盘损坏,也不会丢失数据
2)根据需要选择合适的字符集
3)创建了5个基本的表空间:SYSTEM,SYSAUX,默认表空间,默认临时表空间,默认UNDO表空间
5 根据需要创建应用程序所需的表空间
对于关键业务的数据,应该创建单独的表空间给它使用(最好把表和索引分开放在表空间)
SQL> create tablespace p95169tbs
2 datafile '/home/oracle/app/oradata/lxdbtest/p95169tbs01dbf' size 10G,
3 '/home/oracle/app/oradata/lxdbtest/p95169tbs02dbf' size 10G;
Tablespace created
6 构建数据字典视图
@/rdbms/admin/catalogsql
@/rdbms/admin/catprocsql
@/sqlplus/admin/pupbldsql
7 修改system,sys的密码
alter user sys identified by ;
alter user system identified by ;
8 创建SPFILE
SQL> create spfile from pfile;
File created
重启数据库后,将以spfile取代pfile
最后,再顺便说下如何删除数据库。在删除数据库之前,数据库必须是在mount和restricted session状态,具体如下:
SQL> startup mount
SQL> alter system enable restricted session;
System altered
SQL> drop database;
Database dropped
数据库删除成功后,所有的在线日志文件、数据文件都会一并被删除,但归档日志和备份文件不会被删除。
启动oracle数据库步骤:
首先使用oracle用户登录Linux,然后在shell命令行中执行下面的命令:
第一步:打开Oracle监听
$ lsnrctl start
第二步:进入sqlplus
$ sqlplus /nolog
SQL>
第三步:使用sysdab角色登录sqlplus
SQL> conn /as sysdba
第四步:启动数据库
SQL> startup
经过上面的四个步骤,oracle数据库就可以启动了。
关闭数据库用 shutdown 是要等待事物结束才关闭
强制关闭用 shutdown abort
Linux系统下可以用sqlplus命令连接oracle数据库,方法如下:
sqlplus命令语法:
#sqlplus usr/pwd@//host:port/sid
#usr:用户名
#pwd:密码
#host:数据库服务器IP
#port:端口
#sid:数据库标识符
sqlplus命令连接Oracle示例:
[oracle@mzl ~]$ sqlplus risenet/1@//19216813099:1521/risenet
SQLPlus: Release 102010 - Production on Mon Feb 18 15:53:34 2008
Copyright (c) 1982, 2005, Oracle All rights reserved
Connected to:
Oracle9i Enterprise Edition Release 92010 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 92010 - Production
#测试数据库select查询语句
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
risenet OPEN
SQL>
用ssh工具连接linux,按以下步骤 *** 作执行。
1、用oracle用户登录进去。
2、export ORACLE_SID=QS5100J; 指定oracle数据库的instance的名称。“QS5100J”为oracle的sid名称。
3、sqlplus /nolog 连接到数据库的sqlplus中。
4、connect /as sysdba; 出现“Connected to an idle instance”停止连接到数据库的应用。
5、shutdown immediate; 关闭数据库,等待数分钟。
6、startup; 启动数据库。
自动执行:写在sql文件中,用符号“@”引入文件执行。
以下文件可以放sql文件中执行
connect /as sysdba;
shutdown immediate;
startup;
手动执行:手动时一行一行输入执行。
使用SSH工具以root用户登录到数据库服务器后,执行以下命令:
1、启动数据库实例
su – oracle
export ORACLE_SID=QS5100Z QS5100Z为数据库名
sqlplus /nolog
conn / as sysdba
startup
exit
emctl start dbconsole 启动控制台
2、启动数据库监听
输入:su – oracle
输入: lsnrctl start
3、查看是否启动成功
su - oracle
ps -ef|grep oracle
4、查看oracle监听状态
su - oracle
lsnrctl status
以上就是关于怎么在linux下安装oracle数据库全部的内容,包括:怎么在linux下安装oracle数据库、怎么在linux中 *** 作oracle数据库、如何在linux系统下安装oracle数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)