Oracle手工建库
最近几天学习总结一下,手工建库是作为dba必须掌握的一个基本技能,当然一般情况下不一定能用上,但是他能让我门清楚的认识
oracle的目录结构?oracle所必需的文件、理解表空间、认证方式等概念。当然需要自己下工夫去琢磨。当然别忘记一个最重要的事,其
实做这些都是为了让我们能够学会如何规划oracle。当然这是有难度的,慢慢学习吧。
唯一实例名和库名
字符集
确定参数文件
数据库状态(nomount、mount、open三个阶段:当然要了解清楚这3个阶段都启动了那些文件)
日志
建库
产生数据字典
创建用户表空间。
注意:以上几点必须掌握。
1、创建口令文件。
创建口令文件之前我门先来了解一个问题,就是认证方式os和oracle(口令文件),默认情况下,各个平台安装后均是启用操作系统认证的。
也就是说不需要用户名和密码活着任意输入用户名和密码都可以登录。
OS认证:能够登录到操作系统,就能够一管理员身份登录到数据库。
Oracle(口令文件):必须一oracle的管理员账户登录(默认是sys,当然sys授权dba的用户也可以的)。
Oracle为我们提供了一个orapwd工具,我们可以非常方便的使用。口令文放
在$ORACLE_HOME/dbs目录下(我们这里创建了orapwdcuug这个口令文件)
使用orapwd创建口令文件
命令:--orapwdfile=orapwdSID password=密码entries=n force=y;
Entries用户连接数。
例如:orapwd file=orapwdcuugpassword=oracle entries=3 force=y;
下面是oracle官方的文档如图:
2、创建pfile文件(到这里参数文件就值得大家去研究一下了,pfile和spfile)。
参数文件放在$ORACLE_HOME/dbs下,oracle给我们参数文件模版initdw.ora,样我们可以利用oracle给我门的模版创建我们需要的参数文件。
使用一下命令:
cp initdw.ora initcuug.ora
vi initcuug.ora (修改一下参数和添加一些参数)
以下下内容需要修改:
db_cache_size=50m
share_pool_size=100m
db_name=cuug
一下内容需要添加:
log_buffer=512000
background_dump_dest=$ORACLE_BASE/admin/cuug/bdump
user_dump_dest=$ORACLE_BASE/admin/cuug/udump
core_dump_dest=$ORACLE_BASE/admin/cuug/cdump
control_files=$ORACLE_BASE/oradata/cuug/control01.ctl
undo_management=auto
undo_tablespace=rtbs(注意undo表空间名字和建库脚本名字一致)
当然我们以上的目录在linux环境下是没有的
--mkdir –p $ORACLE_BASE/admin/cuug/bdump
--mkdir –p $ORACLE_BASE/admin/cuug/udump
--mkdir –p$ORACLE_BASE/admin/cuug/cdump
--mkdir –p $ORACLE_BASE/oradata/cuug/
3、创建库sql脚本
以下是标准教材。
我为cuug写个.sql建库文件
create database cuug
maxlogfiles 10
maxlogmembers 4
maxdatafiles 100
maxinstances 1
maxloghistory 10
controlfile reuse
datafile '/opt/app/oracle/oradata/cuug/system01.dbf'size 300m autoextend on next 10m maxsize 1000m
sysaux datafile'/opt/app/oracle/oradata/cuug/sysaux01.dbf' size 100m
default temporary tablespace temp tempfile'/opt/app/oracle/oradata/cuug/temp01.dbf' size 50m
undo tablespace rtbs datafile'/opt/app/oracle/oradata/cuug/rtbs01.dbf' size 100m
logfile group 1'/opt/app/oracle/oradata/cuug/redo1.log' size 10m,
group2'/opt/app/oracle/oradata/cuug/redo2.log' size 10m
character set zhs16gbk;
4、创建数据库
-export ORACLE_SID=cuug
-env | grep ORACLE_SID
-sqlplus / as sysdba
-startup nomount
-@/opt/app/oracle/admin/cuug/cr_cuug_db.sql
上面的过程我门可以通过
-tail–f $ORACLE_BASE/admin/bdump/alert.log(查看日志)
5、只有执行3个脚本(主要是数据字典)
此时数据库已经是open状态了
此时应更改sys和system密码
Alteruser sys identified by orcl;
Alteruser sys identified by orcl;
分别是
@ORACLE_HOME/rdbms/admin/catalog.sql
@ORACLE_HOME/rdbms/admin/catproc.sql
@ORACLE_HOME/rdbms/admin/catexp.sql
查看数据库情况
查看表空间情况
查看表空间文件路径
6、这里我们数据库基本创建完毕,但是现在一个问题,我们新建用户的默认表空间是那个表空间---system表空间,这样就影响系统速度了。为了避免这样的结果。我们可以为users另外建立一个表空间,设置为默认用户表空间。
ALTER database default tablespace users;(更改此表空间为用户表默认空间)
基本完毕:如有问题请批评指正。
database群:119224876(db china联盟) 虚拟化方面群:229845401(虚拟化-云计算-物联网)