准备工作:
1.关闭Linux的防火墙和SELinux,在/etc/hosts中加入本机IP和主机名;
2.由于oracle10g并没有支持centos7的安装,所以在安装oracle之前首先要配置centos-release文件
vim /etc/centos-release |
将文件内容修改为redhat-4
3.安装oracle的依赖包,按顺序安装时可能有些会安装失败,这是由于他们之间相互依赖造成的,可以在所有的依赖包安装完后再次安装那些失败的依赖即可。
binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-2.5-24 (32 bit) glibc-common-2.5 glibc-devel-2.5 glibc-devel-2.5 (32 bit) glibc-headers-2.5 ksh-20060214 libaio-0.3.106 libaio-0.3.106 (32 bit) libaio-devel-0.3.106 libaio-devel-0.3.106 (32 bit) libgcc-4.1.2 libgcc-4.1.2 (32 bit) libstdc++-4.1.2 libstdc++-4.1.2 (32 bit) libstdc++-devel 4.1.2 make-3.81 sysstat-7.0.2 unixODBC-2.2.14-11.el6 (x86_64) or later unixODBC-2.2.14-11.el6.i686 or later unixODBC-devel-2.2.14-11.el6 (x86_64) or later unixODBC-devel-2.2.14-11.el6.i686 or later libXp |
4.检查安装Oracle的硬件要求:使用命令df –h,检查内存,交换区,硬盘空间等,要求安装目录要大于2G。
5.添加用户组和用户并修改目录权限
groupadd dba useradd -g dba oracle mkdir -p /data/oracle mkdir -p /data/oracle mkdir -p /data/database chown oracle:dba /data/oracle -R chown oracle:dba /data/database -R chown oracle:dba /data |
6.修改环境变量
系统环境变量:在/etc/sysctl.conf文件加入以下配置,并执行/sbin/sysctl -p使之生效。
#use for oracle net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.conf.all.rp_filter = 1 #设置最大打开文件数 fs.file-max = 6815744 fs.aio-max-nr = 1048576 #共享内存的总量,8G内存设置:2097152*4k/1024/1024 kernel.shmall = 2097152 #最大共享内存的段大小 kernel.shmmax = 2147483648 #整个系统共享内存端的最大数 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 #可使用的IPv4端口范围 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max= 4194304 net.core.wmem_default= 262144 net.core.wmem_max= 1048576 vm.hugetlb_shm_group = 1001 |
用户环境变量:编辑 /home/oracle/.bash_profile,在后面追加以下环境变量值
export LANG=zh_CN.UTF-8 export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC export ORACLE_HOME=/data/oracle/product/10g export ORACLE_SID=centos export ORACLE_BASE=/data/oracle export PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/bin:/data/oracle/product/10g/bin export LD_LIBRARY_PATH=/data/oracle/product/10g/lib:/opt/oracle/product/10g/network/lib export CLASSPATH=/data/oracle/product/10g/product/jlib:/data/oracle/product/10g/jlib:/data/oracle/product/10g/jre export ORA_NLS33=/data/oracle/product/10g/ocommon/nls/admin/data export NLS_LANG=AMERICAN_AMERICA.UTF8 export ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH CLASSPATH ORA_NLS33 NLS_LANG export PATH=$PATH:$ORACLE_HOME/bin |
执行如下指令,使其生效:
source /home/oracle/.bash_profile |
7.在vim /etc/security/limits.conf文件行末添加以下内容
# End of file * soft nofile 65536 * hard nofile 65536 * soft nproc 65535 * hard nproc 65535 * soft sigpending 65535 * hard sigpending 65535 |
8.设置Oracle用户的profile文件:使用如下命令,root用户执行
su - root vim /etc/profile |
在profile文件末增加如下内容
#For Oracle if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi |
此外检查该配置文件中的ORACLE_HOME和.bash_profile是否一致。
Oracle安装:
1.上传和解压软件包:oracle10g的基础包:x-10201.cpio.gz
gzip -d x-10201.cpio.gz 解压缩 cpio -idmv < x-10201.cpio 打开包 |
注:在/data/database/中进行解压和打开包
2.配置enterprise.rsp文件:注意,文件里标为
UNIX_GROUP_NAME="dba" ORACLE_HOME="/data/oracle/product/10g" ORACLE_HOME_NAME="OraDbHome1" ORACLE_HOSTNAME="centos" COMPONENT_LANGUAGES={"en","zh_CN"} s_nameForDBAGrp="dba" s_nameForOPERGrp="dba" n_configurationOption=3 |
3.enterprise.rsp文件配置好后,开始oracle的静默安装
./runInstaller -ignoreSysPrereqs -silent -responseFile /data/database/database/response/enterprise.rsp |
注:如果安装过程中出现乱码,可在当前窗口下执行如下指令(仅临时生效)
export LANG=en_US.UTF-8 |
4.使用root用户执行
/data/oracle/oraInventory/orainstRoot.sh /data/oracle/product/10g/root.sh |
5.实例环境的确认
export ORACLE_SID=centos |
6.创建oracle需要的目录
mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/adump mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/bdump mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/cdump mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/dpdump mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/udump mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/pfile |
7.建立密码文件
$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapwcip password=manager force=y |
8.使用oracle用户创建目录
/data/oracle/oradata/flash_recovery_area
/data/oracle/oradata/archlog
9.修改参数initcentos.ora文件
vim /data/oracle/product/10g/dbs/initcentos.ora |
将initcentos.ora配置文件配置如下:
db_name=centos db_block_size= 8192 sga_max_size= 160M control_files=”/data/oracle/oradata/control1.ctl”,”/data/oracle/oradata/control2.ctl”,”/data/oracle/oradata/control3.ctl” undo_management=AUTO undo_tablespace=UNDOTBS1 user_dump_dest=/data/oracle/admin/centos/udump open_cursors=500 processes=20 job_queue_processes=10 db_files =2048 db_recovery_file_dest=/data/oracle/oradata/flash_recovery_area db_recovery_file_dest_size=2048M log_archive_dest_1=”LOCATION=/data/oracle/oradata/archlog” log_archive_format=centos_%t_%s_%r.arch |
10.连接到oralce
sqlplus "/as sysdba" 连接到数据库 startup nomount 启动数据库实例(仅启动实例,并没有mount数据库) |
若使用sqlplus连接数据库出现乱码时,只需在/home/oracle/.bash_profile中修改NLS_LANG即可
export NLS_LANG=AMERICAN_AMERICA.UTF8 |
Startup nomount时的报错:
这种问题一般是/data/oracle/product/10g/dbs/目录下不存在initcentos.ora文件,或者是该文件权限有问题。
a.若是/data/oracle/product/10g/dbs/目录下不存在initcentos.ora文件,则要在/data/oracle/admin/centos/pfile/目录下找到文件init.ora.1242014234024(文件名并不一定相同),将它复制到/data/oracle/product/10g/dbs/目录下并改名为initcentos.ora。
b.若查看initcentos.ora文件权限
后得知是由于文件权限问题,将该文件的所属用户和用户组改为oracle和dba
cd /data/oracle/product/10g/dbs/ ls chown oracle:dba initcentos.ora |
c.关闭oracle实例
SHUTDOWN IMMEDIATE |
11.建库
启动实例后,利用建库脚本创建数据库:
create database centos MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 4 MAXDATAFILES 2048 datafile '/data/oracle/oradata/system01.dbf' size 500M reuse autoextend on next 20M maxsize unlimited sysaux datafile '/data/oracle/oradata/sysaux.dbf' size 200M autoextend on next 20M maxsize unlimited default temporary tablespace temp tempfile '/data/oracle/oradata/temp01.dbf' size 200M reuse autoextend on next 20M maxsize unlimited undo tablespace UNDOTBS1 datafile '/data/oracle/oradata/undotbs1.dbf' size 2048M reuse autoextend off CHARACTER SET ZHS16GBK NATIONAL CHARACTER SET AL16UTF16 logfile group 1 ('/data/oracle/oradata/redo1.log') size 200M reuse,group 2 ('/data/oracle/oradata/redo2.log') size 200M reuse,group 3 ('/data/oracle/oradata/redo3.log') size 200M reuse USER SYS IDENTIFIED BY manager USER SYSTEM IDENTIFIED BY manager; |
12.创建表空间和用户
创建数据表空间
create tablespace centos nologging datafile '/data/oracle/oradata/centos01.dbf' size 512m; |
创建用户
create user centos identified by "centos" default tablespace centos temporary tablespace temp profile DEFAULT quota unlimited on centos; |
授权:
grant dba to centos; |
13.配置监听及启动监听
使用oracle用户执行如下操作:
vim /data/oracle/product/10g/network/admin/samples/listener.ora |
对监听文件配置如下:
LISTENER = (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)) (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)) ) SID_LIST_LISTENER= (SID_LIST= (SID_DESC= #BEQUEATH CONFIG (GLOBAL_DBNAME=salesdb.mycompany) (SID_NAME=sid1) (ORACLE_HOME=/data/oracle/product/10g) #PRESPAWN CONFIG (PRESPAWN_MAX=20) (PRESPAWN_LIST= (PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1)) ) ) ) |
启动监听:
lsnrctl start |
查看监听:
lsnrctl status |
停止监听:
lsnrctl stop |
14.运行数据字典脚本
首先要关闭上次启动的实例,然后再启动实例同时mount数据库
SHUTDOWN IMMEDIATE quit sqlplus “/ as sysdba” startup |
执行数据字典脚本,其中catalog和catproc是必需的,其它可选:
SQL> @/data/oracle/product/10g/rdbms/admin/catalog.sql(建数据字典视图) SQL> @/data/oracle/product/10g/rdbms/admin/catproc.sql(建存储过程包) SQL> @/data/oracle/product/10g/rdbms/admin/catblock.sql(建锁相关的几个视图) SQL> @/data/oracle/product/10g/rdbms/admin/catoctk.sql(建密码工具包dbms_crypto_toolkit) SQL> @/data/oracle/product/10g/rdbms/admin/owminst.plb(建工作空间管理相关对象,如dmbs_wm) |