Meral
作者Meral·2013-05-29 16:53
数据库管理员·GUOJI

oracle学习笔记之三

字数 5512阅读 1221评论 0赞 0
16.创建和管理DB
在创建DB之前,你要知道创建的目的(OLAP,OLTP等),DB的类型,DB的结构,DB命名规则等。创建之后还可以用data migration assistant来对DB进行升级。
一,一般推荐使用OFA(optimal flexible arch)的一些规则来创建DB,对于初学者很适用。
OFA provides the following benefits:
    Organizes large amounts of complicated software and data on disk to avoid device bottlenecks and poor performance
    Facilitates routine administrative tasks, such as software and data backup functions, which are often vulnerable to data corruption
    Alleviates switching among multiple Oracle databases
    Adequately manages and administers database growth
    Helps to eliminate fragmentation of free space in the data dictionary, isolates other fragmentation, and minimizes resource contention.

二,创建DB:
--创建需要:操作系统账号或者oracle用户账号;足以启动实例的内存;足够的磁盘空间。
--认证方法:操作系统认证与oracle口令文件认证。
创建口令文件:
orapwd file=$ORACLE_HOME/dbs/orapwU15 password=密码(这个参数是设置SYS的密码) entries=数字(允许以SYSDBA或者SYSOPER登陆系统的记录数);
在初始化参数文件里边增加一条记录:REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE;
添加用户至密码文件;
给用户赋权:例:grant sysdba to user
--创建DB的方法:OUI;DBCA;使用命令行。
①DBCA:在当前用户下创建DB:export ORACLE_SID=xxxx,再调用DBCA。
必须注意设置ORACLE_BASE,ORACLE_HOME,ORACLE_SID,ORA_NLS33(DB的字符集),PATH,LD_LIBRIRY_PATH
②手工创建DB:
.确认实例与DB名,SID(不得唱过12个字符,大小写敏感,通常与DB名相同)
.选择DB的认证方式以及权限用户
.选择数据库字符集character set(使之支持想要的语言)
.设置环境变量ORACLE_BASE,ORACLE_HOME,ORACLE_SID,ORA_NLS33,PATH,LD_LIBRIRY_PATH
.设置初始化参数文件(SPFILE/PFILE),很重要。
.启动实例以nomount状态
.执行create DB的命令(create database xxx)
.执行创建创建数据字典等必要。($ORACLE_HOME/rdbms/admin/catalog.sql,catproc.sql,$ORACLE_HOME/sqlplus/admin/pupbld.sql)
 http://docs.oracle.com/cd/B19306_01/server.102/b14237/scripts001.htm#i1005654
.根据需要创建表空间。
.备份DB
创建DB里边比较实用的:
CREATE DATABASE DB名
   USER SYS IDENTIFIED BY 密码(默认change_on_install)
   USER SYSTEM IDENTIFIED BY 密码(默认manager)
   LOGFILE GROUP 1 ('/u01/oracle/oradata/mynewdb/redo01.log') SIZE 100M,
           GROUP 2 ('/u01/oracle/oradata/mynewdb/redo02.log') SIZE 100M,
           GROUP 3 ('/u01/oracle/oradata/mynewdb/redo03.log') SIZE 100M
   MAXLOGFILES 5
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   MAXINSTANCES 1
   CHARACTER SET US7ASCII
   NATIONAL CHARACTER SET AL16UTF16
   DATAFILE '/u01/oracle/oradata/mynewdb/system01.dbf' SIZE 325M REUSE
   EXTENT MANAGEMENT LOCAL
   SYSAUX DATAFILE '/u01/oracle/oradata/mynewdb/sysaux01.dbf' SIZE 325M REUSE
   DEFAULT TABLESPACE tbs_1
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE '/u01/oracle/oradata/mynewdb/temp01.dbf'
      SIZE 20M REUSE
   UNDO TABLESPACE undotbs
      DATAFILE '/u01/oracle/oradata/mynewdb/undotbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;


17.数据字典和动态性能表(DB2里边的系统表类似)
一,动态数据字典:
.数据库的核心部分
.read-only,只读
.存储在system表空间
.被用户SYS拥有
.oracle系统自动维护(DDL执行时)
.可用select访问
.包含基表和视图。基表在create database时创建(调用$ORACLE_HOME/rdbms/admin/sql.bsq),视图在执行$ORACLE_HOME/rdbms/admin/catalog.sql时创建。
.提供了:DB的逻辑和物理结构,数据对象的定义和空间非配,数据完整性的约束,用户和角色信息,特权,审计等的信息。
.比较重要的:概览(DICTIONARY,DICT_COLUMS),模式(DBA_TABLES,DBA_INDEXES,DBA_TAB_COLUMNS,DBA_CONSTRAINS),空间分配  (DBA_SEGMENTS,DBA_EXTENTS),数据结构(DBA_TABLESPACES,DBA_DATA_FILES)

二,静态数据字典
.并不是永远不变的
.分为三类:DBA_XXX(数据库里的所有对象),ALL_XXX(当前用户能够访问的对象),USER_XXX(属于当前用户的对象)

三,动态性能表
.是虚表
.记录数据库的当前活动情况
.随DB活动实时更新
.通常存放在内存和控制文件
.通常被用来监控和调优数据库
.所属者是SYS用户
.synonyms是以V$开头的
.动态性能的表概览select name from V$FIXED_TABLE
.比较重要的动态性能表:V$CONTROLFILE,V$DATABASE,V$DATAFILE,V$INSTANCE,V$PARAMETER,V$SESSION,V$SGA,V$SPPARAMETER,
 V$TABLESPACE,V$THREAD,V$VERSION

四,常用的数据字典:http://blog.sina.com.cn/s/blog_6cc90bfd0100lrf2.html
查看已经分配的表空间大小
SQL> select sum(bytes)/1024/1024 M from dba_segments;

         M
----------
  722.9375

查看已经表空间总大小
SQL> select tablespace_name,sum(bytes)/1024/1024 M from dba_data_files group by tablespace_name;

TABLESPACE          M
---------- ----------
UNDOTBS1          300
SYSAUX            240
USERS               5
SYSTEM            480

查看已经使用的表空间大小
SQL> select tablespace_name,sum(bytes)/1024/1024 M from dba_free_space group by tablespace_name;

TABLESPACE          M
---------- ----------
UNDOTBS1     284.6875
SYSAUX              3
USERS          4.9375
SYSTEM         9.1875


18.数据库的control file学习
.小的二进制文件(最大64M)
.定义了当前数据库的物理状态(一致性)
.保证了DB的完整性
.和一个DB相关联
.丢掉时需要恢复
.大小可以在create database时定义(MAXDATAFILES,MAXLOGFILES,MAXLOGMEMBERS,MAXLOGHISTORY,MAXINSTANCES)
.主要内容有:DB名及其ID,DB创建时间戳,表空间名,datafile和redologfile的位置,当前联机日志序列号,checkpoint的信息,
 redolog的归档信息,DB备份信息,undo segment的开始和结束信息。
.建议将控制文件备份,分配在不同的物理磁盘。虽不是致命的,但是会导致恢复比较困难。
.当CONTROL_FILES设置为多个控制文件时,实例将会读取第一个列出来的。
.一个控制文件被损坏,实例将无法启动。
.查看当前控制文件:show parameter control_files,或者从初始化参数文件里边看。
.(SPFILE)修改控制文件alter system set control_files=xxx;shutdown immediate;cp control01.ctl control04.ctl;startup
.控制文件相关信息的表:V$CONTROLFILE,V$CONTROLFILE_RECORD_SECTION

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

  • RMAN常用命令详解
    评论 0 · 赞 0
  • 什么是RAC集群
    评论 0 · 赞 0
  • RMAN备份类型
    评论 0 · 赞 0
  • oracle clusterware 命令(part1)
    评论 0 · 赞 0
  • oracle clusterware命令(part2)
    评论 0 · 赞 0
  • 相关文章

    相关问题

    相关资料

    X社区推广