您的位置:首页 > 数据库 > Oracle

Oracle笔记之第一天:Oracle 10g在RedHat5下的安装

2011-11-25 17:23 405 查看
1、安装前准备:
检查内存 最少1G free
swap 内存的1.5倍以上 free
tmp临时目录 要求400M以上 df -h
安装空间至少4到5个G,这里建议20个G
2,用户的创建
groupadd dba
groupadd oinstall
useradd oracle -g oinstall -G dba
passwd oracle
3,创建目录
mkdir /u01/oracle/10g -p
mkdir /u01/oracle/database
chown oracle.oinstall /u01/oracle/ -R
chmod 755 /u01/oracle/ -R
4,修改环境变量,注意是改oracle用户的,不是root的
su - oracle
vim .bash_profile

export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=/u01/oracle/10g
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH

source .bash_profile --保存后source一下使之生效,或者exit再su - oracle切换进去
5,修改系统内核参数
# sysctl -a |grep file-max | sed 's/204972/65536/' >> /etc/sysctl.conf

# sysctl -a |grep sem |sed 's/32/100/2' >> /etc/sysctl.conf

# sysctl -a |grep rmem_d |sed 's/110592/262144/' >> /etc/sysctl.conf

# sysctl -a |grep rmem_max |sed 's/131071/262144/' >> /etc/sysctl.conf

# sysctl -a |grep wmem_max |sed 's/131071/262144/' >> /etc/sysctl.conf

# sysctl -a |grep wmem_d |sed 's/110592/262144/' >> /etc/sysctl.conf

# sysctl -a |grep ip_local |sed -e 's/32768/1024/' -e 's/61/65/' >> /etc/sysctl.conf

或者直接写到/etc/sysctl.conf
fs.file-max = 65536
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
net.core.wmem_default = 262144
net.ipv4.ip_local_port_range = 1024 65000

sysctl -p 使之生效

6,修改pam的limit限制
# vim /etc/pam.d/login

session required pam_limits.so --加上一句

# vim /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

7,解压10g安装包
# unzip /share/soft/oracle/10201_database_linux32.zip -d /u01/oracle/database/
[oracle@li database]$ ./runInstaller --安装
[oracle@li ~]$ cd /u01/oracle/database/database/
错误一:
libXp.so.6: cannot open shared object file: No such file or directory
有此报错,要先安装libXp包
[root@li ~]# yum install libXp -y
错误二:
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
这是因为普通用户oracle没有打开图形的权限,所以要用root用户xhost + 授权
[root@li /]# xhost +
错误三:
安装界面乱码
换英文环境
export LANG=en
OUI-10030 此警告是临时目录是非空,第二次安装会报此警告,直接按yes过去
然后主要是要保证所有的都是succecced
然后用root用户运行下面的两个脚本
[root@li ~]# /u01/oracle/10g/root.sh
[root@li ~]# /u01/oracle/oraInventory/orainstRoot.sh --注意此脚本是拷了三个文件,并创建了一个/etc/oratab
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...
最后一个界面是下面的信息:
The following J2EE Applications have been deployed and are accessible at the URLs listed below.
iSQL*Plus URL: http://li.cluster.com:5560/isqlplus iSQL*Plus DBA URL: http://li.cluster.com:5560/isqlplus/dba Enterprise Manager 10g Database Control URL: http://li.cluster.com:1158/em 使用firefox登录本机的isqlplus http://10.1.1.35:5560/isqlplus/ 安装完后
ps -ef |grep ora_ 查看进程就知道是否启动了
[oracle@li ~]$ sqlplus "/as sysdba" --这样去登录
[oracle@li ~]$ sqlplus / as sysdba --或者这样登录
--上面的命令登录没有使用用户名和密码,是因为使用的是系统验证
安装三个软件包,使oracle支持上下翻页,和命令历史记录,自动补全等功能
[root@li ~]# tar xvf /share/soft/oracle/IO-Tty-1.07.tar.gz -C /u01/oracle/
[root@li ~]# tar xvf /share/soft/oracle/Term-ReadLine-Gnu-1.16.tar.gz -C /u01/oracle/
[root@li ~]# tar xvf /share/soft/oracle/uniread-1.01.tar.gz -C /u01/oracle/
[root@li ~]# cd /u01/oracle/IO-Tty-1.07/
[root@li IO-Tty-1.07]# perl Makefile.PL ;make ;make install
[root@li IO-Tty-1.07]# cd /u01/oracle/Term-ReadLine-Gnu-1.16/
[root@li Term-ReadLine-Gnu-1.16]# perl Makefile.PL ;make ;make install
[root@li Term-ReadLine-Gnu-1.16]# cd /u01/oracle/uniread-1.01/
[root@li uniread-1.01]# perl Makefile.PL ;make ;make install
[oracle@li ~]$ uniread sqlplus / as sysdba --这样登录就可以使用uniread的功能了,也可以使用在ftp,让ftp有这个功能
如果觉得不方便,把uniread sqlplus做一个别名

vim .bashrc

alias sql="uniread sqlplus"

source .bashrc

再登录数据库时,使用sql / as sysdba

---------------------------------------------------------------------

使用dbca创建库

[oracle@li ~]$ ls /u01/oracle/10g/assistants/dbca/templates/
Data_Warehouse.dbc General_Purpose.dbc Seed_Database.dfb
example01.dfb New_Database.dbt Transaction_Processing.dbc
example.dmp Seed_Database.ctl

[oracle@li ~]$ ls /u01/oracle/admin/upl/scripts/
cloneDBCreation.sql inituplTemp.ora rmanRestoreDatafiles.sql
CloneRmanRestore.sql postDBCreation.sql upl.sh
init.ora postScripts.sql upl.sql

[oracle@li 10g]$ export ORACLE_SID=upl --换sid为upl
[oracle@li 10g]$ uniread sqlplus / as sysdba --再次登录

SQL> select name from v$database; --默认就登录到了upl这个库

NAME
---------
UPL

SQL> startup --启动

SQL> shutdown immediate --关闭

---------------------------------------------------------------

删除库的方法:
使用dbca去删除

删除oracle软件的方法:
rm /etc/oraInst.loc

rm /etc/oratab
rm /usr/local/bin/coraenv

rm /usr/local/bin/dbhome

rm /usr/local/bin/oraenv

rm -rf /u01/oracle/

--------------------------------------------------------------------

数据库安装完后,几个重要的目录介绍

ls $ORACLE_HOME/bin --工具全在这里,包括sqlplus

ls $ORACLE_HOME/dbs --参数文件,spfile,pfile,密码文件

ls $ORACLE_HOME/network/admin/ --监听文件

ls $ORACLE_BASE/oradata --默认的数据文件,控制文件,redo日志的路径

ls $ORACLE_BASE/admin --dump目录,包括告警日志

监听的配置:
[oracle@li 10g]$ vim /u01/oracle/10g/network/admin/listener.ora

--这个文件不用改
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/oracle/10g)
(PROGRAM = extproc)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = li.cluster.com)(PORT = 1521)) --服务器的主机名,可以使用ip,端口为1521
)
)

[oracle@li 10g]$ vim /u01/oracle/10g/network/admin/tnsnames.ora

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = li.cluster.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

比如我要连接142的orcl这个库,在我的tnsname.ora文件里加上下面一段

o142 = --自定义一个连接名
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.142)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

lsnrctl stop
lsnrctl start
[oracle@li 10g]$ sqlplus sys/oracle@o142 as sysdba 这样去连接142的orcl库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: