达梦数据库常用操作

本文档详细介绍了达梦数据库的常用命令,包括登录、版本查看、许可证查询、模式与用户管理、数据查询、SQL脚本执行、数据导入导出以及数据库Key更换等操作。此外,还提供了在不同场景下的具体命令示例,如全量导出导入、指定库导入导出以及处理表已存在的导入策略。对于数据库管理员和开发者来说,是宝贵的参考资料。
摘要由CSDN通过智能技术生成

1、常用功能及命令

前提,命令行登录:
./disql SYSDBA/SYSDBA
版本查看
SQL> select * from v$version;

查询许可证期限
SQL> select * from v$license;
模式查询
SQL> select distinct owner from dba_objects;
获取当前模式名
SQL> select sys_context(‘userenv’, ‘current_schema’) from dual;
设置当前模式
SQL> set schema<模式名>; #只能设置到属于自己的模式。
用户查询
SQL> select username from dba_users;
查看某个模式下的所有表
SQL> select table_name from all_tables where owner=‘DRAGON_DATA’; #注意大小写
查看表结构
SQL> desc DRAGON_DATA.ACTIVE_DEVICE;
创建用户
SQL> create user dragon identified by “123456” default tablespace MAIN;
用户授权
SQL> grant SYS_ADMIN to dragon ;
SQL> grant DBA,RESOURCE,PUBLIC to dragon with admin option;
SQL> grant EXECUTE on SYS.DBMS_XMLGEN to dragon;

2、直接执行语句

使用-E 参数,将在运行 DIsql 时直接执行后续的一条或多条 SQL 语句。

[root@localhost bin]#cd /opt/dmdbms/bin
[root@localhost bin]#./disql SYSDBA/SYSDBA -e "SELECT * FROM DRAGON_USER;"

3、修改系统用户密码

方式一

[root@localhost bin]cd /opt/dmdbms/bin/
[root@localhost bin]./disql SYSDBA/SYSDBA@localhost:5236
SQL> alter user sysdba identified by "123456" default tablespace MAIN;

方式二

./disql userid=SYSDBA/SYSDBA@localhost:5236 -e "alter user sysdba identified by "123456" default tablespace MAIN;"

4、执行sql脚本

1)进入Disql执行sql脚本
SQL> start /data/dm/test.sql #通过start命令执行脚本
SQL> `/data/dm/test.sql(文件名test.sql前是反撇,通常在ESC键下方)

2)启动时执行sql脚本
如果在启动时运行,只能使用<`运行脚本>,同时需要加\或’进行转义。

[root@localhost bin]# ./disql SYSDBA/SYSDBA  \`/data/dm/test.sql

5、导入导出数据

1)全量导出导入
导出
将用户名和密码均为SYSDBA,端口号为5236的数据库采用FULL方式完全导出。导出文件名为db_all.dmp,导出的日志文件名为db_all_export.log, 导出文件的路径为/data/dm。

./dexp SYSDBA/SYSDBA FILE=db_all.dmp DIRECTORY=/data/dm LOG=db_all_export.log FULL=Y

导入
将逻辑备份导入到用户名和密码为SYSDBA,IP地址为192.168.1.100,端口号为60000的数据库。导入文件名为db_all.dmp, 导入的日志文件名为db_all.log,导入文件路径为/data/dm。

./dimp USERID=SYSDBA/SYSDBA@192.168.1.100:60000 FILE=db_all.dmp DIRECTORY=/data/dm_bak LOG=db_all_import.log FULL=Y

注意:导入之前原表已存在时,默认为直接报错,需要设置TABLE_EXISTS_ACTION参数
语法如下:
TABLE_EXISTS_ACTION=[SKIP | APPEND | TRUNCATE | REPLACE]
SKIP:跳过此表。
APPEND:直接向现有表中导入数据
TRUNCATE:先删除现有表中的数据,再向表中导入数据
REPLACE:先删除现有表,再导数据
2)指定库导入导出
导出
导出时不用FULL=Y,通过SCHEMAS指定模式,导出指定模式库。

./dexp USERID=SYSDBA/SYSDBA FILE=db_vnap_user.dmp DIRECTORY=/data/dm LOG=db_vnap_user_export.log  SCHEMAS=VNAP_USER

导入
导出时可以采用FULL=Y,全部导入指定模式库,也可通过SCHEMAS指定模式,导入部分库。

./dimp USERID=SYSDBA/SYSDBA@192.168.1.100:60000 FILE=db_vnap_user.dmp DIRECTORY=/data/dm LOG=db_all_import.log  SCHEMAS=VNAP_USER

6、替换达梦数据库key

1)已经到期
找到达梦数据库的安装目/opt/dmdbms/bin目录;
将key更改为dm.key拷贝到/opt/dmdbms/bin目录下;
然后kill掉服务 重新启动服务即可。
2) 未到期
先将key更改为dm.key拷贝到/opt/dmdbms/bin目录下;
用SYSDBA登录数据库,执行以下命令。

SQL> SP_LOAD_LIC_INFO();
SQL> select * from v$license;

注意:
key文件和数据库版本不匹配会报‘标记不匹配’的错误。可登录SYSSSO/SYSSSO用户,修改对应用户的策略:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值