一.安装CentOS
二.安装ora所需的库
三.修改centos内核
四.建用户组和目录结构等
五.安装ora11g2r
六.安装sqlplus的翻页程序和help补丁
七.自启动脚本
八.常用命令
一.安装CentOS 5.2 32bit。
1.内存2G,Swap分区3G (3200M 约为1.5倍 报memory target 错误,调高至4500m 待测)
2.应用程序里,不选择"办公/效率率","游戏和娱乐","视频和音频"
3.开发里,勾选"开发工具",和"开发库" (勾选后,后面提示缺3个包)
4.关闭Selinux和iptables
5.安装vmware增强工具,并将分辨率设置为1024*768
6.加载光驱 mount -r /dev/hdc /media (以只读方式挂载光驱) umount /dev/hdc
二.安装ora所需的库
1.将CentOS安装盘挂载
2.查询包是否安装
rpm -q binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 elfutils-libelf-0.125 elfutils-libelf-devel-0.125 elfutils-libelf-devel-static-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-common-2.5 glibc-devel-2.5 glibc-headers-2.5 kernel-headers-2.6.18 ksh-20060214 libaio-0.3.106 libaio-devel-0.3.106 libgcc-4.1.2 libgomp-4.1.2 libstdc++-4.1.2 libstdc++-devel-4.1.2 make-3.81 sysstat-7.0.2
3.安装库包
缺三个
rpm -ivh compat-libstdc++-33-3.2.3*.rpm libaio-devel-0.3.106*.rpm sysstat-7.0.2*.rpm
4.安装数据库驱动
rpm -q unixODBC-2.2.11 unixODBC-devel-2.2.11
rpm -ivh unixODBC-2.2.11*.rpm unixODBC-devel-2.2.11*.rpm
5.安装包
yum install pdksh
(vim /etc/yum.conf keepcache=1 改为保存下载包 ksh-20100621-18.el5.i386.rpm pdksh-5.2.14-37.el5_8.1.i386.rpm
)
三.修改linux内核
1.修改控制文件
vim /etc/sysctl.conf
kernel.shmmni = 8192
kernel.sem =250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
2.修改许可文件
vim /etc/security/limits.conf
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
3.修改登陆安全文件
vim /etc/pam.d/login
session required pam_limits.so
4.修改selinux(已改,查下)
vim /etc/selinux/config
SELINUX=disabled
5.修改主机名
vim /etc/hosts 删除掉所有其他的条目 只留一条
192.168.7.72 ora.tralinhotel.cn ora
四.建用户组和目录结构等
1.建用户和组,并设置密码
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
useradd -g oinstall -G dba,oper,asmadmin Oracle
passwd oracle
2.建目录结构
mkdir -p /u01/app/oracle/product/11.2.0/
mkdir /u01/oradata
chmod -R 755 /u01
chown -R oracle.oinstall /u01
3.修改环境变量
vim /home/oracle/.bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/
export ORACLE_SID=ora
export PATH=$PATH:$ORACLE_HOME/bin:/usr/local/sbin:/usr/local/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export CLASS_PATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LANG="zh_CN.UTF-8"
export ORACLE_TERM=vt100
if [ $USER = "oracle" ] ; then
if [ $SHELL = "/bin/ksh" ] ; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
4.即时生效
在终端运行 /sbin/sysctl -p
五.安装oracle 11g2r
1.下载ora11g2r
su - oracle
wget ftp://sdgtxuyong:xxxxx@192.168.7.66/tools/database/oracle11/linux_11gR2_database_1of2.zip
wget ftp://sdgtxuyong:xxxxx@192.168.7.66/tools/database/oracle11/linux_11gR2_database_2of2.zip
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
2.到ui界面,用root开启xhost+
xhost +
3.安装ora11g2r
su - oracle
cd database
./runInstaller
4.修改tmpfs的分区大小(提示xx缓冲区太小错误,在centos6下,安装了3次,无报错,但在centos5下,报错)
vim /etc/fstab
tmpfs default,size=6g 0 0
六.安装sqlplus的翻页程序和help补丁
1.sqlplus翻页程序
wget ftp://sdgtxuyong:xxxxx@192.168.7.66/tools/database/oracle11/rlwrap-0.37.tar.gz
tar zxvf rlwrap-0.37.tar.gz
./configure
make && make install
写入用户系统变量
# echo 'alias sqlplus="rlwrap sqlplus"'>> /home/oracle/.bash_profile
2.安装帮助 help 用 system登陆
@?/sqlplus/admin/help/hlpbld.sql helpus.sql
用法:help shutdown
3.证书bug
certutil -setreg chainminRSAPubKeyBitLength 512
七.自启动脚本(###待续)
八.常用命令
sqlplus / as sysdba
1.开启关闭
startup nomount | mount | open
alter database mount | open
shutdown immediate
2.监听服务
lsnrctl
3.开启oem监控命令
emctl start|stop dbconsole
4.用户
创建
create user 用户名 identified by 口令 [account lock|unlock]
解锁
alter user 用户名 account lock|unlock;
授权
grant CONNECT, RESOURCE TO 用户名;
回收
revoke CONNECT, RESOURCE FROM 用户名;
5.查询
查看当前用户的缺省表空间
select username,default_tablespace from user_users;
查看用户下所有的表 select * from user_tables;
查看名称包含log字符的表 select object_name,object_id from user_objects where instr(object_name,'LOG')>0;
查看某表的大小 select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name');
查看表空间的名称及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;
查看表空间物理文件的名称及大小
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
查看控制文件
select name from v$controlfile;
查看日志文件
select member from v$logfile;
查看表空间的使用情况
select sum(bytes)/(1024*1024) as free_space,tablespace_name
from dba_free_space
group by tablespace_name;
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
查看数据库的版本
Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';
查看数据库的创建日期和归档方式
Select Created, Log_Mode, Log_Mode From v$Database;