Oracle手工建库

Oracle手工建库

     最近几天学习总结一下,手工建库是作为dba必须掌握的一个基本技能,当然一般情况下不一定能用上,但是他能让我门清楚的认识

oracle的目录结构?oracle所必需的文件、理解表空间、认证方式等概念。当然需要自己下工夫去琢磨。当然别忘记一个最重要的事,其

实做这些都是为了让我们能够学会如何规划oracle。当然这是有难度的,慢慢学习吧。

建库之前一定要做好规划:

唯一实例名和库名

字符集

确定参数文件

数据库状态(nomount、mount、open三个阶段:当然要了解清楚这3个阶段都启动了那些文件)

日志

建库

产生数据字典

创建用户表空间。

     注意:以上几点必须掌握。

 创建建数据库cuug,支持中文

1、创建口令文件。

创建口令文件之前我门先来了解一个问题,就是认证方式os和oracle(口令文件),默认情况下,各个平台安装后均是启用操作系统认证的。

也就是说不需要用户名和密码活着任意输入用户名和密码都可以登录。

Oracle手工建库_第1张图片

OS认证:能够登录到操作系统,就能够一管理员身份登录到数据库。

Oracle(口令文件):必须一oracle的管理员账户登录(默认是sys,当然sys授权dba的用户也可以的)。

Oracle为我们提供了一个orapwd工具,我们可以非常方便的使用。口令文放

在$ORACLE_HOME/dbs目录下(我们这里创建了orapwdcuug这个口令文件)

Oracle手工建库_第2张图片

使用orapwd创建口令文件

命令:--orapwdfile=orapwdSID password=密码entries=n  force=y;

                                    Entries用户连接数。

例如:orapwd file=orapwdcuugpassword=oracle entries=3  force=y;

下面是oracle官方的文档如图:

Oracle手工建库_第3张图片

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

查看数据库情况

Oracle手工建库_第4张图片


 

查看表空间情况

Oracle手工建库_第5张图片

查看表空间文件路径

Oracle手工建库_第6张图片

6、这里我们数据库基本创建完毕,但是现在一个问题,我们新建用户的默认表空间是那个表空间---system表空间,这样就影响系统速度了。为了避免这样的结果。我们可以为users另外建立一个表空间,设置为默认用户表空间。

ALTER database default tablespace users;(更改此表空间为用户表默认空间)

基本完毕:如有问题请批评指正。

 

database群:119224876(db china联盟) 虚拟化方面群:229845401(虚拟化-云计算-物联网)

   

你可能感兴趣的:(oracle,数据库,脚本,database,System,buffer)