下载地址:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
内存要求:
Minimum: 1 GB ofRAM
Recommended: 2 GBof RAM or more
#grep MemTotal /proc/meminfo
查看虚拟内存空间:
安装依赖包:
yum install compat-libcap compat-libstdc++ gcc gcc-c++ glibcglibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstatunixODBC unixODBC-devel binutils -y
修改/etc/hosts
10.1.1.100 oracle(主机名)
修改用户的SHELL的限制
vi /etc/security/limits.conf
oracle soft nproc2047
oracle hard nproc16384
oracle soft nofile1024
oracle hard nofile65536
修改linux内核,修改vi /etc/sysctl.conf文件
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912/4398046511104
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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
保存以后执行 sysctl -p
编辑vi /etc/profile
if [ $SHELL ="/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
创建用户和组:
groupadd oinstall
groupadd dba
useradd -g oinstall-G dba -m oracle
passwd oracle
创建安装目录
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/
chmod -R 755 /u01/app/
配置oracle用户的环境变量,首先,切换到新创建的oracle用户下
suoracle
vi.bash_profile
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ ORACLE_BASE/product/11.2.0/dbhome_1/
ORACLE_SID=devdb
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
export ORACLE_BASE $ORACLE_HOMEORACLE_SID PATH
解压下载上传的oracle 11g r2:
mv /database/ /u01/
chown -Roracle:oinstall /u01/database
cd /u01/database
unziplinux.x64_11gR2_database_1of2.zip
unziplinux.x64_11gR2_database_2of2.zip
执行./runInstaller 出现安装界面如下:
切换到oracle用户:
cd /u01/database/database
./runInstaller
这里本人遇到一个大坑:
问题:执行./runInstaller自检不过,图形化界面有问题。
经过长时间查资料是:
export DISPLAY= 0:0
xhost + #执行此命令返回结果为xhost: unable to open display ""是有错误的。
正确返回结果是acess cronl
解决:关闭所有窗口,只在图形化界面上执行xhost +
这里还有一个坑:
wgethttp://mirror.centos.org/centos/5/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
rpm-ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm #如果报错就卸载以下
rpm -eksh-20120801-33.el6.x86_64
然后再安装就可以了:
rpm -ivhpdksh-5.2.14-37.el5_8.1.x86_64.rpm
oracle自检不过还有一个:
vi /etc/sysctl.conf
kernel.shmmax =1536870912
这个值可以设置的大一点,不然会报错。
Oracle自检swap内存:
dd if=/dev/zeroof=/home/swap bs=1024 count=512000
这样就会创建/home/swap这么一个分区文件。文件的大小是512000个block,一般情况下1个block为1K,所以这里空间是512M。接着再把这个分区变成swap分区。
/sbin/mkswap/home/swap
再接着使用这个swap分区。使其成为有效状态。
/sbin/swapon/home/swap
现在再用free -m命令查看一下内存和swap分区大小,就发现增加了512M的空间了。不过当计算机重启了以后,发现swap还是原来那么大,新的swap没有自动启动,还要手动启动。
那我们需要修改/etc/fstab文件,增加如下一行
/home/swap swap swap defaults 0 0
#end至此就可以安装了!
创建一个监听端口:
netca #弹出一个窗口,然后一路默认即可
创建一个库:
./dbca #开始图形化界面安装oracle库实例
1.更改数据库名字为devdb(和创建环境变量时的sid要一致)
2.更改字符集编码(改为utf-8)
1.这里如果环境变量没有配置好的话执行 ./dbca会出现问题:
cd/data/u01/app/oracle /bin
2.这时打开的图形化安装界面可能是乱码:
export LANG=en_US #更改语言为英文则解决
3.安装时提示错误:
ora-21561 oid generation failed
这是因为/etc/hosts名字和hostnosnam不一致导致,修改即可。
#hostname
oracle-master
vi /etc/hosts
10.1.1.200 oracle-master
配置端口错误:
ORA-00119: invalidspecification for system parameter LOCAL_LISTENER
ORA-00130: invalidlistener address '(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521))'
这是由于/etc/hosts主机名没有对应的ip地址造成的,需要在添加:
vi /etc/hosts
127.0.0.1 oracle
登录数据库测试:
startup #启动数据库实例
shutdownimmediate #关闭数据库实例
select status from v$instance ; #查看oracle数据库实例的启动状态
select name fromv$database; #查看oracle数据库实例名
selectinstance_name from v$instance; #查看实例名
一般分为nomount mount open三种状态,如果为open,说明oracle数据库已经启动。
select open_mode from v$database ;
启动端口监听:lsnrctl start
查看端口监听:lsnrctlstatus
停止端口监听:lsnrctlstop
sqlplus /nolog
Connected to anidle instance. #错误
SQL> startup
SQL> conn /assysdba
Connected.
错误1:
could not openparameter file'/data/u01/app/oracle/product/11.2.0.4/db_1/dbs/initoracleSid.ora'
解决:
cp /u01/app/oracle/admin/darren/pfile/init.ora /u01/app/oracle/product/11.2.0.4/db_1/dbs/initoracleSid.ora
错误2:
ORA-00845:MEMORY_TARGET not supported on this system
解决:mount -t tmpfs shmfs -o size=7g /dev/shm
为了重启依然有效,需要编辑/etc/fstab
shmfs /dev/shmtmpfs size=7g 0
开始oracle网页版em:
emctl status dbconsole #查看em的状态
emctl startdbconsole #开启em
设置oracle开机自启动:
vi/etc/oratab #这里相当于startup
orcl:/u01/app/oracle/product/12.1.0/dbhome_1:N
找到上面一行,把N改为Y,修改完成后,保存退出。
vi /etc/rc.local
suoracle -lc "/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctlstart"
su oracle -c/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
添加如上两行。
或:
echo 'su oracle -lc"/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"' >> /etc/rc.local
echo 'su oracle-lc /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart ' >> /etc/rc.local
错误:
ORACLE_HOME_LISTNERis not SET, unable to auto-start Oracle Net Listener
解决:
vi/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut
找到ORACLE_HOME_LISTNER=$1,修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME
或者:
sed -i's/ORACLE_HOME_LISTNER=$1/ORACLE_HOME_LISTNER=$ORACLE_HOME/g'/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
sed -i's/ORACLE_HOME_LISTNER=$1/ORACLE_HOME_LISTNER=$ORACLE_HOME/g' /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut
创建一个表:
create table student(idinteger,name char(10));
insert into student values(0,’test1’);
查询oracle devdb库中所有的用户:
select username,account_status from dba_users;
为某个用户解锁: