基础命令
数据库
连接数据库
hdbsql -u system -p '{passwd}' -i 02 -d {dbname}
查询所有数据库
SELECT DATABASE_NAME, ACTIVE_STATUS FROM M_DATABASES;
停止数据库,会修改数据库状态为No
ALTER SYSTEM STOP DATABASE testdb;
启动数据库,会修改数据库状态为Yes
ALTER SYSTEM START DATABASE testdb;
模式
查询所有模式
SELECT SCHEMA_NAME FROM SYS.SCHEMAS;
表
查看所有表
SELECT * FROM SYS.TABLES WHERE SCHEMA_NAME = '{schema_name}';
配置
查看数据库的卷VOLUMN信息
SELECT * FROM M_DISKS;
USAGE_TYPE值说明:
值 | 含义 |
---|---|
DATA | 数据文件路径,包括表数据、索引数据等。 |
DATA_BACKUP | 数据备份文件路径,用于数据恢复和灾难恢复。 |
LOG | 事务日志文件,事务日志记录了数据库中发生的所有事务操作,以确保数据库的一致性和持久性。 |
LOG_BACKUP | 存储事务日志的备份文件,事务日志备份文件用于恢复数据库到某个特定时间点之后的状态。 |
TRACE | 存储数据库的跟踪文件。跟踪文件记录了数据库系统中各种活动的详细信息,如 SQL 查询、性能统计等。跟踪文件通常用于故障排查和性能优化。 |
获取数据库的日志归档模式,获取到的数据库名字全部都为空。
SELECT DATABASE_NAME,KEY,VALUE FROM SYS_DATABASES.M_INIFILE_CONTENTS WHERE FILE_NAME = 'global.ini' AND KEY='log_mode'
获取归档日志目录
SELECT DATABASE_NAME, SECTION, KEY, VALUE from SYS_DATABASES.M_INIFILE_CONTENTS where FILE_NAME='global.ini' and (key='basepath_logbackup' or key='basepath_catalogbackup');
修改全局的日志归档目录
alter system alter configuration ('global.ini', 'SYSTEM') set ('persistence', 'basepath_logbackup') = '/usr/sap/LYF/HDB02/backup/log_test' WITH RECONFIGURE
修改单个库的日志归档目录,观察发现单个库的日志归档目录优先级比全局那个要高
alter system alter configuration ('global.ini', 'DATABASE', 'TEST') set ('persistence', 'basepath_logbackup') = '/usr/sap/LYF/HDB02/backup/log_test' WITH RECONFIGURE
修改数据库隔离级别为低,修改后还需要重启HDB: HDB stop/ HDB start,否则创建不了数据库
alter system alter configuration ('global.ini', 'SYSTEM') set ('multidb', 'database_isolation') = 'low' with reconfigure;
修改数据库隔离级别为高,修改后还需要重启HDB: HDB stop/ HDB start,否则还能创建数据库
alter system alter configuration ('global.ini', 'SYSTEM') set ('multidb', 'database_isolation') = 'high' with reconfigure;
查看数据库连接端口
\s
备份
hana1.0 备份参数中不支持添加COMMENT参数
BACKUP DATA FOR {database_name} USING FILE ('/data/backup_hana1','xxxxx')
查询数据备份记录
select * from sys_databases.m_backup_catalog WHERE (ENTRY_TYPE_NAME='complete data backup' OR ENTRY_TYPE_NAME='incremental data backup' OR ENTRY_TYPE_NAME='differential data backup');