- 创建用户组:groupadd dminstall
- 创建用户:useradd -g dminstall dm7dba
- 修改密码:passwd dm7dba
- 创建目录:mkdir /dmdb7
- 分配用户目录权限:chown -R /dmdb7
- 配置达梦环境变量:cd /home/dmdba ; vi .bash_profile
export DM_HOME=/dmdb7
export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH:$HOME/bin
- 生效环境变量:source .bash_profile ; 查看:echo $DM_HOME
- 配置文件最大打开数:vi /etc/security/
Dm7dba soft nofile 4096
Dm7dba hard nofile 65536
- 挂载iso文件到mnt目录下:
mount -o loop dm7_setup_rh6_64_ent_7.6.0.197_20190917.iso /mnt
cd /mnt
- 切换到dmdba用户:su - dm7dba
cd /mnt
- 执行安装程序./ -i
- Root 用户执行:/dmdb7/script/root/root_installer.sh
- 创建数据库:
cd /dmdb7/bin
./dminit path=/dmdb7/data db_name=DAMENG instance_name=DMSERVER port_num=5236
- root用户执行:/dmdb7/script/root/dm_service_installer.sh -t dmserver -p DMSERVER -i /dmdb7/data/DAMENG/
- 启动数据库:可工具启动 可以service DmServiceDMSERVER start(dm7dba)
- 连接数据库:disql SYSDBA/SYSDBA@127.0.0.1:5236(dm7dba)
- 查看表空间select tablespace_name from dba_tablespaces;
- 创建表空间:
创建一个表空间,初始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';
- 表空间online:alter tablespace tbs01 online;
- 查看密码策略:select para_name,para_value from v$dm_ini where para_name='PWD_POLICY';
- 修改密码策略:sp_set_para_value(1,'PWD_POLICY',10);
- 创建用户:
密码尝试登录次数 FAILED_LOGIN_ATTEMPS
密码失败锁定时间 PASSWORD_LOCK_TIME
密码过期时间 PASSWORD_LIFE_TIME
- 为数据库设置一个用户,该账户,可以创建自己表,有属于自己的独立的表空间,用户的密码要求每60天变更一次。
create user test identified by dameng123 limit password_life_time 60 default tablespace tbs01;
- 切换用户:conn TEST/dameng123或conn SYSDBA/SYSDBA;
- 查看角色:select role from dba_roles;
- 查看用户权限:
- select grantee,granted_role from dba_role_privs where grantee='TEST';
- select grantee,privilege from dba_sys_privs where grantee='PUBLIC';
- 分配创建表的权限给一个用户:grant create table to test;
- 用户管理
- 规划一个用户,账户60天变更一次密码,密码尝试连接2次失败,账户锁定5分钟,用户还可以查询表。
create user test1 identified by Test12345 limit password_life_time 60,failed_login_attemps 2,password_lock_time 5;;
grant select on to test1;
2)企业招聘一批录入人员,权限是固定的,只能录入city表。
角色:一类权限的集合。把某些特定的权限给一个固定的角色,然后再把角色分给用户。
SQL> create user test2 identified by Test12345;
SQL> create role r1;
SQL> grant insert on to r1;
SQL> grant references any table to r1;
SQL> grant r1 to test2;
SQL> conn test2/Test12345
SQL> insert into (city_id,city_name,region_id) values ('HS','洪山',7);
- 用户管理:
SQL> revoke insert on 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;//删除角色
- sql语句:
算出各个部门的平均工资?
SQL> select avg(salary) from group by department_id having avg(salary)>=10000;
平均工资大于20000;
select avg(salary) from group by department_id having avg(salary)>=10000;
算出各个部门的工资和,找出部门工资和大于200000的部门。
SQL> select department_id,sum(salary) from group by department_id having sum(salary)>200000;
Having 是分组后的数据进行过虑,不能单独使用,having 前面一定是有group by。
在select 后出现的列,都要出现在group by 后,聚合函数列不算。
- 子查询
子查询
子查询的结果是主查询的条件,子查询先于主查询运行。
返回值是唯一的。
语法:select () from () where () = ()
SQL> select employee_name,department_id from where department_id=(select department_id from where employee_name='马学铭');
- 查看表在哪个表空间:select table_name,tablespace_name from dba_tables where table_name='STU';
- 查看表有哪些约束:select table_name,constraint_name,constraint_type from dba_constraints where table_name='STU';
- 启用和禁用约束:
(迁移数据的时候,最好把约束禁用,迁移完成再启用)
SQL> alter table test.t9 disable constraint CONS134218782;
SQL> alter table test.t9 enable constraint CONS134218782;
- 重命名表:alter table rename to stuoo1;
- 增减列: alter table add name varchar(10) default 'aaaa';
- 删除列:alter table drop name;
- 创建试图:create view v1 as select * from ;
- 查看视图:select view_name,text from dba_views where view_name='V1';
- 备份与回复:
- 开归档 alter database mount;
alter database add archivelog 'type=local,dest=/dmdb7/arch,file_size=64,space_limit=0';
alter database archivelog;
alter database archivelog;
- 全备:backup database full backupset '/dmdb7/backup/full_bak';
- 增量备份:backup database increment backupset '/dmdb7/backup/incr_bak';
- 还原:restore tablespace tbs01 from backupset '/dmdb7/backup/full_bak/';
- 逻辑备份
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 ;