Chinaunix首页 | 论坛 | 博客
  • 博客访问: 121763
  • 博文数量: 37
  • 博客积分: 2094
  • 博客等级: 大尉
  • 技术积分: 380
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-14 08:39
文章分类
文章存档

2010年(37)

分类: Oracle

2010-03-29 21:22:47

尽管上篇关于oracle10g在RHEL5环境下安装步骤写的很详细,但是对于初学者(当然也包括我啦!呵呵!)来说可能还是不怎么明白,比如修改的每个内核参数的含义、修改oracle用户的每个环境变量的用意等等!
 
这里我对一些安装过程中设置进行简单解释一下(呵呵,可能解释的不够完美哦!)
 
有关内核参数修改:(/etc/sysctl.conf)
kernel.shmmax - 定义共享内存段的最大大小,以字节为单位。默认为32M 
kernel.shmmni - 定义共享内存段的最大数量,缺省4096 
kernel.shmall - 一次能够使用的内存总量,以页为单位,I386平台,linux页大小4K   
shmmin - 最小的共享内存段.
shmseg - 一个进程可分配的最大内存段数.
shmall - 最大可允许的内存数,比SGA还要大.
semmns - 信号量,跟ORACLE的PROCESS数有关.
semmsl - 一个信号量中最大的信号量数.
 
当你将oracle软件安装成功后并且能登录到数据库的时候,我们可以使用SQL语句来查看v$option这个视图,该视图可以很直观的列出该版本数据库所支持的详细功能!
 
上一篇博文中我用的oracle软件版本是10.2.0.1的,该版本默认情况下是不支持在RHEL-5平台上进行安装的,除非修改oracle的内部配置文件(上篇文章提到了具体修改哪个配置文件,不清楚者可以去看上面那篇安装oracle的博文,具体为什么不支持呢?据说是因为oracle的10.2.0.1出生的时候,RHEL-5还在娘胎里呢!具体情况我还真没怎么去关注,有哪位网友知道告诉我一声,给我博客留言或者直接发邮件给我:),但是呢10.2.0.4是完全支持在RHEL-5上面安装的,呵呵!我前面讲了这么多的废话,只是想突出一个重点:oracle软件的升级以及数据库的升级问题!
其实数据库软件的升级问题(传说中的打补丁)也就是oracle数据库软件再次安装,比如我现在从10.2.0.1升级到10.2.0.4  
unzip p6810189_10204_Linux-x86.zip#解压该升级软件包,完后会产生一个Disk1的目录,进入该目录
cd Disk1
./runInstaller#执行该可执行文件即可
 
如果在10.2.0.1已经创建了数据库,则当db软件已升级到10.2.0.4后, 得接着升级数据库!那么如何升级数据库呢?见如下操作:
 
$ sqlplus sys/oracle as sysdba#这里只是用来实验使用,我一般不会这样登录数据库,而是:
$ sqlplus /nolog
SQL> connect / as sysdba;
自我感觉这样登录安全系数要高点!呵呵,下面继续:
SQL> startup upgrade;
SQL> @/opt/oracle/db/rdbms/admin/catupgrd.sql;  ( recreate system tables,procedures ) (about 1 hour)
SQL> shutdown immediate;
SQL> startup;
SQL> @/opt/oracle/db/rdbms/admin/utlrp.sql
(recompile any invalid application objects)
SQL> shutdown immediate;
再次登录:
$ sqlplus sys/oracle as sysdba
SQL> startup;
SQL> select * from v$version;
         10.2.0.4.0
呵呵!数据库升级成功!简单吧!
 
接下来进行几种数据库状态的描述:
 
startup restrict
在数据库启动时进入受限制状态,当要进行如下操作时,必须将数据库置于受限制状态:
1:执行数据导入和导出
2:使用SQL*Loader提取外部数据
3:需要暂时拒绝普通用户访问数据库
4:进行数据库移植或者升级操作
 
shutdown的有关参数:normal、transactional、immediate、abort 缺省情况下不带任何参数时表示是normal
shutdown normal:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件,启动时不需要实例恢复。
 
shutdown transactional:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件,启动时不需要实例恢复。
 
shutdown immediate:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件,没有结束的事务会自动roolback,启动时不需要实例恢复
 
shutdown abort:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件,启动时自动进行实例恢复。
 
下面再来说说几种开启数据库到指定状态的含义:
 
startup open: startup缺省的参数就是open,打开数据库,允许数据库的访问,当前实例的控制文件中所描述的所有文件都已经打开。
 
startup mount: mount数据库,仅仅给DBA进行管理操作,不允许数据库的用户访问,仅仅只是当前实例的控制文件被打开,而数据文件则未打开。
 
startup nomount: 仅仅通过初始化文件,分配出SGA区,启动数据库后台进程,没有打开控制文件和数据文件,不能进行数据库的任何访问。
 
startup pfile=filename: 以filename为初始化文件启动数据库,不是采用缺省初始化文件。
 
startup force: 终止当前数据库的运行,并开始重新正常的启动数据库。
 
startup restrict: 只允许具有restricted session权限的用户访问数据库。
 
startup recover: 数据库启动,并开始介质恢复。
 
好了!今晚就先写到这!明天继续!
 
阅读(1464) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~