码迷,mamicode.com
首页 > 数据库 > 详细

oracle-day1

时间:2016-07-31 00:05:19      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:

今天的学习内容是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‘

再次登录就可以使用了

 

oracle-day1

标签:

原文地址:http://www.cnblogs.com/smail-bao/p/5722093.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!