- 创建安装用户组 dinstall。
groupadd -g 12349 dinstall
- 创建安装用户 dmdba。
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
- 初始化用户密码。
passwd dmdba
Dba123pwd!
4.挂载iso
mount -o loop dm8_20210818_x86_rh6_64_ent_8.4.2.18_pack14.iso /mnt/disk
5.实例安装时执行脚本
mv /DM8/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service
systemctl enable DmServiceDMSERVER.service
systemctl start DmServiceDMSERVER.service
6.数据库启停:
后台 服务启停(root) systemctl start|status|stop|enable|disable DmServiceDMSERVER
操作系统命令 ./DmServiceDMTESTSVR start/stop/mount/status
7.配置环境变量
export LD_LIBRARY_PATH=“$LD_LIBRARY_PATH:/dm8/bin”
export DM_HOME=“/dm8”
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
#可不配
export DISPLAY=:2.0
8.控制文件转化为可读文本:
dmctlcvt type=1 src=dm.ctl dest=dmctl.txt
9.查询数据库参数类型:
select distinct para_type from v$dm_ini;
READ ONLY:只读参数,只能通过修改 dm.ini 文本文件修改此参数(需要重启数据库才能生效)。
SYS:动态(系统级)参数。可以即可以修改内存中的值,也可以修改参数文件中的值。可以在数据库运行时修改。
SESSION:动态(会话级)参数,可以即可以修改内存中的值,也可以修改参数文件中的值。可以在数据库运行时修改,且可以只针对当前会话生效。
IN FILE:静态参数,可以在数据库运行时修改,只能修改配置文件中的值,不能修改内存中的值;需要重启数据库才能生效。
10.修改参数
1)alter system set ‘参数名’=‘参数值’ BOTH/MEMORY/SPFILE
2)通过函数
SP_SET_PARA_VALUE:修改整型参数
SP_SET_PARA_DOUBLE_VALUE:修改浮点型参数
SP_SET_PARA_STRING_VALUE:修改字符型参数
11.查询系统函数 v$ifun,v$ifun_arg
12.内存结构查询
数据缓冲区:v$bufferpool
sql缓冲区相应的数据字典
select * from v$cacheitem;
select * from v$cachesql;
select * from v$cachepln;
select * from v$cachers;
内存池:v$memorypool
单进程多线程结构
select * from V$process; --进程
select * from v$threads; --线程
内存结构和参数优化脚本(自带)
13.创建表空间
create tablespace tbs DATAFILE ‘TBS01.DBF’ size 32;
DM 数据文件大小,最大值不能低于页大小的 4096 倍(如果页大小是 8K,最小值将不低于 32M),最大值为页大小的 2 的 31 次方-1(如果页大小是 8K,最大值为 16T-1)。
修改表空间
alter TABLESPACE tbs add DATAFILE ‘TBS02.DBF’ size 128 AUTOEXTEND on NEXT 2
MAXSIZE 20480;
修改表空间数据文件的扩展属性:
alter tablespace tbs DATAFILE ‘TBS01.DBF’ AUTOEXTEND on NEXT 2 MAXSIZE
20480;
alter tablespace tbs DATAFILE ‘TBS01.DBF’ AUTOEXTEND off;
修改表空间数据文件的大小:
alter tablespace tbs RESIZE DATAFILE ‘TBS01.DBF’ TO 128;
临时表空间管理
select * from v$parameter where name like ‘TEMP%’
收缩临时表空间:
sp_trunc_ts_file(3,0,100);
14.日志文件管理
增加重做日志文件
alter DATABASE ADD LOGFILE ‘/dm8/data/DM/DM03.log’ SIZE 300;
alter database mount;
alter database RENAME LOGFILE ‘DM01.log’ TO ‘/dm8/data/DM/REDO/DM01.log’;
alter database RENAME LOGFILE ‘DM02.log’ TO ‘/dm8/data/DM/REDO/DM02.log’;
alter database RENAME LOGFILE ‘DM03.log’ TO ‘/dm8/data/DM/REDO/DM03.log’;
alter database open;
不支持切换日志?
查询视图 select * fron v$rlog;
15.归档管理
打开归档
alter database mount
alter database archivelog;
select archive_mode from v$archive_log;
alter database add archivelog ‘type=local,dest=/dm8/arch,file_size=64,space_limit=10240’;
select * from v$dm_arch_ini;
操作系统文件dmarch.ini
数据库自动完成归档的切换,DM 支持手工切换归档;
alter SYSTEM ARCHIVE LOG CURRENT; alter SYSTEM SWITCH LOGFILE;
alter DATABASE ARCHIVELOG CURRENT;
归档文件的删除:
select * from v$ifun t where name like ‘SF_ARCHIVELOG_%’;
SF_ARCHIVELOG_DELETE_BEFORE_LSN
SF_ARCHIVELOG_DELETE_BEFORE_TIME
16.用户权限
PWD_POLICY 参数指定系统的口令策略,默认为 2;
select * from v$parameter t where t.name = ‘PWD_POLICY’; create user hr IDENTIFIED by dameng123;
修改系统口令策略:
alter SYSTEM set ‘PWD_POLICY’ = 15 BOTH;
0 无策略
1 禁止与用户名相同
2 口令长度不小于 9
4 至少包含一个大写字母(A-Z)
8 至少包含一个数字(0-9)
16 至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符号)
口令策略可单独应用,也可组合应用。组合应用时,如需要应用策略 2 和 4,则设置口令策略为 2+4=6 即可。
最大复杂度31
特殊字符登录数据库:disql xxx/‘“Dmeng@123”’
alter user hr LIMIT FAILED_LOGIN_ATTEMPS 5, PASSWORD_LOCK_TIME 3;
操作系统验证:enable_local_osauth
具体步骤:要新建dmdba用户组 groupadd dmdba
usermod -G dmdba dmdba
修改数据库参数:sp_set_para_value(2,‘ENABLE_LOCAL_OSAUTH’,1);
重启数据库
权限视图:
dba_sys_privs
dba_tab_privs
dba_role_privs
17.模式
模式:查询视图: SYSOBJECT
set SCHEMA dmhr authorization USERNAME;
select sys_context(‘userenv’,‘surrent_schema’)
DM 默认创建的是索引组织表,Oracle 默认创建的是堆表。
18.创建索引
create index ix_emp01_employeename ON HRTEST.T_EMP01(EMPLOYEE_NAME);
统计信息收集
dbms_stats.gather_table_stats(‘USER’,‘TABLE’)
查询事务等待:
select * from sys.“v$trxwait”;
select * from v$lock t where t.blocked =1;
19.联机备份恢复
backup database; --全量备份
backup database increment; --增量备份,默认差异增量备份
backup database full to ONLINEBAK_01 backupset
‘/dm8/backup/full/ONLINEBAK_01’;
增量备份一:
backup database increment BASE ON BACKUPSET ‘/dm8/backup/full/ONLINEBAK_01’ to ONLINEBAKINCR_01 backupset ‘/dm8/backup/incr/ONLINEBAK_01’ ;
增量备份二:
backup database increment with BACKUPDIR ‘/dm8/backup/full/’ --指定最近一次全量备份所在目录
to
ONLINEBAKINCR_02 backupset ‘/dm8/backup/incr/ONLINEBAK_02’ ;
增量累积备份:
backup database increment cumulative with backupdir ‘/xxx/xx/xxFULL’ to XXX备份名 backupset ‘/xxx/xx/xxincr’
归档日志不连续导致无法备份处理:alter system checkpoint(100)
校验备份集:check
添加备份目录:sf_bakset_backup_dir_add(‘DISK’,‘XXX/XXX路径’);
库级的还原恢复:recover database ‘/dm8/data/DM/dm.ini’ update db_magic;
20.执行作业
dbms_job_run(jobidxxx)
21.odbc
odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = sysdba
PWD = oracle123
TCP_PORT = 5236
isql dm8 -v