达梦操作笔记

 

  1. 创建用户组:groupadd dminstall
  2. 创建用户:useradd -g dminstall dm7dba
  3. 修改密码:passwd dm7dba
  4. 创建目录:mkdir /dmdb7
  5. 分配用户目录权限:chown dmdba.dminstall -R /dmdb7
  6. 配置达梦环境变量:cd /home/dmdba ; vi .bash_profile

    export DM_HOME=/dmdb7

export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH:$HOME/bin

 

  1. 生效环境变量:source .bash_profile ; 查看:echo $DM_HOME
  2. 配置文件最大打开数:vi /etc/security/limits.conf

Dm7dba soft nofile 4096

Dm7dba hard nofile 65536

  1. 挂载iso文件到mnt目录下:

mount -o loop dm7_setup_rh6_64_ent_7.6.0.197_20190917.iso /mnt

cd /mnt

  1. 切换到dmdba用户:su - dm7dba

     cd /mnt

  1. 执行安装程序./DMInstall.sh -i
  2. Root 用户执行:/dmdb7/script/root/root_installer.sh
  3. 创建数据库:

cd /dmdb7/bin

./dminit path=/dmdb7/data db_name=DAMENG instance_name=DMSERVER port_num=5236

  1. root用户执行:/dmdb7/script/root/dm_service_installer.sh -t dmserver -p DMSERVER -i /dmdb7/data/DAMENG/dm.ini
  2. 启动数据库:可工具启动 可以service DmServiceDMSERVER start(dm7dba)
  3. 连接数据库:disql SYSDBA/[email protected]:5236(dm7dba)
  4. 查看表空间select tablespace_name from dba_tablespaces;
  5. 创建表空间:

创建一个表空间,初始50M,表空间由2个数据文件组成,分别存储到不同的磁盘上,每次扩展1m,每个数据文件最大100M

create tablespace tbs1 datafile '/dmdb7/data/DAMENG/tbs1_01.dbf' size 50 aut

oextend on next 1 maxsize 100,'/dmdb7/data/DAMENG/tbs1_02.dbf' size 50 autoextend on next 1 maxsize 100;

19、查看数据文件:select file_name,tablespace_name from dba_data_files;

20、添加数据文件:alter tablespace tbs01 add datafile '/dmdb7/data/DAMENG/tbs01_03.dbf' size 50 autoextend on next 1 maxsize 100;

21、更改表空间数据文件存储位置

   1)查看表空间状态:select TABLESPACE_NAME,STATUS from dba_tablespaces;

   2)离线表空间:alter tablespace tbs01 offline;

   3)修改存储位置:

alter tablespace tbs01 rename datafile '/dmdb7/data/DAMENG/tbs01_03.dbf' to '/dmdb7/data/tbs01_03.dbf';

  1. 表空间online:alter tablespace tbs01 online;
  1. 查看密码策略:select para_name,para_value from v$dm_ini where para_name='PWD_POLICY';
  2. 修改密码策略:sp_set_para_value(1,'PWD_POLICY',10);
  3. 创建用户:

密码尝试登录次数  FAILED_LOGIN_ATTEMPS

密码失败锁定时间  PASSWORD_LOCK_TIME

密码过期时间  PASSWORD_LIFE_TIME

  1. 为数据库设置一个用户,该账户,可以创建自己表,有属于自己的独立的表空间,用户的密码要求每60天变更一次。

create user test identified by dameng123 limit password_life_time 60 default tablespace tbs01;

  1. 切换用户:conn TEST/dameng123或conn SYSDBA/SYSDBA;
  2. 查看角色:select role from dba_roles;
  1. 查看用户权限:
  1. select grantee,granted_role from dba_role_privs where grantee='TEST';
  2. select grantee,privilege from dba_sys_privs where grantee='PUBLIC';
  1. 分配创建表的权限给一个用户:grant create table to test;
  1. 用户管理
  1. 规划一个用户,账户60天变更一次密码,密码尝试连接2次失败,账户锁定5分钟,用户还可以查询dmhr.employee表。

create user test1 identified by Test12345 limit password_life_time 60,failed_login_attemps 2,password_lock_time 5;;

grant select on dmhr.employee to test1;

2)企业招聘一批录入人员,权限是固定的,只能录入city表。

角色:一类权限的集合。把某些特定的权限给一个固定的角色,然后再把角色分给用户。

SQL> create user test2 identified by Test12345;

SQL> create role r1;

SQL> grant insert on dmhr.city to r1;

SQL> grant references any table to r1;

SQL> grant r1 to test2;

SQL> conn test2/Test12345

SQL> insert into dmhr.city(city_id,city_name,region_id) values ('HS','洪山',7);

  1. 用户管理:

SQL> revoke insert on dmhr.city from r1;//撤销权限

SQL> alter user test2 identified by Dameng12345;//修改密码

SQL> alter user test account lock;//锁定用户

SQL> alter user test account unlock;//解锁用户

SQL> drop user test2;//删除用户

SQL> drop user test cascade; ----慎用,删除前做备份(级联删除表空间数据)

SQL> drop role r1;//删除角色

  1. sql语句:

 

算出各个部门的平均工资?

SQL> select avg(salary) from dmhr.employee group by department_id having avg(salary)>=10000;

平均工资大于20000;

select avg(salary) from dmhr.employee group by department_id having avg(salary)>=10000;

算出各个部门的工资和,找出部门工资和大于200000的部门。

SQL> select department_id,sum(salary) from dmhr.employee group by department_id having sum(salary)>200000;

Having 是分组后的数据进行过虑,不能单独使用,having 前面一定是有group by。

在select 后出现的列,都要出现在group by 后,聚合函数列不算。

 

  1. 子查询

子查询

子查询的结果是主查询的条件,子查询先于主查询运行。

返回值是唯一的。

语法:select () from () where () = ()

SQL> select employee_name,department_id from dmhr.employee where department_id=(select department_id from dmhr.employee where employee_name='马学铭');

 

  1. 查看表在哪个表空间:select table_name,tablespace_name from dba_tables where table_name='STU';
  2. 查看表有哪些约束:select table_name,constraint_name,constraint_type from dba_constraints where table_name='STU';
  1. 启用和禁用约束

(迁移数据的时候,最好把约束禁用,迁移完成再启用)

SQL> alter table test.t9 disable constraint CONS134218782;

SQL> alter table test.t9 enable constraint CONS134218782;

  1. 重命名表:alter table test.stu rename to stuoo1;
  2. 增减列: alter table test.stu add name varchar(10) default 'aaaa';
  3. 删除列:alter table test.stu drop name;
  4. 创建试图:create view v1 as select * from dmhr.employee;
  5. 查看视图:select view_name,text from dba_views where view_name='V1';
  1. 备份与回复:
  1. 开归档 alter database mount;

alter database add archivelog 'type=local,dest=/dmdb7/arch,file_size=64,space_limit=0';

alter database archivelog;

alter database archivelog;

  1. 全备:backup database full backupset '/dmdb7/backup/full_bak';
  2. 增量备份:backup database increment backupset '/dmdb7/backup/incr_bak';
  3. 还原:restore tablespace tbs01 from backupset '/dmdb7/backup/full_bak/';
  4. 逻辑备份

Dexp dimp

可以备表,用户,模式,数据库

导出:

dexp sysdba/dameng123 file=/dm7/backup/dexp_bak.dmp tables=emp;

导入

dimp sysdba/dameng123 file=/dm7/backup/dexp_bak.dmp tables=emp ignore=y

 

6)作业(管理工具配置);查看:select * from sysjob.sysjobs;

 

你可能感兴趣的:(达梦操作笔记)