dm7数据库安装和使用

创建用户和组

[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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值