dg管理常用命令 oracle_oracle dg维护命令 - CSDN
精华内容
参与话题
  • 使用 ASMCMD 工具管理ASM目录及文件

    千次阅读 2012-06-04 12:30:01
    在ASM实例中,所有的存储于ASM磁盘组中的文件对于...ASMCMD工具提供了类似于操作系统的常用命令,如ls , du ,find ,cd ,rm ,mkdir等等。借助这些工具可以更轻松的完成ASM实例的相关管理工作。  有关ASM的相关

        在ASM实例中,所有的存储于ASM磁盘组中的文件对于操作系统命令而言是不可访问的,因此也无法使用常规的命令来操纵ASM磁盘中的文

    件。所幸的是,我们有ASMCMD工具来代替操作系统命令来完成这部分工作。ASMCMD工具提供了类似于操作系统的常用命令,如ls , du ,find

    ,cd ,rm ,mkdir等等。借助这些工具可以更轻松的完成ASM实例的相关管理工作。

        有关ASM的相关参考:

           创建ASM实例及ASM数据库

            ASM 磁盘、目录的管理

    1,登陆ASMCMD

    [oracle@rac1 ~]$ 
    [oracle@rac1 ~]$ env|grep ORACLE_
    ORACLE_SID=+ASM1
    ORACLE_BASE=/product/app/oracle
    ORACLE_TERM=xterm
    ORACLE_HOME=/product/app/oracle/product/10.2.0/db_1
    [oracle@rac1 ~]$export ORACLE_SID=+ASM1    --启动前要设定ORACLE_SID环境变量
    [oracle@rac1 ~]$asmcmd
    ASMCMD> help
               asmcmd [-p] [command]        --该方式可以直接完成相应的功能而不需要进入到ASMCMD提示符下
     
               The environment variables ORACLE_HOME and ORACLE_SID determine the
               instance to which the program connects, and ASMCMD establishes a
               bequeath connection to it, in the same manner as a SQLPLUS / AS
               SYSDBA.  The user must be a member of the SYSDBA group.
     
               Specifying the -p option allows the current directory to be displayed
               in the command prompt, like so:
     
               ASMCMD [+DATAFILE/ORCL/CONTROLFILE] >
     
               [command] specifies one of the following commands, along with its
               parameters.
     
               Type "help [command]" to get help on a specific ASMCMD command.
                                          --在asmcmd命令提示符下,输入help [命令] ,则显示该命令帮助信息
               commands:
               --------
               cd
               du
               find
               help
               ls
               lsct
               lsdg
               mkalias
               mkdir
               pwd
               rm
               rmalias

    2,具体用法

        [oracle@rac1 ~]$ asmcmd -p ls -l       --无需进入到ASMCMD命令提示符下完成相应的功能
        State    Type    Rebal  Unbal  Name
        MOUNTED  NORMAL  N      N      DG1/
        MOUNTED  NORMAL  N      N      DG2/
        MOUNTED  EXTERN  N      N      REV/
       
        ASMCMD> ls -l                         --查看磁盘组的基本信息
        State    Type    Rebal  Unbal  Name
        MOUNTED  NORMAL  N      N      DG1/
        MOUNTED  NORMAL  N      N      DG2/
        MOUNTED  EXTERN  N      N      REV/
       
        ASMCMD> ls -s                         --查看磁盘组的详细信息,如磁盘大小,可用空间,扇区大小等
        Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Name
           512   4096  1048576      3058     1498                0             749              0  DG1/
           512   4096  1048576       200       98                0              49              0  DG2/
           512   4096  1048576      3074     2949                0            2949              0  REV/
          
        ASMCMD> du                            --查看当前目录磁盘已使用的容量
        Used_MB      Mirror_used_MB
           804                1541
          
        ASMCMD> pwd                           --显示当前路径
        +
        ASMCMD> cd +DG1
        ASMCMD> pwd
        +DG1
        ASMCMD> du
        Used_MB      Mirror_used_MB
           732                1469  
          
        ASMCMD> find -t datafile +DG1/asmdb sys*    --find 用于查找对象
        +DG1/asmdb/DATAFILE/SYSAUX.261.734885459
        +DG1/asmdb/DATAFILE/SYSTEM.259.734885389
     
        ASMCMD> ls -l +DG1/asmdb
        Type           Redund  Striped  Time             Sys  Name
                                                   Y    CONTROLFILE/
                                                   Y    DATAFILE/
                                                   Y    ONLINELOG/
                                                   Y    PARAMETERFILE/
                                                   Y    TEMPFILE/
                                                   N    spfileasmdb.ora => +DG1/ASMDB/PARAMETERFILE/spfile.264.734886407
     
        ASMCMD> ls -l +DG1/asmdb/spfi*
        Type           Redund  Striped  Time             Sys  Name
                                                   N    spfileasmdb.ora => +DG1/ASMDB/PARAMETERFILE/spfile.264.734886407
     
        ASMCMD> pwd
        +DG1
       
        ASMCMD> cd asmdb        --cd 命令改变当前目录
        ASMCMD> pwd
        +DG1/asmdb
       
        ASMCMD> ls
        CONTROLFILE/
        DATAFILE/
        ONLINELOG/
        PARAMETERFILE/
        TEMPFILE/
        spfileasmdb.ora
     
        ASMCMD> lsdg
        State    Type    Rebal  Unbal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Name
        MOUNTED  NORMAL  N      N         512   4096  1048576      3058     1498                0             749             0  DG1/
        MOUNTED  NORMAL  N      N         512   4096  1048576       200       98                0              49              0  DG2/
        MOUNTED  EXTERN  N      N         512   4096  1048576      3074     2949                0            2949             0  REV/
     
        ASMCMD> mkdir +DG2/asmdb/bakfile       --mkdir 创建目录
        ASMCMD> ls -l +DG2/asmdb/bakfile
        ASMCMD> rm +DG2/asmdb/bakfile          --rm 删除目录
        ASMCMD> ls -l +DG2/asmdb/bakfile
        asmcmd: entry 'bakfile' does not exist in directory '+DG2/asmdb/'                          
     
        ASMCMD> exit                               --退出asmcmd命令行

    3.注意

    11gasmcmd还提供新特性,cp命令。但是OracleASM从设计上就不是可以存放任何东西的文件系统,只有Oracle数据库相关的文件,比如数据文件、日志文件、控制文件、参数文件以及备份文件等可以存储到ASM中。

    展开全文
  • DG维护常用命令---oracle DG dataguard

    千次阅读 2018-11-10 16:42:33
    DG维护常用命令 10g alter日志位置 /opt/app/oracle/admin/moe/bdump /u01/app/oracle/product/10.2.0/db_1/rdbms/log 11g alter日志位置 cd /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert /u01/app/oracle/...

    DG维护常用命令


    10g alter日志位置
    /opt/app/oracle/admin/moe/bdump
    /u01/app/oracle/product/10.2.0/db_1/rdbms/log
    11g alter日志位置
    cd /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert
    /u01/app/oracle/diag/rdbms/orcl/orcl/trace
    :可使用show parameter dump查看

    standby logfile
    主库查看log
    SQL> select group#,thread#,bytes/1024/1024 M,status from v$log;
    备库查看standby log
    SQL> select group#,thread#,bytes/1024/1024 M,status,last_change#,last_time from v$standby_log;
    注:备库的standby logfile一般比主库的log多一个(rac的对应的是节点),大小要一样,多出的那个大小和主库最大的log一样。

    查看standby启动的DG进程
    SQL> select process,client_process,sequence#,status from v$managed_standby;
    注:
    备库ARCH、MRPO和RFS都有表示正常;
    主库没有RFS进程和MRP进程,有ARCH和LNS;

    手动启动MRPO进程
    alter database recover managed standby database disconnect from session

    SQL> select open_mode,current_scn from v$database;

    SQL> select * from v$standby_log;

    select process,client_process,sequence#,status,BLOCK#,BLOCKS,THREAD# from v$managed_standby;

    检查归档日志或dg是否正常
    SQL> select GROUP#,DBID,STATUS,LAST_CHANGE#,BYTES,LAST_TIME from v$standby_log;
    注:如果主库是rac,其中的status有两个为ACTIVE;LAST_CHANGE#值会增加,不是固定的;

    查看最大归档序列号
    SQL> select max(sequence#) from v$archived_log;

    ***开启实时日志应用
    SQL> recover managed standby database using current logfile disconnect from session;

    SQL> alter database recover managed standby database using current logfile disconnect;
    注: using current logfile是一个可选项,选择了就必须要有standby日志;disconnect断开,即从当前的终端断开,在系统后台执行命令。

    查询日志应用情况
    SQL> select database_role,protection_mode,protection_level,open_mode from v$database;
    SQL> select process,client_process,sequence#,status from v$managed_standby;

    ***停止redo日志应用
    SQL> alter database recover managed standby database cancel;

    ***打开实例
    SQL> alter database open read only;
    打开到mount状态
    SQL> startup mount;

    手动归档
    SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;

    select message from v$dataguard_status;

    临时断开主库和备库的同步
    alter system set log_archive_dest_state_2=DEFER;
    打开主库和备库的同步
    alter system set log_archive_dest_state_2 = ENABLE;

    select sequence#,applied from v$archived_log;

    主、备库查看当前日志状况
    select sequence#,status from v$log;

    备库执行,查看是否有数据未应用
    select name,SEQUENCE#,APPLIED from v$archived_log order by sequence#;
    select SEQUENCE#,FIRST_TIME,NEXT_TIME ,APPLIED from v$archived_log order by 2;

    在备库手工注册拷贝过来的的归档日志
    alter database register logfile '/opt/oracle/archive_log/1_27293_750772439.log'

    standby日志相关
    创建standby日志:
    SQL> alter database add standby logfile '/oradata/orcl/standby01.log' size 50m;
    SQL> alter database add standby logfile '/oradata/orcl/standby02.log' size 50m;
    SQL> alter database add standby logfile '/oradata/orcl/standby03.log' size 50m;
    SQL> alter database add standby logfile '/oradata/orcl/standby04.log' size 50m;

    alter database add standby logfile thread 1 group 10 ('/oradata/xqdb/standby10.log') size 50M;
    alter database add standby logfile thread 2 group 14 ('/oradata/xqdb/standby14.log') size 50M;

    删除Standby Redo log日志组的语法:
    (可以把数据库关闭启动到mount状态在删除以及文件后再添加)
    SQL> ALTER DATABASE DROP STANDBY LOGFILE GROUP 4;
    查询standby日志:
    select group#,thread#,sequence#,archived,status from v$standby_log;

    查看DG应用日志是否实时应用(备库查看)
    SQL > select  DEST_NAME , STATUS , RECOVERY_MODE from v$archive_dest_status;
    注:
    recover_mode是 MANAGED REAL TIME APPLY是实时应用;
    MANAGED是非实时应用。
    如需要开启实时应用日志,停止日志应用
    SQL> alter database recover managed standby database cancel;
    再启动日志应用就好
    SQL> alter database recover managed standby database using current logfile disconnect;
    参数:using current logfile
    在11g中,如要使用real time apply(实时应用),需要加using current logfile;
    在12c中,如果要不使用real time apply,需要加using archived log,using current logfile已经过期作废。
    不带using语句,在11g中,默认是不使用real time apply,而在12c中是默认使用real time apply。

     

     

    查看主库是否传送日志,可以在主库的alter日志是否有LAN:这个选项

     

     

    其他:
    SELECT THREAD#, MAX(SEQUENCE#) AS "LAST_APPLIED_LOG" FROM V$LOG_HISTORY GROUP BY THREAD#;

    SELECT LOCAL.THREAD#, LOCAL.SEQUENCE# FROM (SELECT THREAD#, SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=1) LOCAL WHERE LOCAL.SEQUENCE# NOT IN
    (SELECT SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=2 AND THREAD# = LOCAL.THREAD#);

     

    ****查看dataguard最新状态****------干货,老司机大方分享出来的多年经验

    alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
    set line 160
    set pagesize 1000
    col type for a20

    select process, status, thread#,sequence#, block#, blocks from v$managed_standby;

    select GROUP#,THREAD#,SEQUENCE#,STATUS,LAST_CHANGE#,LAST_TIME from v$standby_log;

    select START_TIME,TYPE, ITEM,UNITS,SOFAR,TIMESTAMP from v$recovery_progress where ITEM='Last Applied Redo';
    注:需要备库在real-time apply(实时应用日志)状态下才能查看到



     

     

    展开全文
  • linux创建软链接命令-ln -s

    万次阅读 2013-05-29 12:13:15
    它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令常用的参数是-s, 具体用法是:ln -s 源文件 目标文件。 当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一...

    linux 创建连接命令 ln -s 软链接

    这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,

    具体用法是:ln -s 源文件 目标文件。

    当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln -s /bin/less /usr/local/bin/less
    -s 是代号(symbolic)的意思。
    这 里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接 和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

    如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls -l命令去察看,就可以看到显示的link的路径了。


    ===========================================================================

    演示一个实战例子:

    bash: sqlplus: command not found 解决方法 

    环境变量已经配好,但是仍报错:

    [oracle@dg1 ~]$ vi .bash_profile

    # .bash_profile

    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi

    # User specific environment and startup programs

    PATH=$PATH:$HOME/bin

    export PATH
    unset USERNAME


    export EDITOR=vi
    export ORACLE_SID=dg1
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
    export PATH=/u01/app/oracle/product/10.2.0/db_1/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
    export PATH=$ORACLE_HOME/bin:$PATH
    umask 022

    解决方法:

    [oracle@dg1 ~]$ sqlplus /nolog
    bash: sqlplus: command not found
    [oracle@dg1 ~]$ ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
    ln: creating symbolic link `/usr/bin/sqlplus' to `/bin/sqlplus': Permission deni ed
    [oracle@dg1 ~]$ su - root
    Password:
    [root@dg1 ~]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
    [root@dg1 ~]# su - oracle
    [oracle@dg1 ~]$ sqlplus /nolog

    SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 11 12:51:24 2009

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    SQL> conn / as sysdba
    Connected to an idle instance.
    SQL> startup
    ORACLE instance started.

    Total System Global Area  167772160 bytes
    Fixed Size                  1218316 bytes
    Variable Size              79694068 bytes
    Database Buffers           83886080 bytes
    Redo Buffers                2973696 bytes
    Database mounted.
    Database opened.
    SQL>



    展开全文
  • Oracle 11g R2 Grid常用操作

    千次阅读 2013-10-16 18:24:53
    Oracle数据文件使用ASM管理不再支持LVM中的裸设备,CRS集群管理软件增加资源管理等,本文对Grid常用操作命令做一下简单介绍。 背景知识: ASM : Automatic Storage Management ,自动存储管理

    Oracle 升级至11g R2之后,新增了Grid组件安装包,集成了强大的ASM、CRS等管理工具,操作使用与我们以往常用的版本有很大不同,
    如Oracle数据文件使用ASM管理不再支持LVM中的裸设备,CRS集群管理软件增加资源管理等,本文对Grid常用操作命令做一下简单介绍。


    背景知识:
    ASM   :  Automatic Storage Management ,自动存储管理,Oracle自有的文件系统,替代了原先使用的LVM,但它又不是通用的文件系统,
            只用于管理Oracle的数据文件、日志文件、控制文件以及参数文件等;
    DG    :  Disk Groups  磁盘组,ASM通过DG管理表空间数据文件,不是直接使用表空间。
    CRS   :  Cluster Ready Services, Oracle集群就绪服务 ,Oracle自有的集群软件,在RAC(Real Application Clusters)版本中推出;
    OHAS  :  Oracle High Availability Services , Oracle高可用服务
    EVM   :  Event Manager 事件管理器
    CSS   :  Cluster Synchronization Services 集群同步服务
    ASM  CRS等都是Oracle 11g之前就有的产物,在11g R2中被Grid整合了。


    Grid使用独立的用户安装,有自己的环境变量配置,与Oracle软件保持独立:
    linux:~ # su - oracle 
    oracle@linux:~> env | grep ORACLE
    ORACLE_SID=ora11g
    ORACLE_BASE=/opt/oracle
    ORACLE_TERM=xterm
    ORACLE_HOME=/opt/oracle/product/11gR2/db
    oracle@linux:~> exit
    logout
    linux:~ # su  - grid
    grid@linux:~> env | grep ORACLE
    ORACLE_SID=+ASM
    ORACLE_BASE=/opt/oracrs/base
    ORACLE_TERM=xterm
    ORACLE_HOME=/opt/oracrs/product/11gR2/grid
    grid@linux:~>




    Grid有自己的监听,并且默认监听端口为1521监听别名为LISTENER,所以原先Oracle监听的1521端口和LISTENER别名就不能再继续使用了都要重新配置, 
    比如我们为Oracle规划的新端口为1526,监听别名为LISTENER_ORA。
    linux:~ # su - oracle 
    oracle@linux:~> lsnrctl status LISTENER_ORA


    LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 15-JUL-2013 19:27:16


    Copyright (c) 1991, 2011, Oracle.  All rights reserved.


    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.9.12)(PORT=1526)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER_ORA
    Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
    Start Date                08-JUL-2013 15:47:26
    …………………….
    gR2/db/network/admin/listener.ora
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.9.12)(PORT=1526)))
    Services Summary...
    …………………….
    oracle@linux:~> exit


    linux:~ # su - grid
    grid@linux:~> lsnrctl status LISTENER


    LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 15-JUL-2013 20:44:00


    Copyright (c) 1991, 2011, Oracle.  All rights reserved.


    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
    …………………….
    Listener Parameter File   /opt/oracrs/product/11gR2/grid/network/admin/listener.ora
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=linux)(PORT=1521)))
    Services Summary...
    Service "+ASM" has 1 instance(s).
    …………………….
    grid@linux:~>


    下面开始介绍常用操作:


    一. DG相关操作:
    1. 创建DG
    有两种创建方法,一种是用sysasm登录sqlplus用sql命令创建,一种是命令行静默命令创建
    1.sqlplus环境创建
     linux:~ # su - grid
    grid@linux:~>sqlplus / as sysasm
    SQL> create diskgroup DG_TEST external redundancy disk '/dev/sdd';
    SQL>
    该命令将创建出一个名为DG_TEST的磁盘组,使用的物理磁盘为/dev/sdd,冗余方式为external redundancy   
    其中 ’/dev/sdd‘也可以是指向/dev/sdd的链接
    ASM提供了三种冗余方式:
    (1) external redundancy : 外部冗余方式,镜像管理功能由外部存储系统实现,比如通过RAID技术,Oracle不帮你管理镜像
    (2)normal redundancy : Oracle提供2路镜像来保护数据,最少需要两块盘,此为Oracle默认冗余方式。
    (3)high redundancy  : 表示Oracle提供3路镜像来保护数据。


    注意:登录sqlplus的角色为 sysasm,相当于oracle用户下常用的sysdba


    2.命令行创建
    linux:~ # su - grid
    grid@linux:~> asmca -silent -createDiskGroup -diskGroupName DG_TEST -disk '/dev/diskgroup/dg_test' -redundancy EXTERNAL -au_size 1


    这里/dev/diskgroup/dg_test其实就是一个链接文件,指向/dev/sdd


    2. 查询DG信息
    linux:~ # su - grid
    grid@linux:~>sqlplus / as sysasm
    SQL>select path from v$asm_disk; 
    NAME                     PATH
    -------------------------        -------------------------       
    DG_ORA_0000            /dev/diskgroup/dg_ora
    DG_TEST_0000            /dev/sdd
    SQL>select name ,state from v$asm_diskgroup;
    NAME                    STATE
    --------------------            ----------------
    DG_ORA                 MOUNTED
    DG_TEST                 MOUNTED
    SQL>
    其中v$asm_disk的字段更多一些,可以查询到更多的信息。


    3. 删除DG
    grid@linux:~>sqlplus / as sysasm
    SQL>drop diskgroup DG_TEST including contents;
    删除DG之前,DG必须是干净的,上面不能有表空间数据文件。
    强制删除语句
    SQL>drop diskgroup DG_TEST force including contents;


    4. 挂载/去挂载DG
    磁盘组创建后,是有状态的,可以是MOUNTED,也可以是DISMOUNTED,状态可以手工互相切换
    grid@linux:~>sqlplus / as sysasm
    SQL>alter diskgroup dg_test dismount;
    SQL>alter diskgroup dg_test mount;


    dismount 为去挂载,mount为挂载,也可以同时对所有DG进行操作
    SQL>alter diskgroup all mount;


    5. 在DG上面创建目录
    DG创建后,是要在上面创建表空间数据文件的,如果有多个不同组件的表空间共用一个DG,那么可以再在DG上面增加目录,加以区分。
    grid@linux:~>sqlplus / as sysasm
    SQL> alter diskgroup DG_TEST add directory '+ DG_TEST/test1';
    Diskgroup altered.
    SQL> alter diskgroup DG_TEST add directory '+ DG_TEST/test2';
    Diskgroup altered.
    这样就在DG上面创建了test1 test2两个目录,不同的表空间数据文件可以分别存放到test1和test2目录下。


    与添加目录相对的操作是删除目录,将add置换为drop即可。
    SQL> alter diskgroup DG_TEST drop directory '+ DG_TEST/test2';
    Diskgroup altered.


    6. 在DG上面创建表空间
    创建表空间,要在Oracle用户下使用sysdba角色创建。
    linux:~ # su - oracle
    oracle@linux:~>sqlplus / as sysdba
    SQL>create tablespace test1 logging datafile '+DG_TEST/test1/test1.dbf' size 100M autoextend off;
    SQL>create tablespace test2 logging datafile '+ DG_TEST /test2/test2.dbf' size 100M autoextend off;
    这样就创建了两个表空间,表空间test1的数据文件创建在DG的test1目录下,test2的数据文件创建在test2的目录下。


    注意:ASM管理时,根目录为 '+', DG_TEST为2级目录,test1和test2为3级目录




    二. 资源相关操作
    Grid中集成了CRS OHAS后,有了资源的概念(资源类型有 ora.ons.type、ora.evm.type、ora.cssd.type、ora.diskmon.type、ora.asm.type、ora.diskgroup.type等),
    通过srvctl 和 crsctl可以做一些资源、集群相关的操作。


    1. srvctl 相关命令
    (1)增加监听器资源 
    grid有自己独立的监听,配置完监听文件后,需要添加监听器资源
    grid@linux:~> srvctl add listener -l LISTENER -o $ORACLE_HOME


    LISTENER 为监听别名
    资源添加完成后即可进行启动、停止、状态查看的操作
    grid@linux:~> srvctl start listener
    grid@linux:~> srvctl status listener
    Listener LISTENER is enabled
    Listener LISTENER is running on node(s): linux
    grid@linux:~> srvctl stop listener
    grid@linux:~> srvctl status listener
    Listener LISTENER is enabled
    Listener LISTENER is not running


    也可以通过命令将资源设置成可用、不可用
    grid@linux:~> srvctl disable listener
    grid@linux:~> srvctl status listener
    Listener LISTENER is disabled
    Listener LISTENER is running on node(s): linux
    grid@linux:~> srvctl stop listener
    grid@linux:~> srvctl start listener
    PRCR-1079 : Failed to start resource ora.LISTENER.lsnr
    CRS-2501: Resource 'ora.LISTENER.lsnr' is disabled
    grid@linux:~> srvctl enable listener
    grid@linux:~> srvctl start listener
    grid@linux:~> srvctl status listener
    Listener LISTENER is enabled
    Listener LISTENER is running on node(s): linux
    资源设置成disable之后,将无法启动,只有重新设置成enable才可以进行启动


    (2)增加asm实例资源
    # su  - grid
    grid@linux:~>srvctl add asm -l LISTENER -p $ORACLE_HOME/dbs/spfile+ASM.ora -d "/dev/diskgroup/*"


    spfile+ASM.ora 为grid的spfile文件
    asm资源同样可以是 srvctl start|stop|status|disable|enable asm 进行操作


    (3) 查询其他资源状态
    grid@linux:~> srvctl status home -o $ORACLE_HOME -s status.txt
    Disk Group ora.DG_TEST.dg is running on linux
    Disk Group ora.DG_ORA.dg is running on linux
    ASM is running on linux
    Listener LISTENER is running on node linux


    grid@linux:~> srvctl status diskgroup -g DG_ORA
    Disk Group DG_ORA is running on linux


    status.txt 是指定一个临时文件用来保存状态查询结果


    (4) 删除监听器资源和asm实例资源
    与添加资源相反的操作是删除资源,删除资源对应的指令是srvctl remove 
    grid@linux:~> srvctl remove listener
    grid@linux:~> srvctl remove asm


    删除资源前,必须要先将资源停止,否则会删除失败。如在监听器启动的情况下删除资源:
    grid@linux:~> srvctl remove listener
    PRCR-1025 : Resource ora.LISTENER.lsnr is still running


    2. crsctl相关命令
    (1) 操作OHAS  
    Grid启动各资源之前,首先要启动OHAS,然后再启动其他资源
    grid@linux:~> crsctl start has
    CRS-4123: Oracle High Availability Services has been started.
    grid@linux:~> crsctl check has
    CRS-4638: Oracle High Availability Services is online
    grid@linux:~> crsctl stop has [-f]
    CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'linux'
    CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'linux'
    CRS-2673: Attempting to stop 'ora.asm' on 'linux'
    CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'linux' succeeded
    CRS-2677: Stop of 'ora.asm' on 'linux' succeeded
    ……………….
    CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'linux' has completed
    CRS-4133: Oracle High Availability Services has been stopped.
    grid@linux:~> crsctl check has
    CRS-4639: Could not contact Oracle High Availability Services
    grid@mplus02:~> crsctl disable has
    CRS-4621: Oracle High Availability Services autostart is disabled.
    grid@mplus02:~> crsctl enable has
    CRS-4622: Oracle High Availability Services autostart is enabled.


    检查OHAS状态使用 crsctl check 这是与查看其他资源状态区别的地方
    停止OHAS会将其他资源也都停止,使用 –f参数表示强制停止


    (2)操作DG资源
    我们在grid节点创建DG之后,DG资源信息是自动添加了的,但是如果是oracle双机的话,此时新增的DG信息,在备机节点是不存在的,
    我们需要在主机节点将DG信息导出,然后在备机手工添加进去。
    使用 crsctl status resource [resource name] –p 导出资源静态配置信息 –f导出全量配置信息,crsctl add resource 添加资源,
    crsctl start resource <resource name>启动资源
    grid@linux:~> crsctl stat res ora.DG_TEST.dg -p > ora.DG_ TEST.dg


    grid@linux:~> crsctl add res ora.DG_ TEST.dg -type ora.diskgroup.type -file ora.DG_ TEST.dg
    grid@linux:~> crsctl start resource ora.DG_ TEST.dg
    将DG信息导出到文件中,上传到备机,再在备机导入
    有些资源只能在一个节点启动,如diskgroup类型的资源,那么启动前要确保在其他节点是停止的。


    (3)查询资源状态 crsctl status resource,可以简写为 crsctl stat res,此种输出是按行输出,使用 –t 参数可以格式化为表格输出
    grid@linux:~> crsctl status resource 
    NAME=ora.DG_ORA.dg
    TYPE=ora.diskgroup.type
    TARGET=ONLINE
    STATE=ONLINE on linux


    NAME=ora.asm
    TYPE=ora.asm.type
    TARGET=ONLINE
    STATE=ONLINE on linux


    NAME=ora.cssd
    TYPE=ora.cssd.type
    TARGET=ONLINE
    STATE=ONLINE on linux


    NAME=ora.diskmon
    TYPE=ora.diskmon.type
    TARGET=OFFLINE
    STATE=OFFLINE


    NAME=ora.evmd
    TYPE=ora.evm.type
    TARGET=ONLINE
    STATE=ONLINE on linux


    NAME=ora.ons
    TYPE=ora.ons.type
    TARGET=OFFLINE
    STATE=OFFLINE
    grid@linux:~> crsctl stat res -t
    --------------------------------------------------------------------------------
    NAME         TARGET    STATE    SERVER    STATE_DETAILS --------------------------------------------------------------------------------
    Local Resources
    --------------------------------------------------------------------------------
    ora.DG_ORA.dg
                ONLINE   ONLINE       linux
    ora.asm
                ONLINE   ONLINE       linux        Started
    ora.ons
                OFFLINE  OFFLINE      linux
    --------------------------------------------------------------------------------
    Cluster Resources
    --------------------------------------------------------------------------------
    ora.cssd
     1          ONLINE    ONLINE       linux
    ora.diskmon
    1          OFFLINE   OFFLINE                                                   
    ora.evmd
         1          ONLINE    ONLINE       linux


    grid@ linux:~> crsctl stat res ora.asm
    NAME=ora.asm
    TYPE=ora.asm.type
    TARGET=ONLINE
    STATE=ONLINE on linux
    grid@ linux:~> 
    grid@ linux:~> crsctl stat res ora.DG_ORA.dg
    NAME=ora.DG_ORA.dg
    TYPE=ora.diskgroup.type
    TARGET=ONLINE
    STATE=ONLINE on linux
    grid@ linux:~>




    三. ASMCMD操作
    asmcmd是Oracle的一个管理维护ASM磁盘组的命令行工具,提供一些类似于linux shell的命令,具操作起来比较方便,
    进入asmcmd命令行中输入help,可以获取oracle提供的命令列表。asmcmd中的命令与linux shell命令存在一些区别,
    输入help <命令> 可以显示每个命令的详细使用方法。这里简单罗列几条示例:
    1. pwd /ls/cd/mkdir/rm
    linux:~ # su - grid 
    grid@linux:~> asmcmd
    ASMCMD> pwd
    +
    ASMCMD> ls
    DG_ORA /
    DG_TEST /
    ASMCMD> ls -l
    State        Type     Rebal   Name
    MOUNTED  EXTERN  N      DG_ORA/
    MOUNTED  EXTERN  N      DG_TEST/
    ASMCMD> cd DG_ORA
    ASMCMD> pwd
    +DG_ORA
    ASMCMD> ls 
    ASM/
    ORA11G/
    ASMCMD> cd ASM
    ASMCMD> pwd
    +DG_ORA/ASM
    ASMCMD> cd ../ora11g
    ASMCMD> pwd
    +DG_ORA/ora11g
    ASMCMD> cd + DG_TEST
    ASMCMD> pwd
    + DG_TEST
    ASMCMD> mkdir test
    ASMCMD> cd test
    ASMCMD> mkdir test2
    ASMCMD> cd ..
    ASMCMD> rm test
    ORA-15032: not all alterations performed
    ORA-15178: directory 'test' is not empty; cannot drop this directory (DBD ERROR: OCIStmtExecute)
    ASMCMD> cd test
    ASMCMD> rm test2
    ASMCMD> cd ..
    ASMCMD> rm test
    进入asmcmd命令行,pwd显示当前所在目录,asmcmd的根目录是+,这是与linux shell中根目录为/区别的地方。
    列出目录的内容也是使用ls,通过观察ls的输出内容,我们看到创建的DG在asm中是以目录显示出来的,从DG所在的目录开始,目录间隔符也是使用/进行分隔的


    使用cd进行目录切换时,可以使用相对路径切换,也可以使用绝对路径切换,并且目录名大小写不敏感。


    mkdir创建asm目录,上文中在sqlplus环境中alter diskgroup add directory的操作可以用asmcmd中使用mkdir代替。


    rm用来删除文件或目录,当删除一个目录时,必须先删除目录中的内容,否则会报错。


    2. lsdsk 列出此ASM实例可见的所有磁盘 
    ASMCMD> lsdsk 
    Path
    /dev/diskgroup/dg_ora
    /dev/sdd


    3. lsdg 列出磁盘组及其属性
    ASMCMD> lsdg DG_TEST
    State    Type    Rebal  Sector  Block   AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name


    MOUNTED  EXTERN  N         512   4096  1048576     20480     1117                0            1117              0             N  DG_TEST/


    展开全文
  • Oracle数据库迁移的几种方式

    万次阅读 2016-08-08 22:26:38
    Oracle数据库迁移的几种方式 我们常常需要对数据进行迁移,迁移到更性能配置更高级的主机OS上、迁移到远程的机房、迁移到不同的平台下,以下介绍ORACLE的几种数据库迁移方案:    一、exp/imp逻辑备份...
  • Linux创建软链接命令-ln -s

    千次阅读 2016-05-19 14:48:58
    它的功能是为某一个文件在另外一个位置建立一个同步的链接,这个命令常用的参数是-s,   具体用法是:ln -s 源文件 目标文件。 当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放...
  • ORACLE ASM磁盘组常用命令

    千次阅读 2018-07-18 09:43:44
    ASMCMD常用命令 1、显示指定的ASM目录下ASM文件占用的所有磁盘空间 du 2、列出ASM目录下的内容及其属性 ls -ls 3、查看当前路径 pwd 4、打开目录 cd ../DATA 5、列出当前ASM客户端的信息 lsct 6、列出所有磁盘...
  • 手动删除oracle数据库

    万次阅读 2011-05-31 18:41:00
    在很多情况下,或无法使用dbca工具的时候,我们需要手动来删除数据库。对此,可以借助drop database命令来实现,下面的描述中给出手动删除数据库……
  • asm常用命令汇总

    万次阅读 2015-02-10 12:40:22
    Oracle 环境下,使用grid帐号执行 运行asmcmd进入asm命令模式,如: [grid@oradb-node1 ~]$ asmcmd ASMCMD>   ASMCMD> du //显示指定的ASM目录下ASM文件占用的所有磁盘空间 ASMCMD> ls -ls //列出...
  • Oracle 常用目录结构(10g)

    万次阅读 2010-05-29 16:00:00
    --==============================-- Oracle 常用目录结构(10g)--============================== 大多数情况下,了解Oracle常用目录结构,将大大提高数据库管理与维护的工作效率,本文介绍了Oracle 10g 的常用目录...
  • oracle归档日志满所引发的问题及解决
  • ASM磁盘管理总结

    千次阅读 2011-05-22 23:07:00
    先谈谈如何进行ASM管理,我暂时总结有两种方式进入: 方法一: oracle@GDGZ-DCS-SV01C-RAC01:~> export ORACLE_SID=+ASM1 oracle@GDGZ-DCS-SV01C-RAC01:~> sqlplus / as sysasm...
  • Oracle 11g 新特性 -- Oracle Restart 说明

    万次阅读 2017-12-01 14:43:26
     OHASD 说明Oracle 的Restart 特性是Oracle 11g里的新特性,在讲这个特性之前先看一下Oracle 11g RAC的进程。之前的Blog 有说明。Oracle 11gR2RAC 进程说明...
  • 不同Oracle数据库之间的数据同步

    万次阅读 2017-04-19 15:11:55
    Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。对于中大型数据库,业务数据库里所有的数据同步到另外一个处理服务器上最佳的选择还是使用SnapShot方式,即快照的...
  • Oracle GoldenGate 详解

    万次阅读 2019-06-21 10:18:42
    一、Oracle GoldenGate介绍  GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。 1、...
  • ORACLE 11G双节点RAC配置单实例DG

    千次阅读 2017-02-14 17:29:45
    一、环境 database db_unique_name net service name SID os version DB version primary jgsb jg_pd jgsb oracle linux 6.7 x64 11.2.0.4 physical standby jgsbd
  • Oracle数据库主从同步配置详解1. 安装前准备 1.1.软件 1、数据库软件:Oracle 11g r1 (企业版) 2、操作系统:WINDOWS SERVER 2008 ENTERPRISE EDTION 64X 1.2.环境 主库主机: dbprimary 192.168.1.57 从库...
  • 以前我们在实施DG后,虽然实施简单,但是后期维护却苦于没有直观的工具,每次查看状态都必须通过命令完成,现在GolenGate为我们提供了这样的工具,这个图形化的维护管理工具就是Oracle GoldenGate Director。Oracle ...
1 2 3 4 5 ... 20
收藏数 1,136
精华内容 454
关键字:

dg管理常用命令 oracle