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用户,修改对应用户的策略: