作者:empty 出版社:empty |
CentOS6.4 X64安装Oracle11g
CentOS版本:CentOS-6.4-x86_64
Oracle版本:x64_11gR2
在CentOS安装oracle11g比安装oracle10g简单很多,oracle可以不设置比如OS内核参数、防火墙、环境变量等,所以实施时推荐安装oracle11g。
1安装必要的包
使用root登录检查必要的包有没有安装:
安装必要的rpm包:
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 sysstat unixODBC unixODBC-devel ksh
运行上面命令,会检索这些包有没有安装,如果提示没有安装,则安装:
把安装光盘放入光驱,进入到Packages目录:
cd /media/CentOS_6.4_Final/Packages/
安装缺失的包:
rpm -ihv compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
rpm -ihv ksh-20100621-19.el6.x86_64.rpm
安装缺失的包后,再次运行检查命令检查所有包是不是都已安装:
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 sysstat unixODBC unixODBC-devel ksh
2增加用户
用户root登录,增加用户名:oracle
useradd oracle
修改密码:
passwd oracle
3关闭防火墙
/etc/init.d/iptables stop
4修改HOSTS文件
需要修改hosts文件,在后面追加本计算机名,命令如下:
vi /etc/hosts
进入文件后,把光标移动到后面,进入编辑状态先按i:
直接在每行后面追加本计算机名称,因为之前我们安装CentOS时,计算机名为SeNT;
修改完成后,按Esc键退出编辑状态,然后保存退出:
:wq
5安装ORACLE
使用用户oracle登录,上传linux.x64_11gR2_database_1of2.zip及linux.x64_11gR2_database_2of2.zip到/home/oracle目录下:
解压文件,生成database文件夹:
unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
然后在服务器切换为oracle登录,点击CentOS右上角进行切换用户登录:
然后选择oracle用户:
输入密码进行登录:
从这里起,不再使用远程连接工具,直接到CentOS桌面,点击右键,打开终端:
进入到/home/oracle/database :
切换安装环境:
LANG=en
执行安装命令:
./runInstaller
输出日志如下:
然后稍等一会,打开安装图形界面:
把I wish to receive security updates via My Oracle Support勾去掉:
把I wish to receive security updates via My Oracle Support勾去掉,下一步:
选择“Create and configure a database”,下一步:
选择“Server Class”,下一步:
选择“Single instance database installation”,下一步:
选择“Advanced install”
选择“Simplified Chinese”,下一步:
选择“Enterprise Edition”,下一步:
Oracle Base:/home/oracle/app/oracle
Software Location:/home/oracle/app/oracle/product/11.2.0/dbhome_1
下一步:
Inventory Directory:/home/oracle/app/oraInventory
oraInventory Group Name:oracle
下一步:
选择“General Purpose/Transaction Processing”,下一步:
Global database name:feelview
Oracle Service Identifier(SID):feelview
内存设置:
推荐为40%,默认也为40% :
字符集选择为:UTF8
下一步:
启用“Database Control”管理数据库:
Specify database file locatior:/home/oracle/app/oracle/oradata
下一步:
选择“Do not enable automated backups”,下一步:
选择“Use the same password for all accounts”,然后输入统一密码:feelview
下一步:
询问密码没有达到安全要求,是否继续,选择“Yes”:
都选择“oracle”,下一步:
进入包检查:
检查完成后,选择右上角的“Ignore All”,下一步:
下图是oracle设置的一些状态,点击“Finish”进入安装:
进入安装状态:
完成后,弹出如下图的对话框,点击“OK”:
然后又会弹出如下对话框,需要用root用户运行二个脚本文件:
然后在服务器桌面点击右键,再打开一个新的终端,然后输入如下命令切换到root用户:
su – root
然后依次运行这二个脚本文件:
sh /home/oracle/app/oraInventory/orainstRoot.sh
sh /home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
这里要求输入:/usr/local/bin ,直接输入:
然后,点击“OK”:
出现安装成功对话框,点击“Close”退出安装:
至此,oracle安装完成。
6ORACLE环境变量设置
使用oracle登录:
cd ~
vi .bash_profile
在打开的文件后面增加如下内容:
ORACLE_BASE=/home/oracle/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
ORACLE_SID=sent
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
保存退出:
:wq
然后运行命令:
source .bash_profile
7登录ORACLE
使用oracle登录,然后使用如下命令登录:
sqlplus / as sysdba
启动oracle:
startup
退出sqlplus:
quit
启动oracle监听:
lsnrctl start
8创建表空间
使用oracle登录:
进入目录:
cd /home/oracle/app/oracle/oradata
创建目录feel:
mkdir feel
登录sqlplus:
sqlplus / as sysdba
创建名为feel_temp.dbf的临时表空间:
create temporary tablespace feel_temp tempfile'/home/oracle/app/oracle/oradata/feel/feel_temp.dbf' size 1024m autoextend on next 100m extent management local;
创建名为feel.dbf的表空间:
create tablespace feel logging datafile'/home/oracle/app/oracle/oradata/feel/feel.dbf' size 1024m autoextend on next 500m extent management local;
9创建用户并指定表空间
使用oracle登录,然后登录sqlplus:
sqlplus / as sysdba
创建用户名为sent,密码为sent,表空间为feel,临时表空间为feel_temp的用户:
create user feelview identified by feelview default tablespace feel temporary tablespace feel_temp;
对sent进行dba授权:
grant dba to sent;
特别注意:
数据文件可以适当按机器硬盘大小及3个月冠子号数据总量适当增加,否则可能运行一段时间后报oracle表空间不足。
如下面是给feel表空间增加4个数据文件。
alter tablespace feel add datafile '/home/oracle/app/oracle/oradata/feel/feel_01.dbf' size 1024M autoextend on;
alter tablespace feel add datafile '/home/oracle/app/oracle/oradata/feel/feel_02.dbf' size 1024M autoextend on;
alter tablespace feel add datafile '/home/oracle/app/oracle/oradata/feel/feel_03.dbf' size 1024M autoextend on;
alter tablespace feel add datafile '/home/oracle/app/oracle/oradata/feel/feel_04.dbf' size 1024M autoextend on;
10设置ORACLE字符集
使用oracle用户登录:
su – oracle
然后依次执行如下命令,命令执行需要时间,请等待每一条命令执行完成:
sqlplus /nolog
connect / as sysdba
shutdown immediate;
startup mount;
alter system enable restricted session;
alter system set job_queue_processes=0;
alter database open;
alter database character set internal_use utf8;
shutdown immediate;
startup;
启动后,退出:
quit;
11设置ORACLE数据库用户密码无过期限制
oracle11g 数据库用户密码 默认为180,超过180天必须改密码或设为没有限制,否则所有程序将会联不上数据库,以下为解决方案。
使用oracle用户登录:
su – oracle
然后依次执行如下命令:
sqlplus /nolog
connect / as sysdba
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
shutdown immediate;
startup;
启动后,退出:
quit;
12设置ORACLE的JOB_QUEUE_PROCESSES
oracle1数据库用户默认的job_queue_processes为1,会导致定时删除数据库的job失效。以下为解决方案。
使用oracle用户登录:
su – oracle
然后依次执行如下命令:
sqlplus /nolog
connect / as sysdba
ALTER SYSTEM SET job_queue_processes = 40;
shutdown immediate;
startup;
启动后,退出:
quit;
13设置系统字符集环境变量
用oracle用户登录:
su – oracle
cd ~
修改.base_profile文件,在文件后面追加:
export NLS_LANG= SIMPLIFIED CHINESE_CHINA.UTF8
vi .bash_profile
保存退出:
:wq
编译.bash_profile文件:
source .bash_profile
14执行SENT数据库脚本文件
使用用户oracle登录:
su – oracle
创建目录initsql:
mkdir initsql
上传DB_1.1_PR1_b10_oracle.zip文件到initsql目录下:
cd initsql
ll
解压DB_1.1_PR1_b10_oracle.zip:
unzip DB_1.1_PR1_b10_oracle.zip
使用sent用户登录sqlplus:
sqlplus sent/sent@sent
依次执行SeNT脚本文件:
@/home/oracle/initsql/drop.sql
@/home/oracle/initsql/create.sql
@/home/oracle/initsql/create_view.sql
@/home/oracle/initsql/create_CML_SENT_INFOS_HIS.sql
@/home/oracle/initsql/create_CML_SENT_INFOS_HIS_TRIGGER.sql
@/home/oracle/initsql/create_procedure.sql
@/home/oracle/initsql/init.sql
@/home/oracle/initsql/version.sql
15设置SENT的环境变量
使用用户sent登录,把oracle-instantclient-package-linux64-10.2.0.5.0_SeNT.tar.gz上传到目录/home/sent/SeNT下:
解压oracle-instantclient-package-linux64-10.2.0.5.0_SeNT.tar.gz文件生成oracle文件夹,命令如下:
tar -zxvf oracle-instantclient-package-linux64-10.2.0.5.0_SeNT.tar.gz
返回feel根目录,命令如下:
cd ~
打开.bash_profile命令如下:
vi .bash_profile
然后把变量
export ORACLE_HOME=/home/sent/SeNT/oracle
export PATH=$ORACLE_HOME/lib:$PATH:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
追加到.bash_profile后面:
保存退出:
:wq
然后重新编译:
source .bash_profile
16ORACLE自启动
使用oracle用户修改/etc/oratab文件,把feelview:/home/oracle/app/oracle/product/11.2.0/dbhome_1:N改为feelview:/home/oracle/app/oracle/product/11.2.0/dbhome_1:Y ,命令如下:
vi /etc/oratab
修改完成后,保存退出:
:wq
进入oracle安装目录:
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin
修改dbstart文件,找到ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME :
vi dbstart
ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME
保存退出:
:wq
同样,修改dbshut文件:
vi dbshut
ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME
保存退出:
:wq
然后root用户登录,在/etc/init.d/目录下上传oracle文件:
su – root
要求输入密码,输入sentroot,回车;
进入目录/etc/init.d/ :
cd /etc/init.d/
把oracle上传到该目录:
修改运行命令:
chmod 775 /etc/init.d/oracle
chkconfig --add oracle
至此,oracle自启动服务就设置完成了。