达梦数据库简单实用实例

达梦数据库简单实用实例

一、在中标麒麟操作系统中安装达梦数据库(中标麒麟操作系统以及达梦数据库安装包可在其对应官方网站中获取)

(题外话,毕竟是在中标麒麟操作系统上做操作,所以常用的linux命令还是要懂点的^_^ ;(mkdir useradd groupadd passwd chmod chown ls cp))

二、安装完数据库之后,如何使用达梦数据库?下面就这点记录了这次操作的简单步骤(关于表空间以及用户的一些常见操作示例)

表空间:

A.创建表空间
  案例1:
        创建一个表空间tbs,数据文件存放到$DM_HOME/data/DB_NAME中,初始文件大小为31M。
错误:SQL> create tablespace tbs datafile '/dm7/data/DAMENG/TBS.dbf' SIZE 31;
初始文件的大小是page的4096倍。
        案例2:
创建一个表空间tbs2,要求2个数据文件,分别存放到不同的disk上,初始大小为32M,单个文件大100M。
SQL> create tablespace tbs2 datafile '/dm7/data/DAMENG/disk1/TBS2_1.dbf' size 32 autoextend on maxsize 100,'/dm7/data/DAMENG/disk2/TBS2_2.dbf' size 32 autoextend on maxsize 100;
找出表空间的可用大小?
SQL> select tablespace_name,bytes/1024/1024 from dba_free_space where tablespace_name='TBS2';
未指定扩展的大小是多少?
SQL> select page;
SQL> select sf_get_extent_size();
  案例3:
规划表空间tbs3,初始文件大小32M,每次扩展1M,最大33M。
SQL> create tablespace tbs3 datafile '/dm7/data/DAMENG/tbs3.dbf' size 32 autoextend on next 1 maxsize 33;


B.如何维护和管理表空间?
1.表空间不足
A.创建大的表空间数据导出在导入
B.把表空间数据文件resize
C.增加数据文件
SQL> alter tablespace tbs3 add datafile '/dm7/data/DAMENG/tbs3_1.dbf' size 32 autoextend on maxsize 50;
2.表空间更换存储位置
SQL> select tablespace_name,file_name from dba_data_files where tablespace_name='TBS';
注意:表空间更换存储位置,要求表空间offline
SQL> select tablespace_name,status from dba_tablespaces;
0表示的是online,1表是的是offline
SQL> alter tablespace tbs offline;
SQL> alter tablespace tbs rename datafile '/dm7/data/DAMENG/TBS.dbf' to '/dm7/tbs/TBS.dbf';
SQL> alter tablespace tbs online;
3.删除表空间
SQL> drop tablespace tbs3;
drop tablespace tbs3;
[-3412]:试图删除已经使用的表空间.
SQL> drop tablespace tbs;


用户
1.默认有哪些用户?
SQL> select username from dba_users;
行号     USERNAME  
---------- ----------
1          SYS (内置管理账户,不能登录数据库)
2          SYSDBA(管理员)
3          SYSAUDITOR(审计员)
4          SYSSSO (安全员--安全版)
版本:
SQL> select * from v$version;
开发版本,标准版,企业版,安全版
2.规划用户?
A.名字 字母开头  $#_
B.存储位置  表空间
C.密码安全策略 (尝试登录次数,锁定时间,密码有效期)
D.权限(系统,对象)
  规划用户test,用户的默认表空间为tbs2,密码尝试登录3次,失败锁定1分钟,密码有效期180天。可以创建表,可以查询dmhr.city表的所有数据。
SQL> create user test identified by "dameng123" limit  FAILED_LOGIN_ATTEMPS 3,password_lock_time 1,password_life_time 180 default tablespace tbs2;
授权:
系统权限 对数据库做什么?
对象权限 对数据库的数据对象做什么?
SQL> grant create table to test;
SQL> grant select on dmhr.city to test;
撤销权限:
SQL> revoke create table from test;
SQL> revoke select on dmhr.city from test;
3.规划角色?(一类权限的集合)
public  resource  dba
SQL> create role r1;
SQL> grant create table to r1;
SQL> grant select on dmhr.city to r1;
SQL> grant r1 to test;
确定用户的权限:
SQL> select grantee,granted_role from dba_role_privs where grantee='TEST';
SQL> select grantee,privilege from dba_sys_privs where grantee='R1';
4.维护用户和角色?
A.修改密码
SQL> alter user test identified by 123456789;
B.锁定和解锁
SQL> alter user test account lock;
SQL> select username,account_status from dba_users;
SQL> alter user test account unlock;  
C.删除用户
SQL> drop user test;
SQL> drop user test cascade;
D.启用和禁用角色
SQL> sp_set_role('R1',0);
SQL> sp_set_role('R1',1);
E.删除角色
    SQL>drop role r1;
注意:创建用户的时候会生成一个与用户同名的模式,如果你创建用户,模式名已经存在,用户无法创建。

 

你可能感兴趣的:(达梦)