为了省事,我们直接安装开发者工具:
yum -y groupinstall 'Development Tools'
创建Oracle所需的用户和用户组:
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba oracle
修改Oracle用户密码:Oracle Oracle
上传软件:
Root用户修改上传文件的属主:chown -R Oracle ./
解压文件:unzip -q p10404530_112030_Linux-x86-64_1of7.zip
unzip -q p10404530_112030_Linux-x86-64_2of7.zip
安装依赖包:rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
rpm -ivh flash-plugin-11.2.202.291-release.x86_64.rpm
关闭防火墙并查看防火墙状态:
Service iptables status
修改内核参数:
vi /etc/sysctl.conf
添加
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.panic_on_oops = 1
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 = 1048586
使参数生效:sysctl -p
修改用户限制
vi /etc/security/limits.conf
在文件末尾添加:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
上述值得含义是:
用户 类型 内容(能起几个进程等) 值
为了上述内容在用户登录时生效,还要添加一条:
vi /etc/pam.d/login
在末尾添加:
session required /lib64/security/pam_limits.so
创建oracle安装目录:
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01
chmod -R 755 /u01/app/oracle
chown -R oracle:oinstall /home/oracle
设置环境变量
su - oracle(骚年,懂不懂要细心!!!)
vi .bash_profile
注意一定也不要错:
删除上面的最后两行PATH和export,然后添加一下内容保存:
export EDITOR=vi
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
生效环境变量:
source /home/oracle/.bash_profile
Sync后重新启动机器:reboot
安装远程桌面软件:yum install xorg-x11-xauth,yum install -y xterm
配置oracle运行所需的java环境:
上传软件:
软件解压:tar -xf /usr/local/jdk-8u144linux(这是我的安装路径)
配置环境变量:(配置好后,需重启机器)
export JAVA_HOME=/usr/local/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
启动xstart
效果图:
安装小时钟:
yum install xorg-x11-apps
解决xhost +命令未找到
yum whatprovides "*/xhost"
yum -y install xorg-x11-server-utils-7.7-14.el6.x86_64
创建oracle所需的交换分区:
dd if=/dev/zero of=/swap bs=1M count=4096
mkswap /swap
Swapon /swap
root:xhost +
Oracle:xclock
cd database
./runInstaller
我们没花钱,没有技术支持的,勾掉support password
点击下一步
点击yes,有时会出现下面界面,不出现也正常。
点击下一步
选择单实例
添加中英文
点击默认的企业版
上面是$ORACLE_BASE目录,写/u01/app/oracle
下面是$ORACLE_HOME目录,写/u01/app/oracle/product/11.2.0/db_1
可以cd /u01/app/oracle/product/11.2.0/db_1 看目录存不存在。
点击下一步
这个目录是用来装gc的,点击下一步。
分配组,用上述的,点击下一步。
补包:yum -y install libai*
yum install compat-libstdc++-33*
yum install elfutils-libelf-devel
继续安装
点击完成
弹出脚本页面,大约5分钟。
此时开一个新的终端,就用root用户执行。
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh
第二个脚本敲回车就行。
点击ok
安装完毕。
可以进行dbca建库或手工建库。
手工建库:
su - oracle(骚年,细心,细心,细心)
cd $ORACLE_BASE
或 cd /u01/app/oracle
mkdir oradata
注意权限
建错了 rm -rf 可以删文件夹重建。
在oradata下建目录:
cd oradata
mkdir PROD
骚年注意权限!权限!权限!和组。
ls -l
如果不是755权限以及oracle 以及oinstall组就要改。
总结如下:
644 - rw- r-- r--
700 r代表4 w代表2 x代表1
755 d 代表目录,从第二个开始算 三位一算
777 简单
2-4参数:属于user
5-7参数:属于group
8-10参数:属于others
chown -R oracle:oinstall /u01/app/oracle/oradata/PROD
chmod -R 755 PROD
cd PROD
mkdir disk1 disk2 disk3 disk4 disk5 dump
mkdir –p是连父目录一起创建。
ls -lt
注意调整创建的PROD的读写权限:
chmod 755 disk1 disk2 disk3 disk4 disk5 dump
cd $ORACLE_HOME/dbs
vi initPROD.ora
内容
memory_target=800m
db_name=PROD
control_files='/u01/app/oracle/oradata/PROD/disk1/control01.ctl',
'/u01/app/oracle/oradata/PROD/disk2/control01.ctl',
'/u01/app/oracle/oradata/PROD/disk3/control01.ctl'
undo_management=auto
undo_tablespace=undotbs
diagnostic_dest=/u01/app/oracle/oradata/PROD/dump
要用这个文件启动一下
写到这,已经可以启动实例了。骚年开三个窗口(ORACLE用户),第一个窗口执行
export ORACLE_SID=PROD
sqlplus '/as sysdba'
startup nomount;
show parameter dump
到第三个窗口:
cd /u01/app/oracle/oradata/PROD/dump/diag/rdbms/prod/PROD/trace
tail -f alert_PROD.log
看日志输出。
3修改建库脚本,并建库
CREATE DATABASE PROD
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/PROD/disk1/redo01.log',
'/u01/app/oracle/oradata/PROD/disk2/redo01.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/oradata/PROD/disk1/redo02.log',
'/u01/app/oracle/oradata/PROD/disk2/redo02.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/oradata/PROD/disk1/redo03.log',
'/u01/app/oracle/oradata/PROD/disk2/redo03.log') SIZE 100M BLOCKSIZE 512
CHARACTER SET zhs16gbk
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/PROD/disk3/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/PROD/disk4/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/PROD/disk3/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts
TEMPFILE '/u01/app/oracle/oradata/PROD/disk4/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u01/app/oracle/oradata/PROD/disk5/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
将语句放入处于nomount状态的语句框中。
4 跑脚本
Sql下跑(第一个窗口建库成功后跑)
@?/rdbms/admin/catalog.sql 1分钟
@?/rdbms/admin/catproc.sql 5分钟 这个脚本的输出太多了。
@?/sqlplus/admin/pupbld.sql 不到一分钟
注意最后一个最好以conn system/manager 运行,再切回来。
conn /as sysdba
select instance_name,status from v$instance;
可以配置密码文件
alter user sys identified by oracle;
cd $ORACLE_HOME/dbs 不要写错,童鞋,否则无效。
orapwd file=orapwPROD password=oracle entries=3 force=y
可以测试一下:
sqlplus sys/oracle as sysdba
可以增加参数
在initPROD.ora中添加这些参数有好处。
local_listener='lsnr2'
undo_retention=5400
sessions=300
job_queue_processes=15
shared_server_sessions=200
DISPATCHERS = '(PROTOCOL=TCP)(DISPATCHERS=3)'
max_dispatchers=10
shared_servers=10
max_shared_servers=30
recyclebin=on
processes=150
想创建scott用户
@?/rdbms/admin/utlsampl