写这篇博客的原因:
经常在一些运维开发技术交流群里看到一些人问一些关于Oracle问题(dba新手或者运维新手),但是很少有人回答此类问题。问题:
1.1)截图+这个Oracle报错怎么解决?
1.2)Oracle怎么安装啊?怎么安装失败啊?
1.3 Oracle权限怎么管理啊?Oracle表空间不够了怎么办啊?
...
我也经常碰到此类问题,不是没人回答你,而是此类问题根本不好回答。即使解决了一个,可能接下来的又会出现别的问题,即使你搜了这个报错(可能怎么解决的你都是迷迷糊糊的,执行的什么命令都不知道),最后导致服务都不能起来,报错更是一大堆。而且技术交流群别人给你的建议也仅仅是建议,出现什么后果也没人给你买单。因此,关键还得靠自己。
如果上述问题你也有同感,这篇博客你可以继续了,当然也可不看。
##############################################################
你可以构想一个场景,你老板让你搞Oracle,一无所知的你当时心中该是何等的无语。但是又不得不做,可能就是网上先找一些文档看看,尝试安装,可能自己稀里糊涂的,另外就是一些报错问题,询问一些群,寻求帮助,一切貌似没什么问题,那么我可以很负责的告诉你,Oracle短时间你也吃不消。
这大概就是我今天要写这篇博客的原因。分享一下个人经验,如有什么错误,欢迎老司机指出。大家如果想博主写一些关于Oracle的东西,可以留言或者发私信博主,有时间的话,会详细写一下。
1、Oracle的安装问题(当然也有一些定制的镜像比一步步安装简单多了)
eg:Oracle基本安装环境,版本要求等。而且安装要有图形界面(centos6.x)
Oracle 11g R2数据库安装硬件配置要求:
最小内存 1 GB of RAM grep MemTotal /proc/meminfo
虚拟内存容量:grep SwapTotal /proc/meminfo
硬盘要求:数据库软件硬盘空间需求:
2、依赖环境
安装Oracle依赖包是少不了了,这里给你的意见是系统要最小化安装,准备好你的yum源,
先做实验,写个安装文档,没有熟悉之前,不要搞生产环境。
3、安装过程
安装过程比较简单,只是注意写个记录。最好在word里,自己配置的东西加个截图,不要搞个文本文档(除非是一步步能做出来的,只是我觉得生产文档一般应该是word或者pdf格式),如果是个人研究,可以在有道云笔记做个笔记也可以,看个人而已,只是一定要写文档而已。顺利的话,你应该到这一步是没问题的。
4、创建数据库并启动|停止Oracle服务
一般安装完Oracle的时候,你可以进去控制台启动服务,也可以用dbca创建个数据库,然后再启动,不过启动的时候会遇到一些错误。(此时不要着急,无非是一些参数没有配置好,把你的报错百度或者谷歌搜一下自己解决就行),不要图省事,报错是好事,自己解决,而且要明白为什么报错。
eg:
解决方式:
cp/home/oracle/app/admin/offcms/pfile/init.ora.6212016115627/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora
5、启动|关闭监听端口,并熟悉如何修改默认监听端口
eg:
如果到了这一步,你可以理解安装并启动了Oracle,此时你大概可以理解会基本安装了。
6、Oracle安装的目录结构
eg:
注意:根据自己定义的安装路径,而且不同oracle版本,目录结构也有些许的变化。
7、权限问题(重点)
Oracle权限问题是个说道,这里比较多,需要自己整理一下权限。
eg:
一、权限分类:
系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
二、系统权限管理:
1、系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
2、系统权限授权命令:
[系统权限只能由DBA用户授出:sys,system(最开始只能是这两个用户)]
授权命令:SQL> grant connect, resource, dbato 用户名1 [,用户名2]…;
[普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。]
8、Oracle数据库的表空间创建和管理(授权)(重点)
eg:
创建数据表空间
createtablespace yzhfdb datafile ‘/home/oracle/app/oradata/orcl/yzhfdb.dbf‘ size1024m autoextend on;
createtablespace yzhfdata datafile ‘/home/oracle/app/oradata/orcl/yzhfdata.dbf‘ size2048m autoextend on;
create tablespace tencrwindb datafile ‘/home/oracle/app/oradata/orcl/tencrwindb01.dbf‘size 1024m autoextend on;
创建数据库用户并授权
create useryzhfdata identified by yzhfdata default tablespace yzhfdata;
create useryzhfdb identified by yzhfdb default tablespace yzhfdb;
createdirectory my_dir as ‘/home/oracle/expdp_bak‘; --用于备份还原
grantconnect,resource,dba to yzhfdb;
grantconnect,resource,dba to yzhfdata;
grantread,write on directory my_dir to yzhfdb;
grant read,write on directory my_dir to yzhfdata;
9、数据库的备份和还原(重点)
如果熟悉了自带的命令备份之后可以了解其它备份方式。
10、EM管理
eg:
到了这个步骤你算是会基本管理Oracle了。
11、深入Oracle
日志管理,表空间管理,常见报错管理,主从管理等
12、注意事项和建议
Oracle是个复杂的数据库,并不要指望仅仅会安装配置就行。根据本人的经验,可以买一些书,结合一些视频,生产环境中遇到问题解决问题,不断积累自己。要对生产环境有敬畏之心,数据不要乱搞。注意数据库的备份以及可用性等
今天先写到这里,有什么问题欢迎指出。http://renzhiyuan.blog.51cto.com/