DM8sql基本语法

用户管理

创建用户

CREATE USER USR_FUT_YHGL_CJ IDENTIFIED BY "123456789";

设置用户的缺省表空间

CREATE TABLESPACE TBS_FUT_YHGL_BKJ DATAFILE 'FUT_BKJ_CJ02.dbf' SIZE 128;

CREATE USER USR_FUT_YHGL_BKJ IDENTIFIED BY "123456789" DEFAULT TABLESPACE TBS_FUT_YHGL_BKJ;

限制用户使用的最大存储空间

CREATE USER USR_FUT_YHGL_ZDKJ IDENTIFIED BY "123456789"  DISKSPACE LIMIT 64;

修改用户

ALTER USER USR_FUT_YHGL_CJ LIMIT SESSION_PER_USER 10, CONNECT_IDLE_TIME UNLIMITED;

删除用户

DROP USER USR_FUT_YHGL_CJ;

表空间管理

创建表空间,可以设定为固定大小和自动扩展

CREATE TABLESPACE FUT_BKJ_CJ02 DATAFILE 'FUT_BKJ_CJ02.dbf' SIZE 128 AUTOEXTEND ON;

向表空间增加数据文件

ALTER TABLESPACE FUT_BKJ_CJ01 ADD DATAFILE  'FUT_BKJ_CJ03.dbf' SIZE 128;

创建表和索引到新建表空间

CREATE TABLE TAB_FUT_BKJ_BSY (ID INT) TABLESPACE FUT_BKJ_BSY;

CREATE INDEX IDX_FUT_BKJ_BSY ON TAB_FUT_BKJ_BSY (ID) TABLESPACE FUT_BKJ_BSY;

修改表空间

--修改表空间名字

ALTER TABLESPACE FUT_BKJ_CJ01 RENAME TO FUT_BKJ_CJ03;

--修改数据文件的大小

ALTER TABLESPACE FUT_BKJ_CJ03 RESIZE DATAFILE  'FUT_BKJ_CJ01.dbf' TO 200;

删除表空间

DROP TABLESPACE FUT_BKJ_CJ02;

行列混合表空间

CREATE TABLESPACE TS1 DATAFILE '/dmdata/DAMENG/TS1.dbf' SIZE 128 WITH HUGE PATH '/dmdata/DAMENG/HUGE1';

CREATE TABLE AS SELECT创建表

CREATE TABLE ADV_GJGN_CRET2 AS SELECT * FROM ADV_GJGN_CRET1;

DROP TABLE IF EXISTS删除表

DROP TABLE IF EXISTS ADV_GJGN_DTIE;

修改用户的缺省表空间

ALTER USER USR_ADV_GJGN_QSBKJ DEFAULT TABLESPACE TS_ADV_GJGN_QSBKJ;

修改用户的索引缺省表空间

ALTER USER USR_ADV_GJGN_SYBKJ DEFAULT INDEX TABLESPACE TS_ADV_GJGN_SYBKJ;

执行计划操作符耗时统计

--开启ET功能统计 SQL 语句执行过程中每个操作符的实际开销

SP_SET_PARA_VALUE(1,'ENABLE_MONITOR',1);

SP_SET_PARA_VALUE(1,'MONITOR_SQL_EXEC',1);

--执行SQL语句,记录执行号。

SELECT COUNT(*) FROM TEST WHERE c3<1000000;

--查看对应SQL语句开销

ET(704);

闪回查询

--修改UNDO_RETENTION参数

sp_set_para_double_value(1,'UNDO_RETENTION',900);

--连接数据库成功后,执行如下SQL命令

SET TIME ON;

CREATE TABLE TEST_FLASH(id int,NAME VARCHAR2(100));

--开启闪回功能,执行如下SQL命令

SP_SET_PARA_VALUE(1,'ENABLE_FLASHBACK',1);

--插入数据,执行如下SQL命令

INSERT INTO TEST_FLASH VALUES(1,'TEST1');

INSERT INTO TEST_FLASH VALUES(2,'TEST2');

COMMIT;

SELECT * FROM TEST_FLASH;

--删除数据,执行如下sql命令,记录删除时间点

DELETE FROM TEST_FLASH WHERE ID=1;

COMMIT;

SELECT * FROM TEST_FLASH;

--因为误操作,误删除id等于1的数据,想查看原来的数据,执行如下sql命令

SELECT * FROM TEST_FLASH WHEN TIMESTAMP '2023-08-16 10:40:46';

--恢复被删除的数据,执行如下sql命令

CREATE TABLE TEST_FLASH_BAK AS SELECT * FROM TEST_FLASH WHEN TIMESTAMP '2023-08-16 10:40:46';

SELECT * FROM TEST_FLASH_BAK WHERE ID=1;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值