Decode360's Blog

业精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  302 随笔 :: 26 文章 :: 82 评论 :: 0 Trackbacks
一、ALTER DATABASE命令
 
 
    1、切换归档类型(ARCHIVELOG/NOARCHIVELOG)
 
    使用归档模式可以执行数据库的:联机备份、大部分数据库文件和表空间的联机恢复以及数据库基于时间点的恢复。
    切换归档类型必须要先把数据库设置为mount状态:
 
    SHUTDOWN IMMEDIATE;
    STARTUP MOUNT;
    ALTER DATABASE ARCHIVELOG/NOARCHIVELOG;
    ALTER DATABASE OPEN;
 
    关于ARCHIVE的参数主要有这些:
 
SQL> show parameter log_archive
 
NAME                                 TYPE        VALUE        DESC
------------------------------------ ----------- ------------ --------------------------
log_archive_dest                     string                   归档日志的目标目录(10个)
log_archive_dest_1                   string                   归档日志的目标目录(10个)
log_archive_dest_state_1             string      enable       归档日志的目标的状态
log_archive_dest_state_2             string      enable       归档日志的目标的状态
log_archive_duplex_dest              string                   归档日志的目标第二个目录
log_archive_format                   string      ARC%S.%T     归档日志文件名格式
log_archive_max_processes            integer     2            系统可以启动ARCHIVE进程的最大数量
log_archive_min_succeed_dest         integer     1            复制成功的日志文件目标目录最小数
log_archive_start                    boolean     FALSE        用于启动数据库ARCHIVE进程
log_archive_trace                    integer     0            设定归档日志的trace级别
 
    可使用ALTER SYSTEM SET ... 来修改参数
 
 
    2、改变数据库状态
 
    SQL> startup nomount;
    ORACLE instance started.
 
    Total System Global Area  135338868 bytes
    Fixed Size                   453492 bytes
    Variable Size             109051904 bytes
    Database Buffers           25165824 bytes
    Redo Buffers                 667648 bytes
 
    SQL> alter database mount;
 
    Database altered.
 
    SQL> alter database open;
 
    Database altered.
 
 
    3、维护日志文件
 
    * 添加日志组
 
    ALTER DATABASE ADD LOGFILE GROUP 5
     ('D:\ORACLE\ORADATA\KAKA\REDO01.LOG',
      'D:\ORACLE\ORADATA\KAKA\REDO02.LOG',
      'D:\ORACLE\ORADATA\KAKA\REDO03.LOG') SIZE 100M;
 
    * 添加日志组成员
 
    ALTER DATABASE ADD LOGFILE MEMBER
     'D:\ORACLE\ORADATA\KAKA\REDO01.LOG' TO GROUP 5;
 
    * 删除日志组
 
    ALTER DATABASE DROP LOGFILE GROUP 1;
 
    * 删除日志组成员
 
    ALTER DATABASE DROP LOGFILE
     MEMBER 'D:\ORACLE\ORADATA\KAKA\REDO01.LOG' ;
 
    注:不能删除最后一个成员,最后一个需要删除整个组来操作
 
 
    4、维护数据文件
 
    SQL> select file_id,tablespace_name,bytes from dba_data_files;
 
       FILE_ID TABLESPACE_NAME                     BYTES
       ------- ------------------------------ ----------
             4 USERS
             3 SYSAUX                         1073741824
             2 UNDOTBS1                      11644436480
             1 SYSTEM                         1073741824
             5 MISORA_TBS                      104857600
             6 MISBI_TBS                     10737418240
 
    SQL> ALTER DATABASE DATAFILE 5 RESIZE 100M;
 
 
    5、控制备份文件
 
    * 创建备份控制文件
 
    ALTER DATABASE BACKUP CONTROLFILE TO 'D:\Oracle\oradata\kaka\ctl_mydb.ctl';
 
    * 创建备份跟踪文件
 
    ALTER DATABASE BACKUP CONTROLFILE TO TRACE; --不能指定地址
 
    注:控制文件最好通过RMAN备份
 
 
    6、管理默认数据库设置(10g)
 
    ALTER DATABASE SET DEFUALT TABLESPACE users; --创建默认表空间
 
    ALTER DATABASE ENABLE/DISABLE BLOCK CHANGE TRACKING; --块交换跟踪
 
    ALTER DATABASE SET DEFUALT BIGFILE TABLESPACE; --修改表空间数据保存类型
 
    ALTER DATABASE FLASHBACK ON; --闪回
 
 
    其他操作....
 
 
 
二、删除数据库
 
 
    关于删除数据库实例的问题,最好的办法就是使用DCBA,没有什么选项,直接选删除就可以了。
 
    但是有的时候不能使用图形界面,要删除数据库大致要做到这些步骤:
 
    删除单个数据库:
 
    1、备份当前数据库
    2、关闭数据库实例
    3、手动删除各类数据库相关文件(数据文件、控制文件、日志文件等)
    4、删除当前实例下的所有文件夹(udump、bdump等)
    5、删除密码文件pwdfile
    6、重新设定oracle_sid
    7、在注册表中删除该实例的服务项
 
 
    删除整个oracle软件:
 
    1、关闭数据库
    2、停止所有数据库相关的服务
    3、使用Universal Installer写在软件
    4、删除oracle目录下所有文件
    5、删除C:\Program Files\Oracle所有文件
    6、删除注册表中所有与oracle相关的项
    7、删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下所有相关服务项
    8、删除环境变量
 
 




-The End-

posted on 2008-11-08 20:23 decode360-3 阅读(182) 评论(0)  编辑  收藏 所属分类: DBA

只有注册用户登录后才能发表评论。


网站导航: