达梦数据查询编码_达梦常用sql

1、查看存储过程创建脚本

select TEXT from dba_source where owner= 'XXX' and type = 'PROC'

注:owner是指用户名,type可以查看类型、比如视图、建表等。

2、查看表的存储大小

select segment_name, bytes/1024/1024

from user_segments

where segment_type = 'TABLE'

order by 2 desc

3、查看索引信息

select

'select indexdef('||a.id||',1) union all'

from

sysobjects a,sysindexes b,dba_indexes c

where

a.id=b.id and b.flag=0

and a.name=c.index_name

and c.owner='XXX';

4、查看对应的表的索引信息

select

a.name ,

c.table_name ,

c.tablespace_name,

d.column_name

from

sysobjects a ,

sysindexes b ,

dba_indexes c,

user_ind_columns d

where

a.id =b.id

and b.flag =0

and a.name =c.index_name

and c.owner ='XXX'

and a.name =d.index_name

and a.subtype$='INDEX';

5、查看锁

查询表在被使用的SESS_ID

SELECT

cast(rowid as varbinary) &gt&gt 58 ep_n,*

FROM V$SESSIONS

WHERE

STATE &lt&gt'IDLE'

AND SQL_TEXT IS NOT NULL;

查询结果中SQL_TEXT是SQL语句,可以看都在执行什么,

再用sp_close_session($SESS_ID); --关掉session号为$SESS_ID的连接关掉。

注:如果是分布式,第一列代表对应的节点位置。

6、控制台执行导出文本

这里采用spool的方式

DIsql -S xxx/xxx@jjhjk:5236 `d:\E_BASEINFO.sql

--spool_AO_OPANOMALY.sql

spool的文件

set ECHO off

SET NEWPAGE NONE

SET HEADING OFF

SET PAGESIZE 0

SET TRIMSPOOL ON

SET LINESIZE 2500

set LINESHOW off

SET TIMING OFF

SET FEED OFF

SET CHAR_CODE UTF8

SPOOL D:\aaa.txt

select

'|'||a||'|,|'||b||'|,|'||c||'|,|'||d||'|,|'||e||'|,|'||f||'|,|'||g||'|,|'||h||'|,|'||i||'|,|'||g||'|,|'||k||'|,|'||l||'|,|'||m||'|'

from "aaa" where rownum&lt=100;

SPOOL OFF ;

7、修改列的数据类型

ALTER TABLE PRODUCTION.PRODUCT_REVIEW MODIFY NAME VARCHAR(8) DEFAULT '刘青' NOT NULL;

8、

具有DBA权限的用户需要对EMPLOYEE_ADDRESS表增加一列,列名为ID(序号),

数据类型为INT,值小于10000。

ALTER TABLE RESOURCES.EMPLOYEE_ADDRESS ADD ID INT PRIMARY KEY CHECK (ID

&lt10000);

9、具有 DBA 权限的用户需要删除 PRODUCT 表的 PRODUCT_SUBCATEGORYID 一列。

ALTER TABLE PRODUCTION.PRODUCT DROP PRODUCT_SUBCATEGORYID CASCADE;

10、 具有DBA权限的用户需要在PRODUCT表上增加UNIQUE约束, UNIQUE字段为

NAME。

ALTER TABLE PRODUCTION.PRODUCT ADD CONSTRAINT CONS_PRODUCTNAME UNIQUE(NAME);

11、使用 REBUILD 将索引置为生效状态。

ALTER INDEX INDEX_C1 REBUILD ;

12、查看每个表的数据容量

declare

used_space number;

begin

for rec in

(

select table_name from user_tables order by 1

)

loop

execute immediate 'select table_used_pages(''用户名'','''||rec.table_name||''')*(select page()/1024)/1024 USE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值