关闭

CentOS 6.0安装Oracle 10g R2

标签: oraclecentos数据库databaseoracle10gcharacter
2348人阅读 评论(0) 收藏 举报
分类:

1.查询所需安装包是否完整
系统管理员可以使用rpm -qa | grep rpm_name命令来查询某个软件包是否已经安装,若尚未安装,则可以使用rpm -ihv rpm_name命令安装该软件包。Libaio-devel、unixODBC、unixODBC-devel这三个软件包通常都未安装。
[root@CentOS ~]#rpm -q
binutils
compat-libstdc++-33
elfutils
elfutils-libelf-devel
gcc
gcc-c++
glibc
glibc-common
glibc-devel
glibc-headers
libaio
libaio-devel
libgcc
libstdc++
libstdc++-devel
make
numactl
sysstat
unixODBC
unixODBC-devel
 xorg-x11-proto-devel
 libXau-devel
 libxcb-devel
 libXdmcp-devel
 libX11-devel
 libXpm-devel
 libXext-devel
 libXp
 libXp-devel
如果提示package rpm_name is not installed,只需要挂载CentOS安装光盘,进入到Packages文件夹中,安装相应缺失包即可,如[root@CentOS ~]# rpm -ivh libaio-devel*.rpm
再次运行rpm -qa | grep rpm_name命令,查看包是否全安装好。

2.设置正确的内核参数Kernel Parameter
①将以下参数设置加入到/etc/sysctl.conf末尾中,这样每次操作系统启动时,便会自动设置这些内核参数,而不需要每次都人工设置
[root@CentOS ~]#vi /etc/sysctl.conf
 在文件末尾添加如下参数:
# Kernel Parameters for Oracle Database 10g
fs.file-max = 6553600
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

②因为默认CentOS 6.0不支持10.2.0需修改配置文件,使CentOS 6.0 支持Oracle10g .
[root@CentOS ~]# vi /etc/redhat-release
直接修改内容为 CentOS Linux release 4.0 (Final)
保存后执行[root@CentOS ~]#sysctl –p使/etc/sysctl.conf设置值生效。

3.设置系统资源限制
假设未来由oracle这个系统用户安装Oracle Database 10g,则系统管理员需要将以下参数添加到/etc/security/limits.conf中。
[root@CentOS ~]#vi /etc/security/limits.conf
在文件末尾添加如下参数:
#Add for Install Oracle Database 10g
oraclesoft   nproc   2047
oracle  hard  nproc   16384
oracle  soft   nofile  1024
oracle  hard   nofile  65536

接着,设置/etc/pam.d/login,启动系统资源限制
[root@CentOS ~]#vi /etc/pam.d/login
在文件末尾添加如下参数:
#Add for Install Oracle Database 10g
session    required     /lib/security/pam_limits.so
session    required     pam_limits.so

最后,为了能让用户oracle在每次登录操作系统后,都会自动设置其最大可启动进程数与最多可开户文件数:
[root@CentOS ~]# vi /etc/profile
在文件末尾添加如下参数:
#Add for Install Oracle Database 10g
if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi

4.网络设置
①关闭SELinux:运行命令[root@CentOS ~]#vi /etc/selinux/config 确保以下内容SELINUX=disabled
    ②另外在安装oracle数据库的时候要注意/etc/hosts与/etc/sysconfig/network文件主机名的一致性,否则会在后面运行netca和dbca可能出现错误提示。


5.创建用户组与用户账户
[root@CentOS ~]# groupadd oinstall
[root@CentOS ~]#groupadd dba
[root@CentOS ~]# groupadd oper
[root@CentOS ~]# useradd -g oinstall -G dba,oper oracle
[root@CentOS ~]#passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

6.设置用户环境变量
[root@CentOS ~]#vi /home/oracle/.bash_profile
在文件末尾添加如下参数:
#Add for Install Oracle Database 10g
umask 022
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:$PATH

export PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID

7.设置安装路径
[root@CentOS ~]#mkdir -p -m 775 /u01/app
[root@CentOS ~]#chown -R oracle:oinstall /u01/app

8.安装Oracle Database 10g
注意:要使用非root用户账号安装Oracle数据库,注销root账户以oracle登录。
复制安装文件 到oracle用户主目录(Home Directory)下。

[oracle@CentOS ~]$ unzip 10201_database_linux32.zip//解压安装文件为database
[oracle@CentOS ~]$cd database
[oracle@CentOS ~]$export lang=en_US.UTF-8
[oracle@CentOS database]$ ./runInstaller//执行安装程序文件
正在启动 Oracle Universal Installer...
正在检查安装程序要求...
检查操作系统版本: 必须是redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
通过
所有安装程序要求均已满足。请稍候。。。


弹出安装界面,进行相应设置即可,不再赘述!

 

至此,Oracle成功安装。
 

查看Linux的防火墙设置,默认只允许SSH类型的服务,勾选Telnet、Http等,亦可将防火墙关闭。

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

dbca:数据库配置助理,进行数据库安装、删除和修改。


netca:数据库监听配置管理。


netmgr:数据库网络服务名和监听配置助理。


lsnrctl start:启动数据库监听。


lsnrctl stop:关闭数据库监听。


lsnrctl status:察看数据库监听运行状态。


emctl start dbconsole 启动oracle EM 管理。


emctl stop dbconsole 关闭oracle EM管理。


dbstart:启动数据库。


dbshut:关闭数据库。

 


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

 

 

 


3、创建数据库


到此,oracle安装算是完成了,如果安装时仅安装了软件,没有创建数据库,那么下面就是创建数据库了。


创建数据库也是图形界面,在oracle用户下输入dbca回车,如果安装正确的话会弹出图形界面。(整个过程详见文档《用Oracle_DBA_工具创建新数据库》)


数据库字符集的配置


整个配置过程中,必须对数据库字符集进行配置。没有正确配置的话,数据库中数据会出现乱码。通常可以在dbca配置过程中进行字符集的配置。若你在dbca配置过程中没有正确配置,也可在命令行修改字符集。


1)dbca配置过程中配置


图形界面下,可以一直点下一步进行配置。需要注意的是,在步骤10中,有四个选项,选择字符集,对数据库的字符集进行设置,我们选择的是Simplified Chinese ZHS15GBK。


2)命令行修改


$sqlplus /nolog


SQL> conn / as sysdba;


Connected.


SQL> SHUTDOWN IMMEDIATE;


Database closed.Database dismounted.ORACLE instance shut down.


SQL> STARTUP MOUNT;


ORACLE instance started.Total System Global Area 2147483648 bytes


Fixed Size     


2022144 bytes Variable Size        


 486540544 bytes Database Buffers


1644167168 bytes Redo Buffers   


 14753792 bytes Database mounted


SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;


System altered.


SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;


System altered.


SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;


System altered.


SQL> ALTER DATABASE OPEN;


Database altered.


SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;


Database altered.


SQL> ALTER DATABASE national CHARACTER SET INTERNAL ZHS16GBK;


ALTER DATABASE national CHARACTER SET INTERNAL ZHS16GBK                                       *ERROR at line 1: ORA-00933: SQL command not properly ended


SQL> SHUTDOWN IMMEDIATE;


Database closed.Database dismounted.ORACLE instance shut down.


SQL> STARTUP ORACLE


instance started.Total


 System Global Area


2147483648 bytes Fixed Size      


2022144 bytes Variable Size


486540544 bytes Database Buffers


 1644167168 bytes Redo Buffers


 14753792 bytes Database mounted.


Database opened.


 


 


dbca:数据库配置助理,进行数据库安装、删除和修改。


netca:数据库监听配置管理。


netmgr:数据库网络服务名和监听配置助理。


lsnrctl start:启动数据库监听。


lsnrctl stop:关闭数据库监听。


lsnrctl status:察看数据库监听运行状态。


emctl start dbconsole 启动oracle EM 管理。


emctl stop dbconsole 关闭oracle EM管理。


dbstart:启动数据库。


dbshut:关闭数据库。


 


4、em登陆,添加用户,建表空间


安装好了,如果在linux上登录em,所有的按钮显示的是方框乱码,这时最好是在远程,通过windows IE来登录,当然要把linux上系统-管理-防火强-禁用-应用,不然远程是连不上的。


然后打开IE,工具-选项-语言-添加-英语(美国),并把英语移动到中文上面,应用-确定。


这时通过IE,输入em地址:http://ip/em,可现实英文版的em,无乱码。


 


5、导入数据


imp


Import file: expdat.dmp > /home/ggc/ggc.dmp


Enter insert buffer size (minimum is 8192) 30720> 30720 Export file created by EXPORT:V10.02.01 via conventional path import done in US7ASCII character set and AL16UTF16 NCHAR character set import server uses WE8ISO8859P1 character set (possible charset conversion)export client uses ZHS16GBK character set (possible charset conversion)


List contents of import file only (yes/no): no > no


Ignore create error due to object existence (yes/no): no > no


Import grants (yes/no): yes > yes


Import table data (yes/no): yes > yes


Import entire export file (yes/no): no > yes

 

 

 


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

 

 

 
然后添加Oracle服务:

添加服务程序内容(vim /etc/init.d/oracle)如下:

#!/bin/bash

# chkconfig: 35 51 49
# description: 控制Oracle数据库实例
#
LANG=UTF-8
LC_ALL=en_US
ORACLE_SID=orcl
ORACLE_BASE=/data/oracle/app
ORACLE_HOME=/data/oracle/home
ORACLE_OWNER=oracle
JAVA_HOME=$ORACLE_HOME/jdk
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib

export LANG LC_ALL ORACLE_SID ORACLE_BASE ORACLE_HOME JAVA_HOME PATH LD_LIBRARY_PATH ORACLE_OWNER

case "$1" in
        start)
                echo -n "Starting oracle10g: "
                su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart" &
                su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
                su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"
                su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/isqlplusctl start"
                touch /var/lock/subsys/oracle10g
                echo 'OK .'
        ;;

        stop)
                echo -n "shutting down oracle10g: "
                su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut" &
                su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
                su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
                su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/isqlplusctl stop"
                rm -f /var/lock/subsys/oracle10g
                echo 'OK .'
        ;;

        'restart')
                echo "restart oracle10g"
                $0 stop
                $0 start
        ;;
        *)     
                echo "usage: oracle10g [start|stop|restart]"
                exit 1
        ;;
esac
exit 0

touch /etc/init.d/oracle
chown oracle.oinstall /etc/init.d/oracle
chmod 755 /etc/init.d/oracle
chkconfig oracle reset

su - oracle
mv $ORACLE_HOME/dbs/init.ora $ORACLE_HOME/dbs/init.ora.bak
cp $ORACLE_BASE/admin/orcl/pfile/init.ora.821201018526 $ORACLE_HOME/dbs/init.ora
vim $ORACLE_HOME/bin/dbstart
# 将 ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
# 替换为 ORACLE_HOME_LISTNER=$ORACLE_HOME
OK,到此。你已经可以使用·service oracle [ start | stop | restart ]·来控制Oracle服务了。

不过记得添加到系统启动服务中:

chkconfig --add oracle
chkconfig --list oracle

OK,到这里,安装和基本配置已经完成。

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

登录iSQL*Plus(帐号=system+预设的密码):

 


下面介绍一下手动启动的方法:

启动和停止 Oracle Enterprise Manager 数据库控制:

 
$ emctl start dbconsole
$ emctl stop dbconsole


启动和停止 iSQL*Plus:

$ isqlplusctl start
$ isqlplusctl stop


启动和停止监听器(必须先启动监听器):

$ lsnrctl start
$ lsnrctl stop


启动和停止数据库(务必使用oracle用户):

启动:

$ sqlplus

Enter user-name:/ as sysdba
SQL> startup
SQL> exit


停止:

$ sqlplus
Enter user-name:/ as sysdba
SQL> shutdown immediate
SQL> exit

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:62448次
    • 积分:805
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:2篇
    • 译文:0篇
    • 评论:14条
    文章分类
    最新评论