oracle dg 搭建方式,Linux平台 Oracle 11g DG测试环境快速搭建参考

环境现状:

两台虚拟主机A和B:

1. A机器已安装ASM存储的Oracle 11g 实例

2. B机器已安装系统,配置以及目录结构均和A机器保持一致

/u01 + 3块ASM盘

DG部署规划:

primary

standby

主机

JY-DB

JY-DBS

db_name

jyzhao

jyzhao

db_unique_name

jyzhao

jyzhao_s

instance_name

jyzhao

jyzhao_s

存储

+DATA1

+DATA1

归档

/u01/app/oracle/product/11.2.0/db_1/dbs/arch

/u01/app/oracle/product/11.2.0/db_1/dbs/arch

DGMGRL

jyzhao_dgmgrl

jyzhao_s_dgmgrl

GRID_HOME

/u01/app/11.2.0/grid

/u01/app/11.2.0/grid

ORACLE_HOME

/u01/app/oracle/product/11.2.0/db_1

/u01/app/oracle/product/11.2.0/db_1

一、前期准备

1.1. A机器打包拷贝/u01/app到B机器(包含了grid和oracle软件安装目录)

# tar -zcvf app.tar.gz app

# scp app.tar.gz 192.168.99.160:/u01/

root@192.168.99.160's password:

app.tar.gz                                                                                                                          100% 3564MB  54.8MB/s  01:05

B机器解压,解压前确保第二步操作已完成。

# pwd

/u01

[root@JY-DBS u01]# ls

app.tar.gz  lost+found

[root@JY-DBS u01]# tar -zxvf app.tar.gz

解压完成后,检查权限是正确的

# ls -lh

total 3.5G

drwxrwxr-x. 7 oracle oinstall 4.0K Mar 13 14:47 app

-rw-r--r--. 1 root  root    3.5G Mar 15 22:28 app.tar.gz

1.2. B机器配置用户,系统参数,安装依赖包,用户环境变量,ASM磁盘

配置用户,系统参数,安装依赖包,用户环境变量

注:在第一步解压前做完,会发现权限都是正确的不用费心再改

root用户执行脚本

# /u01/app/oraInventory/orainstRoot.sh

# /u01/app/11.2.0/grid/root.sh

# /u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/roothas.pl

配置has

需要建立asm磁盘组

环境变量:

vi $ORACLE_HOME/dbs/init+ASM.ora

*.asm_diskstring='/dev/mapper/ora*'

*.asm_power_limit=1

*.diagnostic_dest='/u01/app/grid'

*.instance_type='asm'

*.large_pool_size=12M

*.remote_login_passwordfile='EXCLUSIVE'

$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon Mar 16 10:51:02 2015

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

Connected to an idle instance.

SQL> startup

ORA-01078: failure in processing system parameters

ORA-29701: unable to connect to Cluster Synchronization Service

$  crsctl stat res -t

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

NAME          TARGET  STATE        SERVER                  STATE_DETAILS

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

Local Resources

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

ora.ons

OFFLINE OFFLINE      jy-dbs

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

Cluster Resources

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

ora.cssd

1        OFFLINE OFFLINE

ora.diskmon

1        OFFLINE OFFLINE

ora.evmd

1        ONLINE  ONLINE      jy-dbs

$  crsctl start resource ora.cssd

CRS-2672: Attempting to start 'ora.cssd' on 'jy-dbs'

CRS-2672: Attempting to start 'ora.diskmon' on 'jy-dbs'

CRS-2676: Start of 'ora.diskmon' on 'jy-dbs' succeeded

CRS-2676: Start of 'ora.cssd' on 'jy-dbs' succeeded

$ crsctl status res -t

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

NAME          TARGET  STATE        SERVER                  STATE_DETAILS

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

Local Resources

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

ora.ons

OFFLINE OFFLINE      jy-dbs

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

Cluster Resources

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

ora.cssd

1        ONLINE  ONLINE      jy-dbs

ora.diskmon

1        OFFLINE OFFLINE

ora.evmd

1        ONLINE  ONLINE      jy-dbs

$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Mon Mar 16 10:55:39 2015

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

Connected to an idle instance.

SQL> startup

ASM instance started

Total System Global Area 1135747072 bytes

Fixed Size                  2260728 bytes

Variable Size            1108320520 bytes

ASM Cache                  25165824 bytes

ORA-15110: no diskgroups mounted

SQL> select status from v$instance;

STATUS

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

STARTED

col description for a35

col process for a35

set linesize 120

select sid, serial#, process, name, description from v$session join v$bgprocess using(paddr);

col path for a45

col name for a30

select group_number, disk_number, mount_status, name, path from v$asm_disk order by group_number, disk_number;

GROUP_NUMBER DISK_NUMBER MOUNT_STATUS  NAME                          PATH

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

0          0 CLOSED                                        /dev/mapper/ora_vg-lv_asm3

0          1 CLOSED                                        /dev/mapper/ora_vg-lv_asm2

0          2 CLOSED                                        /dev/mapper/ora_vg-lv_asm1

查看A机器的磁盘组信息:

select group_number, name, type, total_mb, free_mb from v$asm_diskgroup

GROUP_NUMBER NAME                                                        TYPE          TOTAL_MB    FREE_MB

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

1 DATA1                                                        EXTERN            30708      29017

B机器创建ASM磁盘组DATA1:

select group_number, name, type, total_mb, free_mb from v$asm_diskgroup;

no rows selected

CREATE DISKGROUP data1 EXTERNAL REDUNDANCY DISK '/dev/mapper/ora*';

Diskgroup created.

select group_number, name, type, total_mb, free_mb from v$asm_diskgroup;

GROUP_NUMBER NAME                                                        TYPE          TOTAL_MB    FREE_MB

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

1 DATA1                                                        EXTERN            30708      30654

至此,准备工作结束。

二、DG部署配置

1. primary database 配置

确保将数据库的force_logging打开,设置为归档模式,数据库闪回打开

SQL> select name from v$datafile;

NAME

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

+DATA1/jyzhao/datafile/system.256.874084601

+DATA1/jyzhao/datafile/sysaux.257.874084601

+DATA1/jyzhao/datafile/undotbs1.258.874084601

+DATA1/jyzhao/datafile/users.259.874084601

SQL> select force_logging from v$database;

FOR

---

NO

SQL> alter database force logging;

Database altered.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

Total System Global Area 1620115456 bytes

Fixed Size                  2253704 bytes

Variable Size            1006636152 bytes

Database Buffers          603979776 bytes

Redo Buffers                7245824 bytes

Database mounted.

SQL> alter database archivelog;

Database altered.

SQL> alter database flashback on;

alter database flashback on

*

ERROR at line 1:

ORA-38706: Cannot turn on FLASHBACK DATABASE logging.

ORA-38709: Recovery Area is not enabled.

SQL> archive log list

Database log mode              Archive Mode

Automatic archival            Enabled

Archive destination            /u01/app/oracle/product/11.2.0/db_1/dbs/arch

Oldest online log sequence    12

Next log sequence to archive  14

Current log sequence          14

$ mkdir -p /u01/app/oracle/product/11.2.0/db_1/dbs/arch

SQL> alter database flashback on;

alter database flashback on

*

ERROR at line 1:

ORA-38706: Cannot turn on FLASHBACK DATABASE logging.

ORA-38709: Recovery Area is not enabled.

SQL> show parameter db_recover

NAME                                TYPE        VALUE

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

db_recovery_file_dest                string

db_recovery_file_dest_size          big integer 0

SQL> alter system set db_recovery_file_dest_size=5G;

System altered.

SQL> alter system set db_recovery_file_dest='/u01/app/oracle/product/11.2.0/db_1/dbs/arch';

System altered.

SQL> select status from v$instance;

STATUS

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

MOUNTED

SQL> alter database flashback on;

Database altered.

按之前的规划设置数据库的参数

主要是db_unique_name, log_archive_config, log_archive_dest_1,  log_archive_dest_2, log_archive_format, fal_server, fal_client, standby_file_management的设置,standby logfile的添加,密码文件的创建。

alter system set db_unique_name='jyzhao' scope=spfile;

alter system set log_archive_config='DG_CONFIG=(jyzhao,jyzhao_s)'  scope=spfile;

alter system set log_archive_dest_1='LOCATION=/u01/app/oracle/product/11.2.0/db_1/dbs/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jyzhao' scope=spfile;

alter system set log_archive_dest_2='SERVICE=jyzhao_s ASYNC LGWR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jyzhao_s' scope=spfile;

alter system set log_archive_format='arch_%r_%t_%s.arc' scope=spfile;

alter system set fal_server=jyzhao_s scope=spfile;

alter system set fal_client=jyzhao scope=spfile;

alter system set standby_file_management=AUTO;

alter database add standby logfile group 4 size 50M;

alter database add standby logfile group 5 size 50M;

alter database add standby logfile group 6 size 50M;

alter database add standby logfile group 7 size 50M;

rm /u01/app/oracle/product/11.2.0/db_1/dbs/orapwjyzhao

orapwd file=$ORACLE_HOME/dbs/orapwjyzhao password=oracle entries=10 ignorecase=Y

grid用户配置监听

--listener.ora

DGL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DB)(PORT = 1521))

)

SID_LIST_DGL =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = jyzhao)

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

(SID_NAME = jyzhao)

)

(SID_DESC =

(GLOBAL_DBNAME = jyzhao_dgmgrl)

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

(SID_NAME = jyzhao)

)

)

ADR_BASE_DGL = /u01/app/grid

oracle用户配置tnsnames.ora

--tnsnames.ora

LINUXIDC =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DB)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = jyzhao )

)

)

LINUXIDC_S =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DBS)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = jyzhao_s)

)

)

grid用户重启监听:

lsnrctl stop dgl

lsnrctl start dgl

oracle用户测试连接:

SQL> show parameter audi

NAME                                TYPE        VALUE

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

audit_file_dest                      string      /u01/app/oracle/admin/jyzhao/a

dump

重启primary

shutdown immediate

startup

2.机器B:standby数据库配置:

grid用户配置监听

--listener.ora

DGL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DBS)(PORT = 1521))

)

SID_LIST_DGL =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = jyzhao_s)

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

(SID_NAME = jyzhao_s)

)

(SID_DESC =

(GLOBAL_DBNAME = jyzhao_s_dgmgrl)

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

(SID_NAME = jyzhao_s)
        )

)

ADR_BASE_DGL = /u01/app/grid

grid用户启动监听

$ lsnrctl start dgl

oracle用户配置tnsnames.ora

--tnsnames.ora

LINUXIDC =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DB)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = jyzhao )

)

)

LINUXIDC_S =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DBS)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = jyzhao_s)

)

)

echo "db_name=jyzhao" >> $ORACLE_HOME/dbs/initjyzhao_s.ora

echo $ORACLE_SID

sqlplus / as sysdba

startup nomount

oracle用户测试连接  :

3.机器A操作 duplicate数据库到机器B

验证到机器B可以登录

$ sqlplus sys/oracle@jyzhao_s as sysdba

vi duplicate_dg.sql

duplicate target database

for standby

from active database

DORECOVER

spfile

set db_unique_name='jyzhao_s'

set log_archive_dest_1='location=/u01/app/oracle/product/11.2.0/db_1/dbs/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

DB_UNIQUE_NAME=jyzhao_s'

set log_archive_dest_2='SERVICE=jyzhao ASYNC LGWR

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jyzhao'

set standby_file_management='AUTO'

set fal_server='jyzhao'

set fal_client='jyzhao_s'

set control_files='+DATA1'

set memory_target='0'

set sga_target='600M';

[oracle@JY-DB ~]$  rman target / auxiliary sys/oracle@jyzhaos cmdfile=duplicate_standby.sql

Recovery Manager: Release 11.2.0.4.0 - Production on Mon Mar 16 23:21:37 2015

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

connected to target database: LINUXIDC (DBID=2463175424)

connected to auxiliary database: LINUXIDC (not mounted)

RMAN> duplicate target database

2> for standby

3> from active database

4> DORECOVER

5> spfile

6> set db_unique_name='jyzhao_s'

7> set log_archive_dest_1='location=/u01/app/oracle/product/11.2.0/db_1/dbs/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

8> DB_UNIQUE_NAME=jyzhao_s'

9> set log_archive_dest_2='SERVICE=MACDBN ASYNC LGWR

10> VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jyzhao'

11> set standby_file_management='AUTO'

12> set fal_server='jyzhao'

13> set fal_client='jyzhao_s'

14> set control_files='+DATA1'

15> set memory_target='0'

16> set sga_target='600M';

17>

Starting Duplicate Db at 16-MAR-15

using target database control file instead of recovery catalog

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=111 device type=DISK

……

Recovery Manager complete.

[oracle@JY-DB ~]$

4. B机器 srvctl add数据库jyzhao_s

注:开始_s有问题,是因为添加指定的参数不足:

srvctl add database -d jyzhao_s -o /u01/app/oracle/product/11.2.0/db_1 -p  +DATA1/LINUXIDC_S/spfilejyzhao_s.ora -n jyzhao -i jyzhao_s

srvctl modify database -d jyzhao_s -r PHYSICAL_STANDBY

三、DG切换测试

3.1 手动switchover

1主库切换成standby,启动到mount

select OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATAGUARD_BROKER, GUARD_STATUS from v$database;

alter database commit to switchover to physical standby;

2.备份切换成primary,启动到open

select OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATAGUARD_BROKER, GUARD_STATUS from v$database;

alter database commit to switchover to primary;

3.新的备份执行日志应用

alter database recover managed standby database using current logfile disconnect from session;

3.2 Data Guard Broker 快速switchover

SQL> show parameter dg_broker_start

NAME                                TYPE        VALUE

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

dg_broker_start                      boolean    FALSE

SQL> alter system set dg_broker_start = true;

System altered.

SQL> show parameter dg_broker_start

NAME                                TYPE        VALUE

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

dg_broker_start                      boolean    TRUE

配置dgmgrl

create CONFIGURATION jydb as primary database is jyzhao CONNECT IDENTIFIER IS jyzhao;

add database  jyzhao_s as CONNECT IDENTIFIER IS jyzhao_s MAINTAINED AS  PHYSICAL;

enable configuration;

show configuration;

switchover to jyzhao_s;

switchover to jyzhao;

show database verbose jydb

0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#| 使用String.Format()方法将小数点后的数字四舍五入

To round the digits after the decimal point, we can use String.Format() method, here is the example. 为了将小数点后的数字四舍五入,我们可以使用String.Format()方法,这里是示例。 using System;namespace ConsoleApplication1{class Program{s…

SmartFoxServer学习总结(转载)

一、要安装pro类型版本,此类型版本支持的功能较多,我安装的是SmartFoxServerPRO_1.6.2二、需要java虚拟机支持,最好安装jre-6u7-windows-i586-p-s.exe,把Java\jre1.6.0_07文件夹下的所有文件复制,覆盖到SmartFoxServerPRO_1.6.2\j…

dup和dd指令

dup 功能: 和数据定义的伪指令配合使用,用来进行数据的重复 格式: 数据类型 重复的次数 dup (重复的数据) db 3 dup(0)相当于db 0,0,0;定义了3个字节,他们的字节都是0 db 3 dup(0,1,2)相当于 db 0,1,2&…

汇编指令(转)

一、数据传输指令  它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.  1. 通用数据传送指令.    MOV  传送字或字节.    MOVSX 先符号扩展,再传送.    MOVZX 先零扩展,再传送.    PUSH  把字压入堆栈.    POP  把字弹出堆栈.    …

oracle10g 克隆安装,克隆Oracle Home(10g2)

克隆一个已经存在的Oracle Home,免掉新安装oracle10g软件的痛苦,如果原Oracle Home已经安装了patch就省得打patch了。一、在目标主机172.19.111.37上做安装前准备工作1、增加组和用户(和克隆主机的目录结构一样)# groupadd oinstall# groupadd dba# user…

取地址符和解引用符的区别_(&)和解引用(*)运算符的地址以及C中的指针...

取地址符和解引用符的区别Here, we are discussing about the two most useful operators with the pointers, why and how they are used? 在这里,我们用指针讨论两个最有用的运算符 ,为什么以及如何使用它们? 1)运营商地址(&)…

汇编offset

功能: 取标号的偏移地址 assume cs:codesg codeseg segmentstart:mov ax,offset starts: mov ax,offset s codeseg ends end startmov ax,offset start 相当于mov ax,0,因为start是代码段中的标号,他所标记的指令是代码中的第一条指令&#…

細微之處看看mysql與sql server的一些差別

以前不怎麼使用mysql,最近有些事情,需要用到php和mysql。目前使用的版本是5.5.1 發現mysql與sql server有很多不同。可能逐漸地會整理一些文檔出來給大家參考。 今天第一篇說說,update操作的差異。在mysql中,如果update語句要設置…

php商品状态精品 热销,ecshop商品列表,商品详细页,热销,精品,搜索列表页调用商品销售量(已销售数量)...

ecshop各个页面调用商品销售量方法(原创可用)ECSHOP模板首页的推荐商品包括热销推荐和促销三个文件只对热销商品为例第一步:打开根目录/includes/lib_goods.php文件。在文件末尾添加方法function selled_count($goods_id){$sql "select sum(goods_number) as c…

c ++ stl_通过分配另一个列表的所有元素来创建列表| C ++ STL

c stlThere are two methods to implement it... 有两种方法可以实现它... 1 ) by assigning the existing list direct to the new list 1)通过直接将现有列表分配给新列表 list<int> list2 list1;2 ) by using list::assign() function 2)通过使用list :: assign(…

引用参数

• 默认情况下CLR规定所有方法的参数都按值传递的 • 参数类型分为:值类型参数和引用类型参数 • 参数传递方式:传值方式和传址方式 • Ref和Out的共同:传址传递 • Ref和Out的异同:ref修饰的参数必须在传递前对参数进行初始化;out反之,且必须在参数返回前进行初始化赋值 •在值…

jmp指令

功能&#xff1a; 无条件转移指令 jmp指令要给出两种信息&#xff1a; 转移的目标地址转移的距离&#xff08;段间转移、段内短转移、段内近转移&#xff09; 段内短转移&#xff1a; jmp short 标号&#xff09; assume cs:code code segmentstart:mov ax,0jmp short sad…

基于NIOS II的液晶显示设计——自定义图形库

基于NIOS II的液晶显示设计——自定义图形库 下面是我写的简单图形库 // graphics.h / #ifndef GRAPHICS_H_#define GRAPHICS_H_ #include"IO.h"#include"system.h"#include"alt_types.h"//定义SRAM缓存的基地址 #define SRAM_BASE LC…

在ASP.net中包含一个js文件

<script language"javascript" src"../../../Js/funBasic.js" type"text/javascript"></script><script language"javascript"><!--#INCLUDE VIRTUAL"*.js"--> </script>转载于:https://www.…

n个节点的二叉树n+1_使用C ++程序删除链接列表的M个节点后的N个节点

n个节点的二叉树n1Problem statement: 问题陈述&#xff1a; Given a Linked List, we have to delete N numbers of nodes after the M numbers of nodes. 给定一个链表&#xff0c;我们必须在M个节点之后删除N个节点。 Example: 例&#xff1a; Input: 1 → 2 → 3 → 4 →…

EAX、EBX、ECX、EDX

前面学习了8086的基本知识&#xff0c;今天正式开始学习win32平台的汇编 EAX&#xff1a;累加寄存器 32位&#xff0c;功能和8086中ax相同 mov eax,dword ptr [ebp-4] add eax,1 mov dword ptr [ebp-4],eaxEBX&#xff1a;基址寄存器 32位&#xff0c;功能和8086中bx相同 mov…

aspnet_Membership_GetUserByEmail////aspnet_Membership_GetUserByName

ALTERPROCEDUREdbo.aspnet_Membership_GetUserByEmail --通过邮箱获取用户名ApplicationNameNVARCHAR(256), EmailNVARCHAR(256)ASBEGINIF( EmailISNULL) SELECTu.UserName FROMdbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m …

php delete和truncate,TRUNCATE 删除表,无法回退。默认选择为整个表的内容,所以不能加条件。...

TRUNCATE 删除表&#xff0c;无法回退。默认选择为整个表的内容&#xff0c;所以不能加条件。DELETE 删除表&#xff0c;可以回退。可以带where 条件。建议使用delete。但是TRUNCATE 删除表数据比delete要快。使用TRUNCATE TABLE语句TRUNCATE TABLE语句提供了一种删除表中所有记…

【转】在Excel中如何输入平方米符号,输入立方米符号?

按住Alt键&#xff0c;在小键盘上输入178&#xff0c;然后放开Alt健&#xff0c;可以得到平方符号。 按住Alt键&#xff0c;在小键盘上输入179&#xff0c;然后放开Alt健&#xff0c;可以得到立方符号。转载于:https://www.cnblogs.com/temptation/archive/2011/04/25/2028587.…

dates.format_在SQL中使用DATES及其不同的内置函数NOW(),FORMAT()

dates.formatBasically, when we are working with dates, we need to be sure that the format of the date, we are trying to insert in the database is in format, and matches the format of the date column in the database. 基本上&#xff0c;当我们使用日期时&#…