목차
DG的安装与三种保护配置的切换
一、配置初始化环境并恢复到备库
安装前规划:
数据库软件安装配置:
dg1上数据库配置
修改DG1初始化参数--部分已经修改,部分需要修改。
创建增加standby日志-
创建pfile以及standby控制文件。
在dg1 和dg2上配置监听
打开REDO应用:
二、DG三种保护模式切换实践
最大可用模式
最大保护模式--此种模式在11G下,如备库DOWN掉,主库会HANG住,而不是重启。
데이터 베이스 MySQL 튜토리얼 ORACLE 11G dataguard安装配置手册

ORACLE 11G dataguard安装配置手册

Jun 07, 2016 pm 03:50 PM
oracle 설치하다 수동 구성

DG的安装与三种保护配置的切换 一、配置初始化环境并恢复到备库 安装前规划: 环境:VBOX虚拟机,操作系统:OracleLinux Server release 5.7 数据库版本:OracleDatabase 11g Enterprise Edition Release 11.2.0.1.0 - dg1做为主库,dg2做为备库。dg1/dg2操

DG的安装与三种保护配置的切换

一、配置初始化环境并恢复到备库

安装前规划:

环境:VBOX虚拟机,操作系统:OracleLinux Server release 5.7

数据库版本:OracleDatabase 11g Enterprise Edition Release 11.2.0.1.0 -

dg1做为主库,dg2做为备库。dg1/dg2操作系统文件目录相同。

dg1:

IP:192.168.1.241

主机名:dg1 

ORACLE_SID=dg

ORACLE_BASE=/u01 

ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

db_unique_name=dg1

dg2:

IP:192.168.1.242

主机名:dg2

ORACLE_SID=dg  

ORACLE_BASE=/u01 

ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

db_unique_name=dg2

数据库软件安装配置:

dg1安装数据库软件,并创建数据库。

dg2安装数据库软件,不创建数据库。

查看主机名及hosts文件:dg1-dg2的HOSTS文件应该相同,保证互相PING主机名可通。

[root@dg1 ~]# cat /etc/hosts

127.0.0.1       localhost.localdomain localhost

::1             localhost6.localdomain6 localhost6

192.168.1.241   dg1 dg1.dg.com

192.168.1.242   dg2 dg2.dg.com

 

[root@dg1~]# cat /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=dg1.dg.com

查看用户环境变量:

增加以下内容--与上面的规划对应:
ORACLE_BASE=/u01
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_SID=dg
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH:$HOME/bin
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

dg1上数据库配置

SQL>select instance_name,status from v$instance;

INSTANCE_NAMESTATUS

----------------------------------

dg              OPEN

SQL>select name,db_unique_name,force_logging from v$database;

NAME      DB_UNIQUE_NAME           FOR

--------------------------------------- ---

DG        dg                          NO

修改DG1初始化参数--部分已经修改,部分需要修改。

最终需要的参数如下:

[oracle@dg1~]$ sqlplus / as sysdba

查询参数值:

SQL>select instance_name,status from v$instance;

INSTANCE_NAME    STATUS

----------------------------

dg               OPEN

SQL>select name,db_unique_name,force_logging from v$database;

NAME      DB_UNIQUE_NAME                 FOR

--------------------------------------- ---

DG        dg1                             YES

SQL> showparameter log_archive_dest_state_1

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

log_archive_dest_state_1             string      enable

SQL> showparameter log_archive_dest_state_2

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

log_archive_dest_state_2             string      enable

SQL> showparameter remote_login_p

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

remote_login_passwordfile            string      EXCLUSIVE

SQL> showparameter log_archive_dest_1

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

log_archive_dest_1                   string

SQL> showparameter log_archive_dest_2

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

log_archive_dest_2                   string

SQL> showparameter log_archive_confi

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

log_archive_config                   string

SQL> showparameter standby_file_management

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

standby_file_management              string      MANUAL

需要进行修改参数值:

SQL>alter database force logging;

Databasealtered.

SQL>alter system set  log_archive_config="DG_CONFIG=(dg1,dg2)"scope=spfile;

Systemaltered.

SQL>alter system set  log_archive_dest_1="LOCATION=/u01/archivelog/  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)  DB_UNIQUE_NAME=dg1"  scope=spfile;

Systemaltered.

SQL>alter system set log_archive_dest_2="SERVICE=dg2 LGWR ASYNC  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)  DB_UNIQUE_NAME=dg2"  scope=spfile;

Systemaltered.

SQL>alter system set  fal_server=dg2 scope=spfile;

System altered.

SQL>alter system set  fal_client=dg1 scope=spfile;

Systemaltered.

SQL>alter system set  standby_file_management=auto scope=spfile;

Systemaltered.

SQL>alter system set  db_file_name_convert="/u01/oradata/dg","/u01/oradata/dg"  scope=spfile;

Systemaltered.

SQL>alter system set  log_file_name_convert="/u01/oradata/dg","/u01/oradata/dg"  scope=spfile;

Systemaltered.


创建增加standby日志-

这一步是配置为最大保护和最大可用模式做准备。

SQL>select a.member,b.bytes/1024/1024 MB from v$logfile a,v$log b wherea.group#=b.group#;

MEMBER                                 MB

----------------------------------------

/u01/oradata/dg/redo03.log             50

/u01/oradata/dg/redo02.log             50

/u01/oradata/dg/redo01.log             50

SQL>alter database add standby logfile group 4 '/u01/oradata/dg/standbyredo04.log'size 50M;

Databasealtered.

SQL>alter database add standby logfile group 5 '/u01/oradata/dg/standbyredo05.log'size 50M;

Databasealtered.

SQL>alter database add standby logfile group 6 '/u01/oradata/dg/standbyredo06.log'size 50M;

Databasealtered.

SQL>alter database add standby logfile group 7 '/u01/oradata/dg/standbyredo07.log'size 50M;

Databasealtered.

SQL>SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;

    GROUP#   THREAD#  SEQUENCE# ARC STATUS

-------------------- ---------- --- ----------

         4          0          0 YES UNASSIGNED

         5          0          0 YES UNASSIGNED

         6          0          0 YES UNASSIGNED

         7          0          0 YES UNASSIGNED

SQL>shutdown immediate;

Databaseclosed.

Databasedismounted.

ORACLEinstance shut down.

SQL>startup;

ORACLEinstance started.

Total SystemGlobal Area  418484224 bytes

FixedSize                  1336932 bytes

VariableSize             281020828 bytes

DatabaseBuffers          130023424 bytes

RedoBuffers                6103040 bytes

Databasemounted.

Databaseopened.

#################################################

创建pfile以及standby控制文件。

然后关机做备份,准备复制文件到dg2--standby

SQL>create pfile from spfile;

Filecreated.

[oracle@dg1dbs]$ ls -al initdg.ora

-rw-r--r-- 1oracle oinstall 1322 Jul 27 12:47 initdg.ora

SQL>alter database create standby controlfile as '/u01/oradata/dg/standctl01.ctl';

Databasealtered.

在$ORACLE_HOME/dbs/  及 $ORACLE_HOME/network/admin/目录下传送相应文件到dg2

密码文件的生成—如已经有密码文件直接传,没有则新建。

orapwdfile=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwdg1 password=oraclesysentries=3 force=y

scp initdg.ora dg2:$ORACLE_HOME/dbs/

scp  orapwdgdg2:$ORACLE_HOME/dbs/

scp listener.ora tnsnames.ora dg2:$ORACLE_HOME/network/admin/

 在备库上修改init初始化参数,注意标红的参数。结果如下:--其实需要修改的也就是 db_unique_name了,也可以打开数据库后再修改。

[oracle@dg2 dbs]$ cat initdg.ora
dg.__db_cache_size=130023424
dg.__java_pool_size=4194304
dg.__large_pool_size=4194304
dg.__oracle_base='/u01'#ORACLE_BASE set from environment
dg.__pga_aggregate_target=155189248
dg.__sga_target=264241152
dg.__shared_io_pool_size=0
dg.__shared_pool_size=113246208
dg.__streams_pool_size=4194304
*.audit_file_dest='/u01/admin/dg/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/oradata/dg/control01.ctl','/u01/flash_recovery_area/dg/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_file_name_convert='/u01/oradata/dg','/u01/oradata/dg'
*.db_name='dg'
*.db_recovery_file_dest='/u01/flash_recovery_area'
*.db_recovery_file_dest_size=4039114752
*.db_unique_name='DG2'
*.diagnostic_dest='/u01'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=dgXDB)'
*.fal_client='DG2'
*.fal_server='DG1'
*.log_archive_config='DG_CONFIG=(dg1,dg2)'
*.log_archive_dest_1='LOCATION=/u01/archivelog/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dg2'
*.log_archive_dest_2='SERVICE=dg2 LGWR ASYNC  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg1'
*.log_archive_format='arc_%t_%s_%r.arc'
*.log_file_name_convert='/u01/oradata/dg','/u01/oradata/dg'
*.memory_target=419430400
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'


在dg1 和dg2上配置监听

dg1上的配置:listener.ora  tnsnames.ora

listener.ora可以使用NETCA图形界面配置生成,也可以手动创建。

[oracle@dg1admin]$ cat listener.ora

#listener.ora Network Configuration File:/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

# Generatedby Oracle configuration tools.

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS =(PROTOCOL = TCP)(HOST = dg1)(PORT = 1521))

    )

  )

 

ADR_BASE_LISTENER= /u01

 

需要增加dg1 dg2的解析信息

[oracle@dg1admin]$ cat tnsnames.ora

dg1 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST =dg1.dg.com)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = dg1)

    )

  )

dg2=

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST =dg2.dg.com)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = dg2)

    )

  )

 

EXTPROC_CONNECTION_DATA=

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1))

    )

    (CONNECT_DATA =

      (SID = PLSExtProc)

      (PRESENTATION = RO)

    )

  )

 

从监听的红色部分能看到监听已启动

用到命令有: lsnrctl start/stop/status/reload

[oracle@dg1admin]$ lsnrctl status

LSNRCTL forLinux: Version 11.2.0.1.0 - Production on 27-JUL-2013 13:34:05

Copyright(c) 1991, 2009, Oracle.  All rightsreserved.

Connectingto (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dg1)(PORT=1521)))

STATUS ofthe LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version11.2.0.1.0 - Production

StartDate                27-JUL-2013 11:27:27

Uptime                    0 days 2 hr. 6 min. 38 sec

TraceLevel               off

Security                  ON: Local OS Authentication

SNMP                      OFF

ListenerParameter File  /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

Listener LogFile        /u01/diag/tnslsnr/dg1/listener/alert/log.xml

ListeningEndpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dg1)(PORT=1521)))

ServicesSummary...

Service"DG1" has 1 instance(s).

  Instance "dg", status READY, has 1handler(s) for this service...

Service"dgXDB" has 1 instance(s).

  Instance "dg", status READY, has 1handler(s) for this service...

The command completedsuccessfully

 

dg2上的配置 其中tnsnames.ora与dg1上完全相同,不贴出了。

Dg2的listener.ora需要配置静态注册。

[oracle@dg2admin]$ cat listener.ora

#listener.ora Network Configuration File:/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

# Generatedby Oracle configuration tools.

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS =(PROTOCOL = TCP)(HOST = dg2)(PORT = 1521))

    )

  )

 

SID_LIST_LISTENER=

  (SID_LIST =

     (SID_DESC =

      (GLOBAL_DBNAME = dg2)

      (ORACLE_HOME =/u01/app/oracle/product/11.2.0/dbhome_1)

      (SID_NAME = dg)

    )

  )

ADR_BASE_LISTENER= /u01

[oracle@dg2admin]$ lsnrctl status

LSNRCTL forLinux: Version 11.2.0.1.0 - Production on 27-JUL-2013 21:42:14

Copyright(c) 1991, 2009, Oracle.  All rightsreserved.

Connectingto (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dg2)(PORT=1521)))

STATUS ofthe LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version11.2.0.1.0 - Production

StartDate                27-JUL-2013 21:39:19

Uptime                    0 days 0 hr. 2 min. 55 sec

TraceLevel               off

Security                  ON: Local OS Authentication

SNMP                      OFF

ListenerParameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

Listener LogFile        /u01/diag/tnslsnr/dg2/listener/alert/log.xml

ListeningEndpoints Summary...

 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dg2)(PORT=1521)))

ServicesSummary...

Service"dg2" has 1 instance(s).

  Instance "dg", status UNKNOWN, has1 handler(s) for this service...

Thecommand completed successfully

#################################################

dg1和dg2互相登陆测试

从dg1登陆dg2

[oracle@dg1admin]$ sqlplus sys/oraclesys@dg2 as sysdba

SQL*Plus:Release 11.2.0.1.0 Production on Sat Jul 27 13:43:33 2013

Copyright(c) 1982, 2009, Oracle.  All rightsreserved.

Connected toan idle instance.

SQL>

 

dg2主机上测试能否登陆dg1的数据库--tnsnames.ora已经与dg1的相同。

[oracle@dg2admin]$ sqlplus sys/oraclesys@dg1 as sysdba

Connectedto:

OracleDatabase 11g Enterprise Edition Release 11.2.0.1.0 - Production

With thePartitioning, OLAP, Data Mining and Real Application Testing options

SQL> colhost_name for a10

SQL>select instance_name,host_name from v$instance;

INSTANCE_NAME    HOST_NAME

--------------------------

dg               dg1.dg.com

虚拟机可以关机做下备份。

使用RMAN duplicate创建STANDBY数据库

使用RMAN时连接本地连也要用用户名密码方式。在 dg1上登陆RMAN进行以下操作:

[oracle@dg1~]$ rman target sys/oraclesys auxiliary  sys/oraclesys@dg2

RecoveryManager: Release 11.2.0.1.0 - Production on Sat Jul 27 14:02:41 2013

Copyright(c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

connectedto target database: DG (DBID=1735160627)

connectedto auxiliary database: DG (not mounted)

 

duplicate target database for standby nofilenamecheck  from active database dorecover;

输出日志:

StartingDuplicate Db at 27-JUL-13

using targetdatabase control file instead of recovery catalog

allocatedchannel: ORA_AUX_DISK_1

channelORA_AUX_DISK_1: SID=19 device type=DISK

contents ofMemory Script:

{

   backup as copy reuse

   targetfile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwdg' auxiliary format

 '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwdg'   ;

}

executingMemory Script

Startingbackup at 27-JUL-13

allocatedchannel: ORA_DISK_1

channelORA_DISK_1: SID=41 device type=DISK

Finishedbackup at 27-JUL-13

contents ofMemory Script:

{

   backup as copy current controlfile forstandby auxiliary format  '/u01/oradata/dg/control01.ctl';

   restore clone controlfile to  '/u01/flash_recovery_area/dg/control02.ctl'from

 '/u01/oradata/dg/control01.ctl';

}

executingMemory Script

Startingbackup at 27-JUL-13

usingchannel ORA_DISK_1

channelORA_DISK_1: starting datafile copy

copyingstandby control file

output filename=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_dg.ftag=TAG20130727T140349 RECID=3 STAMP=821887430

channelORA_DISK_1: datafile copy complete, elapsed time: 00:00:06

Finishedbackup at 27-JUL-13

Startingrestore at 27-JUL-13

usingchannel ORA_AUX_DISK_1

channelORA_AUX_DISK_1: copied control file copy

Finishedrestore at 27-JUL-13

contents ofMemory Script:

{

   sql clone 'alter database mount standbydatabase';

}

executingMemory Script

sql statement:alter database mount standby database

contents ofMemory Script:

{

   set newname for tempfile  1 to

 "/u01/oradata/dg/temp01.dbf";

   switch clone tempfile all;

   set newname for datafile  1 to

 "/u01/oradata/dg/system01.dbf";

   set newname for datafile  2 to

 "/u01/oradata/dg/sysaux01.dbf";

   set newname for datafile  3 to

 "/u01/oradata/dg/undotbs01.dbf";

   set newname for datafile  4 to

 "/u01/oradata/dg/users01.dbf";

   set newname for datafile  5 to

 "/u01/oradata/dg/example01.dbf";

   backup as copy reuse

   datafile 1 auxiliary format

 "/u01/oradata/dg/system01.dbf"   datafile

 2 auxiliary format

 "/u01/oradata/dg/sysaux01.dbf"   datafile

 3 auxiliary format

 "/u01/oradata/dg/undotbs01.dbf"   datafile

 4 auxiliary format

 "/u01/oradata/dg/users01.dbf"   datafile

 5 auxiliary format

 "/u01/oradata/dg/example01.dbf"   ;

   sql 'alter system archive log current';

}

executingMemory Script

executingcommand: SET NEWNAME

renamedtempfile 1 to /u01/oradata/dg/temp01.dbf in control file

executingcommand: SET NEWNAME

executingcommand: SET NEWNAME

executingcommand: SET NEWNAME

executingcommand: SET NEWNAME

executingcommand: SET NEWNAME

Startingbackup at 27-JUL-13

usingchannel ORA_DISK_1

channelORA_DISK_1: starting datafile copy

inputdatafile file number=00001 name=/u01/oradata/dg/system01.dbf

output filename=/u01/oradata/dg/system01.dbf tag=TAG20130727T140405

channelORA_DISK_1: datafile copy complete, elapsed time: 00:02:35

channelORA_DISK_1: starting datafile copy

inputdatafile file number=00002 name=/u01/oradata/dg/sysaux01.dbf

output filename=/u01/oradata/dg/sysaux01.dbf tag=TAG20130727T140405

channelORA_DISK_1: datafile copy complete, elapsed time: 00:02:15

channelORA_DISK_1: starting datafile copy

inputdatafile file number=00003 name=/u01/oradata/dg/undotbs01.dbf

output filename=/u01/oradata/dg/undotbs01.dbf tag=TAG20130727T140405

channelORA_DISK_1: datafile copy complete, elapsed time: 00:00:35

channelORA_DISK_1: starting datafile copy

inputdatafile file number=00005 name=/u01/oradata/dg/example01.dbf

output filename=/u01/oradata/dg/example01.dbf tag=TAG20130727T140405

channelORA_DISK_1: datafile copy complete, elapsed time: 00:00:25

channelORA_DISK_1: starting datafile copy

inputdatafile file number=00004 name=/u01/oradata/dg/users01.dbf

output filename=/u01/oradata/dg/users01.dbf tag=TAG20130727T140405

channelORA_DISK_1: datafile copy complete, elapsed time: 00:00:03

Finishedbackup at 27-JUL-13

sqlstatement: alter system archive log current

contents ofMemory Script:

{

   backup as copy reuse

   archivelog like "/u01/archivelog/arc_1_15_821829622.arc" auxiliary format

 "/u01/archivelog/arc_1_15_821829622.arc"   archivelog like

 "/u01/archivelog/arc_1_16_821829622.arc"auxiliary format

 "/u01/archivelog/arc_1_16_821829622.arc"   ;

   catalog clone archivelog "/u01/archivelog/arc_1_15_821829622.arc";

   catalog clone archivelog "/u01/archivelog/arc_1_16_821829622.arc";

   switch clone datafile all;

}

executingMemory Script

Startingbackup at 27-JUL-13

usingchannel ORA_DISK_1

channelORA_DISK_1: starting archived log copy

inputarchived log thread=1 sequence=15 RECID=10 STAMP=821887447

output filename=/u01/archivelog/arc_1_15_821829622.arc RECID=0 STAMP=0

channelORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channelORA_DISK_1: starting archived log copy

inputarchived log thread=1 sequence=16 RECID=11 STAMP=821887800

output filename=/u01/archivelog/arc_1_16_821829622.arc RECID=0 STAMP=0

channelORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

Finishedbackup at 27-JUL-13

 

catalogedarchived log

archived logfile name=/u01/archivelog/arc_1_15_821829622.arc RECID=1 STAMP=821916602

catalogedarchived log

archived logfile name=/u01/archivelog/arc_1_16_821829622.arc RECID=2 STAMP=821916602

datafile 1switched to datafile copy

inputdatafile copy RECID=3 STAMP=821916603 file name=/u01/oradata/dg/system01.dbf

datafile 2switched to datafile copy

inputdatafile copy RECID=4 STAMP=821916603 file name=/u01/oradata/dg/sysaux01.dbf

datafile 3switched to datafile copy

inputdatafile copy RECID=5 STAMP=821916603 file name=/u01/oradata/dg/undotbs01.dbf

datafile 4switched to datafile copy

inputdatafile copy RECID=6 STAMP=821916603 file name=/u01/oradata/dg/users01.dbf

datafile 5switched to datafile copy

inputdatafile copy RECID=7 STAMP=821916603 file name=/u01/oradata/dg/example01.dbf

contents ofMemory Script:

{

   set until scn  897263;

   recover

   standby

   clone database

    delete archivelog

   ;

}

executingMemory Script

 

executingcommand: SET until clause

 

Startingrecover at 27-JUL-13

usingchannel ORA_AUX_DISK_1

startingmedia recovery

archived logfor thread 1 with sequence 15 is already on disk as file/u01/archivelog/arc_1_15_821829622.arc

archived logfor thread 1 with sequence 16 is already on disk as file/u01/archivelog/arc_1_16_821829622.arc

archived logfile name=/u01/archivelog/arc_1_15_821829622.arc thread=1 sequence=15

archived logfile name=/u01/archivelog/arc_1_16_821829622.arc thread=1 sequence=16

mediarecovery complete, elapsed time: 00:00:03

Finishedrecover at 27-JUL-13

FinishedDuplicate Db at 27-JUL-13

 

打开REDO应用:

1.RMAN恢复备库成功后,登陆dg2,此时dg2处于MOUNT状态,并启动redo应用。

[oracle@dg2~]$ sqlplus / as sysdba

Connectedto:

OracleDatabase 11g Enterprise Edition Release 11.2.0.1.0 - Production

With thePartitioning, OLAP, Data Mining and Real Application Testing options

SQL>select status,instance_name from v$instance;

STATUS       INSTANCE_NAME

----------------------------

MOUNTED      dg

SQL>select name,db_unique_name from v$database;

NAME      DB_UNIQUE_NAME

---------------------------------------

DG        DG2

SQL>alter database recover managed standby database disconnect from session;

Databasealtered.

#########################################

二、DG三种保护模式切换实践

最大性能模式-安装完DG时缺省是此模式。切换语句是:alter database set standby database to maximize PERFORMANCE;

[oracle@dg1~]$ sqlplus / as sysdba

SQL> settime on

14:29:04SQL> select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)

--------------

            18

14:29:12SQL> alter system switch logfile;

Systemaltered.

14:29:39SQL> select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)

--------------

            19

dg2上进行查看

[oracle@dg2~]$ sqlplus / as sysdba 

SQL>alter database recover managed standby database disconnect from session;
Database altered.

14:29:58SQL> select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)

--------------

            19

一次切换当前REDO的ALERT日志

dg1--REDO切换到了LOG#1的--/u01/oradata/dg/redo01.log,

Sat Jul 2717:06:58 2013

Thread 1advanced to log sequence 25 (LGWR switch)

  Current log# 1 seq# 25 mem# 0:/u01/oradata/dg/redo01.log

Sat Jul 2717:06:58 2013

LNS: Standbyredo logfile selected for thread 1 sequence 25 for destinationLOG_ARCHIVE_DEST_2

Sat Jul 2717:06:59 2013

Archived Logentry 27 added for thread 1 sequence 24 ID 0x676c9833 dest 1:

#######################

dg2上

Sat Jul 2717:07:25 2013

RFS[4]:Selected log 5 for thread 1 sequence 25 dbid 1735160627 branch 821829622

Sat Jul 2717:07:25 2013

Archived Logentry 10 added for thread 1 sequence 24 ID 0x676c9833 dest 1:


最大可用模式

说明:切换保护模式的操作必须在primay执行,且primay必须处于mount状态,如果在open状态执行,则报ORA-01126错。

ORA-01126:database must be mounted EXCLUSIVE and not open for this operation。

dg1的操作:

[oracle@dg1~]$ sqlplus / as sysdba                 

SQL>select protection_mode,database_role,protection_level from v$database;

PROTECTION_MODE      DATABASE_ROLE    PROTECTION_LEVEL

------------------------------------ --------------------

MAXIMUMPERFORMANCE  PRIMARY          MAXIMUM PERFORMANCE

SQL> alter system set log_archive_dest_2="SERVICE=dg2  LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)  DB_UNIQUE_NAME=dg2";

Systemaltered.

SQL>shutdown immediate;

Databaseclosed.

Databasedismounted.

ORACLEinstance shut down.

SQL>startup mount;

ORACLEinstance started.

Total SystemGlobal Area  418484224 bytes

FixedSize                  1336932 bytes

VariableSize             348129692 bytes

DatabaseBuffers           62914560 bytes

RedoBuffers                6103040 bytes

Databasemounted.

SQL> alter database set standby database to maximize availability;

Databasealtered.

SQL>alter database open;

Databasealtered.

SQL>select protection_mode,database_role,protection_level from v$database;

PROTECTION_MODE      DATABASE_ROLE    PROTECTION_LEVEL

------------------------------------ --------------------

MAXIMUMAVAILABILITY PRIMARY          MAXIMUMAVAILABILITY

###############################################

dg2 的操作:

[oracle@dg2~]$ sqlplus / as sysdba                                                                                              

SQL>select protection_mode,database_role,protection_level from v$database;

PROTECTION_MODE      DATABASE_ROLE    PROTECTION_LEVEL

------------------------------------ --------------------

MAXIMUMPERFORMANCE  PHYSICAL STANDBY MAXIMUMPERFORMANCE 

下面设置log_archive_dest_2是为了SWITCHOVER用,可以不用做。

SQL> showparameter log_archive_dest_2

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

log_archive_dest_2                   string      SERVICE=dg1 ARCH ASYNC  VALID_

                                                FOR=(ONLINE_LOGFILES,PRIMARY_R

                                                OLE) DB_UNIQUE_NAME=dg1

SQL>alter system set log_archive_dest_2="SERVICE=dg1 LGWR SYNC  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=dg1";

Systemaltered.

 

节点1mount时切换为最大可用性后再查看,节点2也已经改变。

SQL>select protection_mode,database_role,protection_level from v$database;

PROTECTION_MODE      DATABASE_ROLE    PROTECTION_LEVEL

------------------------------------ --------------------

MAXIMUMAVAILABILITY PHYSICAL STANDBY MAXIMUM AVAILABILITY

SQL>alter database recover managed standby database disconnect from session;
Database altered.

SQL>select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)

--------------

            33

对应的DG1日志:

LGWR: Primarydatabase is in MAXIMUM AVAILABILITY mode

LGWR:Destination LOG_ARCHIVE_DEST_1 is not serviced by LGWR

DestinationLOG_ARCHIVE_DEST_2 is UNSYNCHRONIZED

******************************************************************

LGWR:Setting 'active' archival for destination LOG_ARCHIVE_DEST_2

******************************************************************…………………………………………

ARC0:STARTING ARCH PROCESSES COMPLETE

DestinationLOG_ARCHIVE_DEST_2 is SYNCHRONIZED

LGWR:Standby redo logfile selected to archive thread 1 sequence 34

LGWR:Standby redo logfile selected for thread 1 sequence 34 for destinationLOG_ARCHIVE_DEST_2

Shuttingdown archive processes

Thread 1advanced to log sequence 34 (LGWR switch)

  Current log# 1 seq# 34 mem# 0:/u01/oradata/dg/redo01.log

ARCHshutting down

ARC4:Archival stopped

Archived Logentry 45 added for thread 1 sequence 33 ID 0x676c9833 dest 1:

Sat Jul 2720:52:26 2013

Startingbackground process CJQ0

Sat Jul 2720:52:26 2013

CJQ0 startedwith pid=26, OS id=6197

SettingResource Manager plan SCHEDULER[0x3008]:DEFAULT_MAINTENANCE_PLAN via schedulerwindow

SettingResource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter

Sat Jul 2720:52:29 2013

Startingbackground process VKRM

Sat Jul 2720:52:29 2013

VKRM startedwith pid=27, OS id=6201

Sat Jul 2720:57:23 2013

Startingbackground process SMCO

Sat Jul 2720:57:24 2013

SMCO startedwith pid=28, OS id=6261

######################################################

节点2日志

Sat Jul 2720:49:32 2013

ALTER SYSTEMSET log_archive_dest_2='SERVICE=dg1 LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg1'SCOPE=MEMORY;

Sat Jul 2720:49:52 2013

RFS[13]:Assigned to RFS process 4488

RFS[13]:Identified database type as 'physical standby': Client is LGWR SYNC pid 2845

Primarydatabase is in MAXIMUM PERFORMANCE mode

RFS[13]:Selected log 4 for thread 1 sequence 31 dbid 1735160627 branch 821829622

Sat Jul 2720:49:52 2013

RFS[14]:Assigned to RFS process 4492

RFS[14]:Identified database type as 'physical standby': Client is ARCH pid 2929

RFS[14]:Selected log 5 for thread 1 sequence 30 dbid 1735160627 branch 821829622

Sat Jul 2720:49:52 2013

Archived Logentry 16 added for thread 1 sequence 30 ID 0x676c9833 dest 1:

Sat Jul 2720:49:52 2013

RFS[15]:Assigned to RFS process 4496

RFS[15]:Identified database type as 'physical standby': Client is ARCH pid 2925

Sat Jul 2720:50:02 2013

Archived Logentry 17 added for thread 1 sequence 31 ID 0x676c9833 dest 1:

RFS[13]:Possible network disconnect with primary database

Sat Jul 2720:52:22 2013

RFS[16]:Assigned to RFS process 4537

RFS[16]:Identified database type as 'physical standby': Client is LGWR SYNC pid 6084      ----这里可以看到dg2通过同步时,发现主库是在最大可用模式下,就更改了自己的备库STANDBY 控制文件为最大可用模式。最终达到备库STANDBY 控制文件与主库一致

Primarydatabase is in MAXIMUM AVAILABILITY mode

Changingstandby controlfile to MAXIMUM AVAILABILITY mode

Changingstandby controlfile to RESYNCHRONIZATION level

Standbycontrolfile consistent with primary

RFS[16]:Selected log 4 for thread 1 sequence 33 dbid 1735160627 branch 821829622

Sat Jul 2720:52:22 2013

RFS[17]:Assigned to RFS process 4541

RFS[17]: Identifieddatabase type as 'physical standby': Client is ARCH pid 6157

RFS[17]:Selected log 5 for thread 1 sequence 32 dbid 1735160627 branch 821829622

Sat Jul 2720:52:22 2013

Archived Logentry 18 added for thread 1 sequence 32 ID 0x676c9833 dest 1:

Sat Jul 2720:52:25 2013

Archived Logentry 19 added for thread 1 sequence 33 ID 0x676c9833 dest 1:

Changingstandby controlfile to MAXIMUM AVAILABILITY level

RFS[16]:Selected log 4 for thread 1 sequence 34 dbid 1735160627 branch 821829622

 

 

 

最大保护模式--此种模式在11G下,如备库DOWN掉,主库会HANG住,而不是重启。

dg1上的配置,此时是最大可用

[oracle@dg1~]$ sqlplus / as sysdba                                                                                                

SQL>select protection_mode,database_role,protection_level from v$database;

PROTECTION_MODE      DATABASE_ROLE    PROTECTION_LEVEL

------------------------------------ --------------------

MAXIMUMAVAILABILITY PRIMARY          MAXIMUMAVAILABILITY

SQL> showparameter log_archive_dest_2

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

log_archive_dest_2                   string      SERVICE=dg2 LGWR SYNC  VALID_F

                                                OR=(ONLINE_LOGFILES,PRIMARY_RO

                                                 LE) DB_UNIQUE_NAME=dg2

SQL>alter system set log_archive_dest_2="SERVICE=dg2  SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg2";

Systemaltered.

SQL>shutdown immediate;

SQL>startup mount;

更改保护模式为最大保护

SQL>alter database set standby database to maximize protection;

Databasealtered.

SQL>alter database open;

Databasealtered.

SQL>select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)

--------------

            35

SQL>select protection_mode,database_role,protection_level from v$database;

PROTECTION_MODE      DATABASE_ROLE    PROTECTION_LEVEL

------------------------------------ --------------------

MAXIMUMPROTECTION   PRIMARY          MAXIMUM PROTECTION

#######################################################

dg2上的配置

[oracle@dg2~]$ sqlplus / as sysdba

SQL>select protection_mode,database_role,protection_level from v$database;

PROTECTION_MODE      DATABASE_ROLE    PROTECTION_LEVEL

------------------------------------ --------------------

MAXIMUMAVAILABILITY PHYSICAL STANDBY MAXIMUM AVAILABILITY 

SQL>select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)

--------------

            33

SQL> showparameter log_archive_dest_2;

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

log_archive_dest_2                   string      SERVICE=dg1 LGWR SYNC  VALID_F

                                                OR=(ONLINE_LOGFILES,PRIMARY_RO

                                                LE) DB_UNIQUE_NAME=dg1

SQL>alter system set log_archive_dest_2="SERVICE=dg1  SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg1";

Systemaltered.

dg1上重新打开数据库后在dg2查看信息如下:

SQL>alter database recover managed standby database disconnect from session;
Database altered.

SQL>select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)

--------------

            35

SQL>select protection_mode,database_role,protection_level from v$database;

PROTECTION_MODE      DATABASE_ROLE    PROTECTION_LEVEL

------------------------------------ --------------------

MAXIMUMPROTECTION   PHYSICAL STANDBY MAXIMUMPROTECTION

#######################################################

对应的ALERT日志:

dg1上的日志:

[oracle@dg1~]$ cat alert_dg.log

Sat Jul 2721:12:16 2013

alterdatabase set standby database to maximize protection

Completed:alter database set standby database to maximize protection

alterdatabase open

Sat Jul 2721:12:21 2013

LGWR:STARTING ARCH PROCESSES

Sat Jul 2721:12:22 2013

ARC0 startedwith pid=21, OS id=6568

ARC0:Archival started

LGWR:STARTING ARCH PROCESSES COMPLETE

ARC0:STARTING ARCH PROCESSES

LGWR:Primary database is in MAXIMUM PROTECTION mode

LGWR:Destination LOG_ARCHIVE_DEST_1 is not serviced by LGWR

Sat Jul 2721:12:23 2013

ARC1 startedwith pid=22, OS id=6572

Sat Jul 2721:12:23 2013

ARC2 startedwith pid=20, OS id=6576

ARC1:Archival started

ARC2:Archival started

ARC1:Becoming the 'no FAL' ARCH

ARC1:Becoming the 'no SRL' ARCH

ARC2:Becoming the heartbeat ARCH

Sat Jul 2721:12:23 2013

ARC3 startedwith pid=23, OS id=6580

Sat Jul 2721:12:24 2013

NSS2 startedwith pid=24, OS id=6584

ARC3:Archival started

ARC0:STARTING ARCH PROCESSES COMPLETE

******************************************************************

LGWR:Setting 'active' archival for destination LOG_ARCHIVE_DEST_2

******************************************************************

LGWR:Standby redo logfile selected to archive thread 1 sequence 36

LGWR:Standby redo logfile selected for thread 1 sequence 36 for destinationLOG_ARCHIVE_DEST_2

Thread 1advanced to log sequence 36 (thread open)

ARC0: LGWRis actively archiving destination LOG_ARCHIVE_DEST_2

LGWR:Waiting for ORLs to be archived...

ARC0:Standby redo logfile selected for thread 1 sequence 35 for destinationLOG_ARCHIVE_DEST_2

Archived Logentry 48 added for thread 1 sequence 35 ID 0x676c9833 dest 1:

LGWR: ORLssuccessfully archived

Thread 1opened at log sequence 36

  Current log# 3 seq# 36 mem# 0: /u01/oradata/dg/redo03.log

Successfulopen of redo thread 1

Sat Jul 2721:12:28 2013

MTTRadvisory is disabled because FAST_START_MTTR_TARGET is not set

Sat Jul 2721:12:28 2013

SMON:enabling cache recovery

Successfullyonlined Undo Tablespace 2.

Verifyingfile header compatibility for 11g tablespace encryption..

Verifying11g file header compatibility for tablespace encryption completed

SMON:enabling tx recovery

DatabaseCharacterset is AL32UTF8

No ResourceManager plan active

replication_dependency_trackingturned off (no async multimaster replication found)

Startingbackground process QMNC

Sat Jul 2721:12:29 2013

QMNC startedwith pid=25, OS id=6588

Completed:alter database open

Sat Jul 2721:12:30 2013

db_recovery_file_dest_sizeof 3852 MB is 2.33% used. This is a

user-specifiedlimit on the amount of space that will be used by this

database forrecovery-related files, and does not reflect the amount of

spaceavailable in the underlying filesystem or ASM diskgroup.

Sat Jul 2721:12:31 2013

Startingbackground process CJQ0

Sat Jul 2721:12:31 2013

CJQ0 startedwith pid=28, OS id=6616

SettingResource Manager plan SCHEDULER[0x3008]:DEFAULT_MAINTENANCE_PLAN via schedulerwindow

SettingResource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter

Sat Jul 2721:12:34 2013

Startingbackground process VKRM

Sat Jul 2721:12:34 2013

VKRM startedwith pid=26, OS id=6620

Sat Jul 2721:13:23 2013

ARC2:STARTING ARCH PROCESSES

Sat Jul 2721:13:23 2013

ARC4 startedwith pid=30, OS id=6646

ARC4:Archival started

ARC2:STARTING ARCH PROCESSES COMPLETE

Sat Jul 2721:14:24 2013

Shuttingdown archive processes

Sat Jul 2721:14:24 2013

ARCHshutting down

ARC4:Archival stopped

#######################################################

dg2上的日志:

[oracle@dg2~]$ cat alert_dg.log

Sat Jul 2721:07:54 2013

ALTER SYSTEMSET log_archive_dest_2='SERVICE=dg1  SYNCAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg1'SCOPE=MEMORY;

Sat Jul 2721:08:18 2013

Archived Logentry 20 added for thread 1 sequence 34 ID 0x676c9833 dest 1:

Sat Jul 2721:12:27 2013

RFS[18]:Assigned to RFS process 4639

RFS[18]:Identified database type as 'physical standby': Client is LGWR SYNC pid 6498

Primarydatabase is in MAXIMUM PROTECTION mode

Changingstandby controlfile to MAXIMUM PROTECTION mode

Sat Jul 2721:12:28 2013

RFS[19]:Assigned to RFS process 4643

RFS[19]:Identified database type as 'physical standby': Client is LGWR SYNC pid 6498

Primarydatabase is in MAXIMUM PROTECTION mode

Standbycontrolfile consistent with primary

Standbycontrolfile consistent with primary

RFS[19]:Selected log 4 for thread 1 sequence 36 dbid 1735160627 branch 821829622

Sat Jul 2721:12:28 2013

RFS[20]:Assigned to RFS process 4647

RFS[20]:Identified database type as 'physical standby': Client is ARCH pid 6568

RFS[20]:Selected log 5 for thread 1 sequence 35 dbid 1735160627 branch 821829622

Sat Jul 2721:12:28 2013

Archived Logentry 21 added for thread 1 sequence 35 ID 0x676c9833 dest 1:

Sat Jul 2721:12:28 2013

RFS[21]:Assigned to RFS process 4651

RFS[21]:Identified database type as 'physical standby': Client is ARCH pid 6576

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

레드 스톤/레드 통화 목록 가격 예측 및 토큰 경제학에 대한 자세한 설명 레드 스톤/레드 통화 목록 가격 예측 및 토큰 경제학에 대한 자세한 설명 Mar 03, 2025 pm 10:42 PM

이번에는 Redstone Token $ Red가 Binance TGE의 Binance LaunchPool에서 출시됩니다! Binance가 사전 시장 거래 한도 메커니즘을 시작한 것은 이번이 처음입니다! 첫날 한도는 200%이며, 3 일 후에 금지는 "시장이 시작될 때 최고점이 달성 될 것"을 피하기 위해 3 일 후에 해제됩니다! LaunchPool 메커니즘은 지정된 토큰 (BNB, USDC, FDUSD) 활동 기간이 48 시간 : 08:00 UTC에 2025 년 2 월 28 일 UTC에 UTC로 지정된 토큰 (BNB, USDC, FDUSD) 활동 기간이 필요한 Redstone에 참여하는 Binancelaunchpool을 소개합니다.

데비안에서 오라클 보안 설정을 수행하는 방법 데비안에서 오라클 보안 설정을 수행하는 방법 Apr 02, 2025 am 07:48 AM

데비안 시스템에서 Oracle 데이터베이스의 보안을 강화하려면 많은 측면이 시작되어야합니다. 다음 단계는 안전한 구성을위한 프레임 워크를 제공합니다. 1. Oracle 데이터베이스 설치 및 초기 구성 시스템 준비 : 데비안 시스템이 최신 버전으로 업데이트되었는지 확인하고 네트워크 구성이 올바르며 필요한 모든 소프트웨어 패키지가 설치되었습니다. 설치를 위해 공식 문서 또는 신뢰할 수있는 타사 리소스를 참조하는 것이 좋습니다. 사용자 및 그룹 : 전용 Oracle 사용자 그룹 (예 : Oinstall, DBA, BackupDBA)을 만들고 적절한 권한을 설정합니다. 2. 보안 제한을 설정하는 리소스 제한 사항 : 편집 /etc/security/limits.d/30-oracle.conf

GO를 사용하여 Oracle 데이터베이스에 연결할 때 Oracle 클라이언트를 설치해야합니까? GO를 사용하여 Oracle 데이터베이스에 연결할 때 Oracle 클라이언트를 설치해야합니까? Apr 02, 2025 pm 03:48 PM

GO를 사용하여 Oracle 데이터베이스에 연결할 때 Oracle 클라이언트를 설치해야합니까? GO에서 개발할 때 Oracle 데이터베이스에 연결하는 것이 일반적인 요구 사항입니다 ...

Oracle PL/SQL Deep Dive : 마스터 링 절차, 기능 및 패키지 Oracle PL/SQL Deep Dive : 마스터 링 절차, 기능 및 패키지 Apr 03, 2025 am 12:03 AM

Oraclepl/SQL의 절차, 기능 및 패키지는 각각 작업, 반환 값 및 구성 코드를 구성하는 데 사용됩니다. 1. 프로세스는 출력 인사와 같은 작업을 수행하는 데 사용됩니다. 2. 함수는 두 숫자의 합계와 같은 값을 계산하고 반환하는 데 사용됩니다. 3. 패키지는 관련 요소를 구성하고 재고를 관리하는 패키지와 같은 코드의 모듈성 및 유지 가능성을 향상시키는 데 사용됩니다.

레드 스톤 (빨간색) 에어 드롭에 참여할 때 몇 개의 빨간 토큰을 얻을 수 있습니까? 레드 스톤 (빨간색) 에어 드롭에 참여할 때 몇 개의 빨간 토큰을 얻을 수 있습니까? Mar 04, 2025 pm 05:48 PM

Redstone (Red) 에어 드롭 활동은 본격적으로 진행되어 많은 투자자들이 참여하도록 유도합니다. Redstone은 강력한 유효성 검사기 네트워크, 실시간 데이터 통합 ​​기능 및 커뮤니티 인센티브 메커니즘을 갖춘 고급 크로스 체인 데이터 Oracle이며 많은 유명한 투자 기관에서 지원해 왔습니다. 독특한 기술적 장점으로 인해 경쟁이 치열한 Oracle 시장에서 눈에 띄게 만들어지고 미래의 개발에 큰 잠재력이 있습니다. 이 기사는 Redstone 프로젝트에 대한 심층 분석을 수행하고 Airdrops에 참여할 수있는 빨간 토큰의 수를 탐색하며 Red Tokens의 가격에 대한 전망을 만들어 투자자가 Redstone 프로젝트 및 투자 위험을 더 잘 이해하고 평가할 수 있도록 도와줍니다. 특히 BNB 소지자의 경우 에어 드롭에 참여하면 빨간 토큰을 얻고 디지털 자산 그룹을 풍부하게 할 수 있습니다.

ERP 시스템 소프트웨어는 무엇입니까? 권장 ERP 시스템 소프트웨어 ERP 시스템 소프트웨어는 무엇입니까? 권장 ERP 시스템 소프트웨어 Apr 03, 2025 pm 12:54 PM

ERP 소프트웨어를 선택할 때는 먼저 산업, 규모, 예산 및 IT 인프라를 포함한 기업의 요구를 명확히 한 다음 핵심 비즈니스 프로세스에 따라 요구 사항을 충족하는 시스템을 선택하십시오. 일반적인 ERP 시스템에는 다음이 포함됩니다. SAP에는 강력한 기능이지만 비싼 기능을 갖춘 대기업에 적합합니다. Oracle은 포괄적 인 기능을 가지고 있지만 비싸며 대기업에 적합합니다. Odoo는 중소 기업에 적합하며 저렴한 비용과 사용자 정의가 가능합니다. SAAS ERP는 클라우드에 배치되어 주문형 비용을 지불하며 빠르게 개발하는 기업에 적합합니다. 선택하기 전에 시험을 실시하고 전문적인 조언을 문의하며 애프터 판매 서비스에주의를 기울여 가장 적합한 ERP 시스템을 선택해야합니다.

암호화폐 전문 용어에 익숙해질 수 있도록 반드시 읽어야 할 통화 업계 용어 60개 암호화폐 전문 용어에 익숙해질 수 있도록 반드시 읽어야 할 통화 업계 용어 60개 Dec 17, 2024 pm 03:20 PM

암호화폐 세계를 탐험하고 싶으신가요? 업계 용어에 대한 60페이지 분량의 가이드를 꼭 읽어보세요! 이 가이드는 암호화폐, 블록체인, 스테이블 코인과 같은 기본 개념부터 롱, 숏, 레버리지와 같은 거래 용어, 노드, 스마트 계약, DeFi와 같은 기술 용어에 이르기까지 모든 것을 다룹니다. 이러한 용어에 대한 확실한 이해는 암호화폐 커뮤니티에서 자신감 있는 대화와 투자 결정을 위한 견고한 기반을 제공할 것입니다.

최근 SUPRA 화폐 급등 원인 최근 SUPRA 화폐 급등 원인 Dec 09, 2024 am 11:50 AM

최근 SUPRA 통화 가격이 급등한 이유는 다음과 같습니다. OKX 거래 플랫폼 지원: OKX는 SUPRA 통화의 첫 번째 주류 거래 플랫폼이 되었으며 대규모 사용자 기반과 유동성으로 인해 많은 관심을 끌었습니다. 많은 투자를 한 사람. 강력한 생태계 및 사용 사례: SUPRA 코인은 SupraOracles 오라클 네트워크의 기본 토큰으로 다양한 블록체인 애플리케이션에 대한 데이터 지원을 제공합니다. 시장 수요의 성장: 오라클 시장은 급속한 성장의 시기에 있으며, SupraOracles는 신뢰성과 보안으로 이러한 시장 수요를 충족합니다.

See all articles