创建用户和组
[root@localhost home]# groupadd dinstall
[root@localhost home]# useradd -g dinstall dmdba
[root@localhost home]# passwd dmdba
配置环境变量
[dmdba@localhost ~]$ cd /home/dmdba/
[dmdba@localhost ~]$ vi .bash_profile
配置内容如下:
export DM_HOME=/home/dmdba/dmdbms
export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH
[dmdba@localhost ~]$ source .bash_profile
配置完成后 执行 echo DM_HOME 若出现 /home/dmdba/dmdbms则成功,若没有出现则 执行:
source .bash_profile
设置文件最大打开数量
ulimit -n 65536
或者
vi /etc/security/limits.conf
添加以下内容:
dmdba soft nofile 4096
dmdba hard nofile 65536
挂载安装包,需在root用户下
[root@localhost ~]# mount -o loop /dmserver/home/dmdba/dmdbms_setup_rh6_64_ent_7.6.0.142_20190312.iso /mnt
切换到dmdba账号下,安装数据库
cd mnt
命令行安装:
./DMInstall.bin -i
创建数据库实例
./dminit path=/home/dmdba/dmdbms/data DB_NAME=DM02 instance_name=DMSERVER02 PORT_NUM=5236
su - root
cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -i /home/dmdba/dmdbms/data/DM02/dm.ini -p DMSERVER02
service DMSERVER02 start
netstat -ntl|grep 52
数据库实例登录
disql sysdba/SYSDBA@127.0.0.1:5236
数据库实例状态切换
select status$ from v$instance;
重做日志文件
SQL> select path from v$rlogfile;
SQL> alter database add logfile '/home/dmdba/dmdbms/data/DAMENG04.log' size 128;
SQL> select path,rlog_size/1024/1024 from v$rlogfile;
SQL> alter database resize logfile '/home/dmdba/dmdbms/data/DAMENG04.log' to 256;
数据库文件
select path from v$datafile;
控制文件
select para_name,para_value from v$dm_ini where para_name='CTL_PATH';
修改参数(v$parameter)
参数类型
0 Sys/session 动态参数,同时修改内存和配置文件
1 Read only 在数据库运行状态时,不能修改。
2 In file 静态参数,修改后,重启服务生效
SQL> Select para_name,para_value from v$dm_ini where para_name='BUFFER_POOLS';
行号 para_name para_value
---------- ------------ ----------
1 BUFFER_POOLS 19
3.2 命令
SP_PARA_SET_VALUE(SCOPE,PARA_NAME,PARA_VALUE);
SCOPE值:
1: 修改配置文件和内存
2:只修改配置文件
示例:
SP_SET_PARA_VALUE(2,’BUFFER’,1000);
表空间
视图
dba_tablespaces
v$tablespace
v$huge_tablespace
创建一个表空间,初始大小50M,最大100M
SQL> create tablespace tbs2 datafile '/home/dmdba/dmdbms/data/tbs2_01.dbf' size 50 autoextend on maxsize 100;
创建一个表空间,初始大小50M,表空间由2个数据文件组成,分别存储在不同的磁盘上,每次扩展1m,每个数据文件最大100M
create tablespace tbs3 datafile '/home/dmdba/dmdbms/data/tbs3_01.dbf' size 50 autoextend on next 1 maxsize 100,'/home/dmdba/dmdbms/data/tbs3_02.dbf' size 50 autoextend on next 1 maxsize 100;
扩展表空间
alter tablespace tbs1 add datafile '/home/dmdba/dmdbms/data/tbs1_02.dbf' size 32;
更换存储位置
0:----online
1:------offline
SQL> alter tablespace tbs3 offline;
SQL> select tablespace_name,status from dba_tablespaces;
SQL> alter tablespace tbs3 rename datafile '/home/dmdba/dmdbms/data/tbs3_02.dbf' to '/home/dmdba/dmdbms/data/tbs3_02.dbf';
SQL> alter tablespace tbs3 online;
SQL> select file_name,status,tablespace_name from dba_data_files;
用户管理
SQL> select username from dba_users;
案例1:建立用户test,用户可以创建自己的表,有属于自己的表空间,用户密码要求每60天变更一次。
SQL> create tablespace test datafile '/home/dmdba/dmdbms/data/test_01.dbf' size 32;
SQL>create user test identified by dameng123 limit password_life_time 60 default tablespace test;
SQL> select * from all_users;
SQL> conn test/dameng123
SQL>select grantee,granted_role from dba_role_privs where grantee='TEST';
SQL> select grantee,privilege from dba_sys_privs where grantee='PUBLIC';
SQL> grant create table to test;
案例2:规划一个用户test1,用户每60天变更一次密码,密码尝试连接2次失败,账号锁定5分钟,用户能查询sales.customer表。
create user test1 identified by dameng123 limit password_life_time 60,failed_login_attemps 2,password_lock_time 5;
//尝试登录2次后
SQL> select username,account_status,lock_date from dba_users;
SQL>alter user test1 account unlock;
SQL> select username,account_status,lock_date from dba_users;
SQL> grant select on t1 to test1; //赋权限
SQL> revoke select on t1 from test1; //发现权限过大
SQL> grant select(c1) on t1 to test1; //赋权限
SQL> conn test1/dameng123
SQL> select user;
SQL> select c1 from sysdba.t1 limit 10;
企业招聘一批录入人员,权限固定,只能录入city表。
SQL> conn sysdba/dameng123
SQL> create role r1;
SQL> grant insert on dmhr.city to r1;
SQL> create user test2 identified by dameng123;
SQL> grant r1 to test2;
SQL> conn test2/dameng123
SQL> insert into dmhr.city values('sdf','dfdss',7);
insert into dmhr.city values('sdf','dfdss',7);
[-5506]:没有引用表[REGION]上的权限.
SQL> conn sysdba/dameng123
SQL> grant references any table to test2;
SQL> conn test2/dameng123
SQL> insert into dmhr.city values('aaa','bbbb',6);
SQL> commit;
用户维护
收回权限:revoke
SQL> revoke select on dmhr.employee from test1;
赋权限:
SQL> grant references any table to test2;
修改用户密码
SQL> alter user test identified by 123456789;
锁定用户
SQL> alter user test account lock;
解锁用户
SQL> alter user test account unlock;
删除用户:
SQL> drop user test;
SQL> drop user test cascade;-------慎重,最好先备份
删除角色:
SQL> drop role r1;
物理备份
1)工具简介
冷备:(dmap服务打开的状态下,数据库是关闭的)
热备:(dmap服务一定是打开的,数据库也是打开的,数据库要开归档)
导入导出:dexp dimp
2)物理备份过程(冷备)
第一步:创建归档日志存放路径
#mkdir /home/dmdba/dmdbms/data/dm01/arch
第二步:开归档
SQL> alter database mount;
SQL> alter database add archivelog 'type=local,dest=/home/dmdba/dmdbms/data/dm01/arch,file_size=64,space_limit=0';
SQL> alter database archivelog;
SQL> alter database open;
SQL> select ARCH_MODE,STATUS$ from v$database;
第三步:停止数据库服务
[dmdba@localhost dm01]$ service DmServicedm01 stop
第四步:使用dmrman备份
说明:dmrman 命令必须在命令所在的bin目录下执行才行
[dmdba@localhost bin]$ pwd
/home/dmdba/dmdbms/bin
[dmdba@localhost bin]$ ./dmrman
RMAN> backup database '/home/dmdba/dmdbms/data/dm01/dm.ini';
根据提示信息找到备份文件位置
使用命令行备份(热备)
使用命令行备份,同样需要开归档,但是不需要停数据库服务
#mkdir /home/dmdba/dmdbms/data/backup
SQL> backup database full backupset '/home/dmdba/dmdbms/data/backup/full_bak';
增量备份
SQL> insert into user2.t1 values(user2.s1.nextval);
SQL> select checkpoint(1);
SQL> backup database increment backupset '/home/dmdba/dmdbms/data/backup/incr_bak';
恢复表空间
SQL> restore tablespace tbs3 from backupset '/home/dmdba/dmdbms/backup/full_bak2/';
SQL> alter tablespace tbs3 online;
逻辑备份
导入导出(dexp,dimp)
分为四种级别:分别独立,互斥不能同时存在
数据库级别:导出或导入整个数据库的访问对象
用户:导入或导出一个或多个用户所拥有的所有对象
模式:导入或导出一个或多个模式下的所有的对象
表级:导出或导入一个或多个指定表或表分区
逻辑导出
[dmdba@localhost tool]$ mkdir /home/dmdba/dmdbms/backup/dexp
[dmdba@localhost bin]$ ./dexp sysdba/dameng123@localhost:5236 file=dexp01.dmp log=dexp01.log directory=/home/dmdba/dmdbms/backup/dexp full=y
逻辑导入
[dmdba@localhost bin]$ ./dimp sysdba/SYSDBA@localhost:5239 file=/home/dmdba/dmdbms/backup/dexp/dexp01.dmp log=/home/dmdba/dmdbms/backup/dexp/dimp01.log
-----------------------------------------
关于达梦数据库更多的相关问题请浏览达梦云适配技术社区 达梦云适配技术社区 https://eco.dameng.com/