Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3386470
  • 博文数量: 631
  • 博客积分: 10716
  • 博客等级: 上将
  • 技术积分: 8397
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-01 22:35
文章分类

全部博文(631)

文章存档

2020年(2)

2019年(22)

2018年(4)

2017年(37)

2016年(22)

2015年(1)

2013年(12)

2012年(20)

2011年(19)

2010年(20)

2009年(282)

2008年(190)

分类: LINUX

2008-11-17 14:03:31

二、以oracle用户登录, 进行如下操作

1 配置oracle用户的环境变量
1.1 切换到Oracle用户
# su - oracle
$ cd

1.2 设置环境变量
$ vi .bash_profile (在文件后面添加如下内容)
复制内容到剪贴板
代码:

export ORACLE_BASE=/usr/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=SHDB
export PATH=$PATHHOME/binORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LANG=zh_CN.GBK
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK

1.3 使环境变量生效
$ source .bash_profile

1.4 设置本地字符集类型
$ export LC_CTYPE=en_US.UTF-8

2 开始安装
说明:为了便于后结安装,最好在安装前打开两个shell窗口,1个以root登录,另外1个以oracle登录

2.1 $ ./runInstaller

2.2 根据安装提示进行相应操作,中间需要root执行2个脚本:
# $ORACLE_BASE/oraInventory/orainstRoot.sh
# $ORACLE_HOME/root.sh
说明:把$ORACLE_BASE和$ORACLE_HOME替换成实际的目录即可

2.3 安装过程中,不要选择创建数据库;

其它就没什么了,只须根据提示进行相应操作,直至安装成功。

三、安装过程的问题

1 Q: 执行./runInstaller后,弹不出安装界面,提示如下错误信息:
———————————————————————————————
Xlib: connection to “:0.0″ refused by server
Xlib: No protocol specified
Error: Can’t open display: :0.0

A: 在安装Oracle的机器上,以root身份运行命令:
# xhost localhost:oracle

2 Q:安装时,弹出的界面出现乱码
———————————————————————————————
A:以oracle用户身份,设置本地字符集类型
$ export LC_CTYPE=en_US.UTF-8

3 Q:安装过程中,提示OUI-10066错误:
Not all the dependencies for the component Oracle Database 10g 10.2.0.1.0 could be found.
Missing component oracle.doc 10.2.0.1.0.
———————————————————————————————
A:可能是oracle安装文件没有完全解压缩,重新解压缩一下再安装
注意:若用root解压后,更改其属主为oracle

4 Q:INFO: /bin/sh: /usr/bin/gcc: No such file or directory
……
INFO: cannot stat `ntcontab.o’
INFO: No such file or directory
……
Exception Name: MakefileException
Exception String: Error in invoking target ‘ntcontab.o’ of
makefile ‘/usr/app/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk’
———————————————————————————————
A: 检查Linux系统的所有补丁是否安装,尤其是gcc包,然后再继续安装

四 创建与配置数据库(使用oracle用户登录RHEL)

1 创建数据库
1.1 以oracle用户登录RHEL, 输入:
$ dbca
1.2 在输入数据库SID时, 要注意保持与oracle配置文件的$ORACLE_SID的值一致.
否则,创建完数据库后就启动不了(具体看下节).

2 配置服务名
修改listener.ora
$ vi $ORACLE_HOME/network/admin/tnsname.ora
增加以下内容:
————————————————————————–
# 说明: 把HOST的值设置为你要安装数据库那台机器的IP
SHDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.135.128)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = SHDB)
)
)

3 配置数据库的监听器
3.1 修改listener.ora
$ vi $ORACLE_HOME/network/admin/listener.ora
输入以下内容:
————————————————————————–
# 说明: 把HOST的值设置为你要安装数据库那台机器的IP
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.135.128)(PORT = 1521))
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /usr/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = SHDB)
(ORACLE_HOME = /usr/app/oracle/product/10.2.0/db_1)
)
)

3.2 启动监听器
$ lsnrctl start

4 启动数据库
$ sqlplus / as sysdba
$ startup
若数据库能正常启动, 则配置到此结束

五、配置数据库的问题

1 Q: TNS-01155: Incorrectly specified SID_LIST
NL-00303: syntax error in NV string
———————————————————————————————
A: 可能是profile中设置的sid和你创建的DB的SID不一致

(1) 查看数据库的SID是否与.bash_profile的ORACLE_SID一致
$ echo $ORACLE_SID
$ ls $ORACLE_HOME/dbs/init*.ora

(2) 修改.bash_profile的ORACLE_SID为你创建DB的SID, 然后保存并生效
$ source .bash_profile

(3) 创建pfile
$ sqlplus /nolog
SQL> connect /as sysdba
SQL> create pfile=’/usr/app/oracle/product/10.2.0/db_1/initSHDB.ora’ from spfile=’/usr/app/oracle/product/10.2.0/db_1/dbs/spfileSHDB.ora’;
SQL> startup pfile=’/usr/app/oracle/product/10.2.0/db_1/initSHDB.ora’

SQL> startup nomount pfile=’/usr/app/oracle/product/10.2.0/db_1/initSHDB.ora’

SQL> startup
说明: 把pfile和spfile的路径修改成这两个文件在系统的实际位置即可

2 Q: ORA-01102:cannot mount database in EXCLUSIVE mode
———————————————————————————————
A: 可能是关闭异常,造成数据库已经装载或共享的假象,而造成以下问题:

(1) “lk” and “sgadef.dbf”这两个用于锁内存的文件存在着。
oracle$cd $ORACLE_HOME/dbs
oracle$ls -l sgadef.dbf
* 如果存在删掉它
oracle$rm sgadef.dbf
oracle$ls -l lk
* 如果存在删掉它
oracle$rm lk

(2) pmon、smon、lwgw及dbwr这些后台进程依然存在着
oracle$ps -ef | grep ora_ | grep $ORACLE_SID
* 如果有pmon这些后台进程的残留,kill -9掉它
oracle$kill -9 pid

(3) Oracle开辟的共享内存没有释放掉
① 清共享内存段
oracle$ipcs -m   –显示一下,看owner是Oracle用户的
oracle$ipcrm -m
② 清信号集
oracle$ipcs -s   –显示一下,看owner是Oracle用户的
oracle$ipcrm -s

阅读(1747) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~