oracle-day1
今天的学习内容是oracle产品的三种安装方式,还有使用dbca静默建库
oracle产品的三种安装方式分别为:
1.图形化(Java向导)安装引导
2.使用应答文件静默安装
3.直接将装好的oracle复制一份放到另一台服务器安装
注意:
方法2和方法3的安装前提是:
配置好oracle安装所需要的前提:
前提为:
修改shell限制
vi /etc/security/limits.conf
-------------------------------------
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
上面的
oracle 为自定义的,随便定义
nofile为文件句柄数
nproc为进程数
修改内核参数
vi /etc/sysctl.conf
---------------------------------------------
kernel.shmmax = 4046471168
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
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
fs.aio-max-nr = 1048576
---------------------------------------------
使内核参数生效
sysctl -p
创建相关的组:
oinstall --> 产品所有者
dba --> 数据库的安全审核
groupadd oinstall
groupadd dba
创建用户
useradd -g oinstall -G dba -m oracle
设置oracle用户的口令:
passwd oracle
创建安装数据库软件的目录:
mkdir -p /u01/app/oracle
chown -R oracle.oinstall /u01/app
修改oracle用户的系统环境变量
su - oracle
vi .bashrc
---------------------------------------------------------
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export ORACLE_TERM=vt100
export THREADS_FLAG=native
export LANG=en_US
---------------------------------------------------------
使环境变量生效:
source .bashrc
还有我们在安装oracle的时候需要提前装一下包。不然后面再装oracle的时候回报错
yum -y install binutils compat-db compat-libstdc++-296 compat-libstdc++-33
control-center gcc gcc-c++ glibc glibc-common libstdc++ libstdc++-devel make
pdksh sysstat xscreensaver setarch libaio libaio-devel libXp elfutils-libelf-devel
上面的包都可以通过yum安装,还有一个就是pdksh 包了,我们从网上下载一下
wget http://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
接下来就是解压软件了。
解压完成以后会有database的目录
修改软件包目录的权限:
chown -R oracle.oinstall database
在root用户下打开普通用户调用Xserver的权利
ssh root@172.25.0.11 -X(root用户下图形连接到虚拟机)
xhost + (打开普通用户调用java画图形)
exit
ssh oracle@172.25.0.11 -X
这样我们就可以在终端使用oracle用户调用图形化了
调用安装程序:
cd ~/database
./runInstaller
接下来就是图形化安装了:
http://www.cnblogs.com/smail-bao/p/oracle.html
在生产上我我们就只安装oracle 的产品,不建库。所以我们install database software only
后面我们在使用dbca的方式建库
我们装到最后的时候会检查一下安装环境,回提示你需要装一些什么,回提示我们少一些c包等,还有pdksh
都给他装上,还有一个提示就是swap的警告,老师说这个不用管它,就是给swap设置成0也是没有问题的
还有撞到最后的时候
save Response File
保存的就是应答文件,这个我们可以使用这个文件使用静默方式来安装
现在我们来说以下静默的安装方式:
我们把之前安装的oracle给卸载掉
卸载oracle软件:
1.停止oem,我在生产一般都不装这个
emctl stop dbconsole db
2.停止监听
lsnrctl stop
3.停止数据库
sqlplus / as sysdba
shut immediate
删除相关文件
rm -fr /u01/app/*
rm -fr /etc/ora*
rm -f /usr/local/bin/corae
rm -f /usr/local/bin/dbhome
rm -f /usr/local/bin/oraenv
这个/usr/local/bin下的文件就是我们在装oracle的时候,我们执行到最后的时候,会让我们用root用户执行两个脚本,就会生成这些文件
cd /database
./runinstaller -silent -ignoreSysPrereqs -respanseFile /home/oracle/db.rsp
名词解释:
silent --->静默方式安装
ignoreSysPrereqs --》忽略系统预校验
-respanseFile --->指定你的应答文件的路径
.rsp ---》就是那个应答文件(这个应答文件不要有数据库,也就是只要oracle产品)
所以这里我们可以第一次装oracle的时候我们只装oracle的产品,然后保存一下应答文件,以后到
别的服务器上安装就快了。就不需要图形化了(不要Java引擎了)
以后在生产上只要修改一下这个应答文件就行了。根据生产需求修改
1.修改OUI安装向导保存的应答文件,指定数据库的初始口令
vim db.rsp
oracle.install.db.config.starterdb.password.ALL=Oracle11g
2.启动安装
cd ~/database
./runInstaller -silent -ignoreSysPrereqs -responseFile /home/oracle/db.rsp
这个时候我们可以top看一下有一个Java进程起来了,占用着大量的CPU
执行到最后的时候也要执行两个脚本,在root下执行后再在这个界面回车
还有最后一种安装方式就是拷贝安装了,我们直切拷贝本机的oracle目录和oraInventory两个目录到别的机器上,或者我们这个把这两个目录保存在一个地方,为了以后可以直接使用(干净的oracle产品,也就是刚刚安装好的oracle)
最后的安装oracle产品的两种方法要注意了,我要配好所有的环境和相关依赖包的安装,这些工作都得提前做好
在生产上提议使用静默安装和图形化安装
接下来要说的就是建库了:
这里我们使用dbca来建库,也有两种方式,一种是图形化,一种是静默方式来安装,图形化网上有很多的教程可以参考,这里我记录一下我是怎么学习静默方式建库的
dbca -silent -createDatabase -templateName /u01/app/oracle/product/11.2.0/db_1/assistants/dbca/templates/General_Purpose.dbc -gdbName orcl -sid orcl -sysPassword oracle -systemPassword oracle -datafileDestination /u01/app/oracle/oradata -characterSet zhs16gbk -nationalCharacterSet al16utf16 -responseFile NO_VALUE
名词解释:
-silent
-createDatabase ---》 建库
-templateName /u01/app/oracle/product/11.2.0/db_1/assistants/dbca/templates/General_Purpose.dbc --->建库的模板(通用的)
-gdbName orcl ---》 库名是什么
-sid orcl -----> 实例名
-sysPassword oracle ---》sys口令
-systemPassword oracle ---》 system口令
-datafileDestination /u01/app/oracle/oradata ----》数据文件的存放位置
-characterSet zhs16gbk -----》数据库字符集的设定,(中文支持)
-nationalCharacterSet al16utf16 -------》国家语言字符集
-responseFile NO_VALUE ---------》应答文件为空
现在库也建好了,那接下来就是看下oracle的一些简单命令和一些设置了
su - oracle
我们通过sqlplus / as sysdba的方式连接数据库
还有一种方式就是
sqlplus / nolog 这个是启动工具,但是不登录
要使用
connect / as sysdba 的方式连接到sysdba超级用户,connect可以缩写成conn
show user; 查看当前是哪个用户登录
sysdba 数据的最高权限拥有者
alter user scott account unlock
给scott的用户解锁
conn scott/tiger
连接到scott,使用tiger密码登录
这个时候会提示密码到期了,oracle默认的密码是180天过期,但是只是给你一个警告,让你换密码,但是即使你不换使用以前的密码也是可以的
这里我们会发现我们登录之后,回退键等按键无法使用,这个时候我们就要装一个rlwrap的东西了
select * from tab;
返回当前用户有哪些表,视图等;
我们使用 sqlplus / as sysdba;登录
然后使用alter user scott account unlock;给scott用户解锁
还有一种情况就是我们在查看表的时候有几种情况看着比较不舒服
一个就是当一行字符比较多的时候就乱行了
还有一种就是一个页面有多行的时候会分页,所以这里我们就要做一些操作
cd /home/oracle
vim login.sql(文件名必须为login.sql)
set linesize 100 设定一行最多可以显示100个字符
set pagesize 100 设置一页做多可以显示一百行
set long 50000
set timing on 在执行完sql之后末尾加上执行时间是多少,做一个时间统计
这个文件我们是保存在/home/oracle目录下的,所以这个美化的功能只可以在/home/oracle目录下连接oracle才能生效,在别的目录下是不生效的,所以我们要给它定义到配置文件中
我们可以查看一下show linesize;
我们也可以在终端设置这个参数,但是退出oracle终端的时候下次登录就没用了,所以我们加一个环境变量
cd /home/oracle
vim .bashrc
添加一行
export SQL_PATH=/home/oracle
source .bashrc
添加这个环境变量的意义就在以后每次不管在任何目录下启动sqlplus,都到/home/oracle下读取login.sql 文件
还有就是我们在使用sqlplus的时候,我们发现回退键以及上下键都不能使用,我们需要装一下rlwrap
装完之后,我们设置一下别名
cd /home/oracle
vim .bash_profile
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
再次登录就可以使用了