一、安装操作系统
从网络下载redhat6.5,按照dell提供的安装操作系统手册安装操作系统。数据库建议安装英文版本,应用安装中文版本。
二、修改redhat yum源
1.删除redhat原有的yum
rpm -aq|grepyum|xargs rpm -e --nodeps
2.获取新的yum
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-60.el6.centos.noarch.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
3、安装yum软件包
注意:单个的安装包可能会依赖其它包(例如yum和yum-fastestmirror会相互依赖),所以我们可以把所有这些包放在一起,用一行命令将它们同时安装即可:
rpm -ivhpython-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivhyum-metadata-parser-1.1.2-16.el6.x86_64.rpm
rpm-ivh yum-3.2.29-60.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
4.更换yum源。使用163的源
# cd /etc/yum.repos.d/
# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
# vi CentOS6-Base-163.repo
编辑文件,把文件里面的$releasever全部替换为版本号,即6.5最后保存!或者直接把下面的内存拷贝到CentOS6-
--vi 的查找替换 %s/targetString/repalceString/g
5.清除原有缓存
# yum clean all
重建缓存,以提高搜索安装软件的速度
# yum makecache
6.更新系统
# yum update
--以上数据库和应用相关操作一致
三、安装oracle数据库
1、安装必须包
yum -y install \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33*.i686\
elfutils-libelf-devel\
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
pdksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686\
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686\
libXp
2、创建 Oracle 用户与组,设置 oracle 用户密码
# groupadd oinstall
# groupadd dba
# useradd -m -goinstall -G dba oracle
# passwd oracle
3、修改系统内核参数
4、关闭 SELinux
编辑 SELinux 配置文件 vim/etc/selinux/config,将 SELINUX 的值设为 disabled,如下:
SELINUX=disabled;
修改该文件可使重启系统后不启动SELinux。关闭当前已开启的 SELinux 使用如下命令:
setenforce 0
5、 修改主机 HOSTS 文件
检查/etc/hosts 文件中是否有localhost 的记录(指向 127.0.0.1 即可) ,若没有的话,在
后面配置 Oracle监听的时候会出现一些问题,导致无法启动监听。
#vi /etc/hosts
6、创建 Oracle 安装文件夹以及数据存放文件夹
把 oracle 安装在/u01/app/oracle 目录下,所以需创建该目录:
#mkdir -p/u01/app/oracle
#chown -Roracle:oinstall /u01/app/oracle
#chmod 755/u01/app/oracle
安装时数据放在/u01/app/oracle/oradata目录下,所以需创建该目录:
#mkdir -p/u01/app/oracle/oradata
#chown -Roracle:oinstall /u01/app/oracle/oradata
#chmod -R 755/u01/app/oracle/oradata
安装时还需要设置 Inventory 目录,所以需创建该目录:
#mkdir -p/u01/app/oraInventory
#chown -Roracle:oinstall /u01/app/oraInventory
#chmod -R 755/u01/app/oraInventory
设置 ORACLE_HOME 目录
#mkdir -p/u01/app/oracle/product/11.2.0/dbhome_1
#chown -Roracle:oinstall /u01/app/oracle/product/11.2.0/dbhome_1
#chmod -R 755/u01/app/oracle/product/11.2.0/dbhome_1
说明:想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,要使用参数-R
表示启动递归处理。
7、设置 oracle 帐号登录时环境(以下以 oracle 身份登录):
编辑文件 vim/home/oracle/.bash_profile,添加如下行:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASEORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
8、安装oracle数据库
解压缩安装文件
执行该程序开始安装,需要执行export LANG=C 以防止中文乱码。
# chmod -R 755/u01/app/oracle/
#suoracle L
$cd/u01/app/oracle/database
$export LANG=C
$./runInstaller
出现检查过程缺少的包或者选项。本次安装提示缺少2个包,交换空间没有设置。
pdksh包无法使用yum安装,网络下载后上传到系统,手工安装。
在安装pdksh包时,提示和ksh冲突,先卸载ksh包。
重现检查后,下一步。
选择只安装数据库。一直到安装完成。执行完脚本。
9、配置数据库实例
配置监听
安装实例
需要注意的是字符集的选择
完成实例的配置
10、创建EAS数据库用户及表空间
--创建目录
Create directory EXPDP_DUMP as'/home/oracle/ora_bak';
CREATEUSER eas58
IDENTIFIED BY 123456
DEFAULT TABLESPACE EAS_D_eas58_STANDARD
TEMPORARY TABLESPACE EAS_T_eas58_STANDARD
PROFILE DEFAULT
ACCOUNT UNLOCK;
-- 22 System Privileges for eas58
GRANT CREATE VIEW TO eas58;
GRANT DELETE ANY TABLE TO eas58;
GRANT ALTER ANY TABLE TO eas58;
GRANT UNLIMITED TABLESPACE TO eas58;
GRANT ALTER ANY PROCEDURE TO eas58;
GRANT DROP ANY TABLE TO eas58;
GRANT INSERT ANY TABLE TO eas58;
GRANT SELECT ANY DICTIONARY TO eas58;
GRANT CREATE ANY VIEW TO eas58;
GRANT CREATE TRIGGER TO eas58;
GRANT DROP ANY PROCEDURE TO eas58;
GRANT UPDATE ANY TABLE TO eas58;
GRANT CREATE SESSION TO eas58;
GRANT CREATE SEQUENCE TO eas58;
GRANT CREATE ANY INDEX TO eas58;
GRANT CREATE PROCEDURE TO eas58;
GRANT CREATE TABLE TO eas58;
GRANT CREATE ANY PROCEDURE TO eas58;
GRANT DROP ANY VIEW TO eas58;
GRANT DROP ANY INDEX TO eas58;
GRANT SELECT ANY TABLE TO eas58;
GRANT CREATE ANY TABLE TO eas58;
-- 1 Object Privilege foreas58 这个要在目录创建之后再授权
GRANT READ, WRITE ON DIRECTORY SYS.DMPDIRTO eas58;
--创建表空间
--创建文件夹:
mkdir/home/oracle/oradata/orcl/eas58
--更改权限:
cd /home/oracle/oradata/orcl/eas58
chownoracle:oinstall /home/oracle/oradata/orcl/eas58
--sysdba
#su– oracle
$sqlplus/ as sysdba
--创建表空间
CREATEsmallfile TABLESPACE EAS_D_eas58_STANDARD DATAFILE
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_STANDARD01.ora' SIZE 20GAUTOEXTEND ON NEXT 128M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_STANDARD02.ora' SIZE 20GAUTOEXTEND ON NEXT 128M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_STANDARD03.ora' SIZE 20GAUTOEXTEND ON NEXT 128M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_STANDARD04.ora' SIZE 20GAUTOEXTEND ON NEXT 128M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_STANDARD05.ora' SIZE 20GAUTOEXTEND ON NEXT 128M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_STANDARD06.ora' SIZE 20GAUTOEXTEND ON NEXT 128M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_STANDARD07.ora' SIZE 20GAUTOEXTEND ON NEXT 128M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_STANDARD08.ora' SIZE 20GAUTOEXTEND ON NEXT 128M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_STANDARD09.ora' SIZE 20GAUTOEXTEND ON NEXT 128M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_STANDARD10.ora' SIZE 20GAUTOEXTEND ON NEXT 128M MAXSIZE UNLIMITED
LOGGING
ONLINE
PERMANENT
EXTENTMANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE8K
SEGMENTSPACE MANAGEMENT AUTO
FLASHBACKOFF;
--创建临时表空间之一
CREATEsmallfile TABLESPACE EAS_D_eas58_TEMP2 DATAFILE
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_TEMP201.dbf' SIZE 5GAUTOEXTEND ON NEXT 64M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_TEMP202.dbf' SIZE 5GAUTOEXTEND ON NEXT 64M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_D_eas58_TEMP203.dbf' SIZE 5GAUTOEXTEND ON NEXT 64M MAXSIZE UNLIMITED
NOLOGGING
ONLINE
PERMANENT
EXTENTMANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE8K
SEGMENTSPACE MANAGEMENT AUTO
FLASHBACKOFF;
--创建临时表空间之二
CREATEsmallfile TEMPORARY TABLESPACE EAS_T_eas58_STANDARD TEMPFILE
'/home/oracle/oradata/orcl/eas58/EAS_T_eas58_STANDARD01.dbf' SIZE 2GAUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_T_eas58_STANDARD02.dbf' SIZE 2GAUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED,
'/home/oracle/oradata/orcl/eas58/EAS_T_eas58_STANDARD03.dbf' SIZE 2GAUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
TABLESPACEGROUP ''
EXTENTMANAGEMENT LOCAL UNIFORM SIZE 5M;
11、导出正式系统数据 目前数据库数据量在80G左右,整体导出加导入到硬盘需要2个小时左右。最好提前做。
expdp system/***** schemas=eas58 directory=EXPDP_DUMP dumpfile=58com20150505%u.dmp logfile=expdp20150505.log parallel=4 Cluster=n exclude=table:\" like\'VT%\'\",STATISTICS
12、恢复数据到测试系统
impdp system/***** REMAP_SCHEMA=eas58:eas58 REMAP_TABLESPACE=EAS_D_EAS58_STANDARD:EAS_D_eas58_STANDARD,EAS_D_EAS58_TEMP2:EAS_D_eas58_TEMP2,EAS_T_EAS58_STANDARD:EAS_T_eas58_STANDARDdirectory=EXPDP_DUMP dumpfile= 58com20150505%u.dmp logfile= expdp20150505.log parallel=4
--注意:相关目录需要chmod到oracle用户下,否则会报无法找到文件的错误。