基礎命令
數據庫
連接數據庫
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');
備份報錯
* 447: backup could not be completed: [7010001] Data with name ‘topology’ not found. SQLSTATE: HY000.