SAP Note 449891 - Temporary database objects in BW 3.x

本文解释了BW系统中使用的各种临时数据库对象,如表格、视图和触发器等,并详细介绍了这些对象的用途及如何安全地删除它们。

There are DB objects like tables, views, triggers and so on with the /BI0/0 name prefix. You cannot find these objects in the ABAP/4 Data Dictionary.

Other terms

Business Information Warehouse, temporary tables, query processing, DB02, BW, CLEAR_HLP_TBLS, ora-00942, truncate, SQLDBIF_DSQL2_OBJ_UNKNOWN

Reason and Prerequisites

The BW System uses different temporary objects for the query and other processes. The system often generates them outside of the ABAP DDIC for performance reasons or because they cannot be defined there (as stored procedures or triggers).
All these objects have names that start with /BI0/0... followed by a number for the object type and an identification having eight places. Thus a temporary table can be named for example /BI0/0101234567.
There are the following type prefixes:

  • /BI0/01 ... are temporary tables that save interim results in connection with the query processing, transfer results from one query to another, and so on. These tables are used once. You can delete them if you like. Otherwise the system deletes these tables automatically sometime and reuses their names in another stage.

 

  • /BI0/02 ... are like the /BI 0/01 ... ,however, they are used to process external hierarchies. For the results stored in these tables, a re-use mechanism exists. There is no risk of damage if you remove these tables;  however, as a result the performance of the queries can suffer.

 

  • /BI0/03 ... are views that are generated during the processing of a query. The BW System defines one view for every SQL query and accesses it via a simple SELECT * FROM <Viewname>. This can avoid some problems that can occur during the direct output of the SQL statement. There is no risk of damage if you remove these views, provided that they are not just used in a query, that means: Generally these views are removed after the processing of the query is completed. However, "remainders" of queries can exist which have not run successfully.

 

  • /BI0/04 ... are names of stored procedures that are used while the system compresses/condenses the InfoCube. They are removed after use.

 

  • /BI0/05 ... are names of triggers that are used while the system compresses/closes the InfoCube. They are removed after use.

 

  • /BI0/06 ... are names of tables that are used during the query processing, similar to the above-mentioned tables with prefix /BI0/01. These tables are not deleted but reused. However, you can delete them without problems.

 

  • /BI0/0D ... are names of tables that are used in context with the Open-Hub function. They contain materialized results of Open-Hub read processes. Even if these tables are temporary, the BW Open-Hub should control the structure and deletion of these tables. Therefore you should not delete these tables.

 

Solution

You can run report SAP_DROP_TMPTABLES to remove temporary objects.

Caution:

The SAP_DROP_TMPTABLES report deletes all objects (except for the temporary hierarchy tables) without taking into account whether or not they are still in use. This can result in terminations of queries, compression and data extraction, for example, if these are running simultaneously.

If temporary objects prove to be inconsistent under DB02, you must execute report SAP_UPDATE_DBDIFF once. If you use the DB02 afterwards once again, you must make sure that the system refreshes the results. The report copies information on differences between definitions in the ABAP DDIC and in the DB catalog into table DBDIFF. DB02 includes the table during the check for inconsistencies.
 

2025-08-09T07:00:54.522828Z 0 [Note] InnoDB: PUNCH HOLE support available 2025-08-09T07:00:54.522905Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2025-08-09T07:00:54.522915Z 0 [Note] InnoDB: Uses event mutexes 2025-08-09T07:00:54.522922Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier 2025-08-09T07:00:54.522928Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.13 2025-08-09T07:00:54.522934Z 0 [Note] InnoDB: Using Linux native AIO 2025-08-09T07:00:54.523486Z 0 [Note] InnoDB: Number of pools: 1 2025-08-09T07:00:54.523797Z 0 [Note] InnoDB: Using CPU crc32 instructions 2025-08-09T07:00:54.529590Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M 2025-08-09T07:00:54.541133Z 0 [Note] InnoDB: Completed initialization of buffer pool 2025-08-09T07:00:54.546831Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority(). 2025-08-09T07:00:54.563219Z 0 [Note] InnoDB: Highest supported file format is Barracuda. 2025-08-09T07:00:54.576763Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables 2025-08-09T07:00:54.576849Z 0 [Note] InnoDB: Setting file &#39;./ibtmp1&#39; size to 12 MB. Physically writing the file full; Please wait ... 2025-08-09T07:00:54.602910Z 0 [Note] InnoDB: File &#39;./ibtmp1&#39; size is now 12 MB. 2025-08-09T07:00:54.603961Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active. 2025-08-09T07:00:54.603981Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active. 2025-08-09T07:00:54.605764Z 0 [Note] InnoDB: 5.7.44 started; log sequence number 12245497 2025-08-09T07:00:54.606050Z 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool 2025-08-09T07:00:54.606647Z 0 [Note] Plugin &#39;FEDERATED&#39; is disabled. 2025-08-09T07:00:54.613080Z 0 [Note] InnoDB: Buffer pool(s) load completed at 250809 7:00:54 2025-08-09T07:00:54.622009Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them. 2025-08-09T07:00:54.622036Z 0 [Note] Skipping generation of SSL certificates as certificate files are present in data directory. 2025-08-09T07:00:54.622040Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher. 2025-08-09T07:00:54.622041Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher. 2025-08-09T07:00:54.622790Z 0 [Warning] CA certificate ca.pem is self signed. 2025-08-09T07:00:54.622926Z 0 [Note] Skipping generation of RSA key pair as key files are present in data directory. 2025-08-09T07:00:54.623218Z 0 [Note] Server hostname (bind-address): &#39;*&#39;; port: 3306 2025-08-09T07:00:54.623311Z 0 [Note] IPv6 is available. 2025-08-09T07:00:54.623363Z 0 [Note] - &#39;::&#39; resolves to &#39;::&#39;; 2025-08-09T07:00:54.623399Z 0 [Note] Server socket created on IP: &#39;::&#39;. 2025-08-09T07:00:54.625540Z 0 [Warning] Insecure configuration for --pid-file: Location &#39;/var/run/mysqld&#39; in the path is accessible to all OS users. Consider choosing a different directory. 2025-08-09T07:00:54.635564Z 0 [Note] Event Scheduler: Loaded 0 events 2025-08-09T07:00:54.636385Z 0 [Note] mysqld: ready for connections. Version: &#39;5.7.44&#39; socket: &#39;/var/run/mysqld/mysqld.sock&#39; port: 3306 MySQL Community Server (GPL)
08-10
你提供的日志是 **MySQL 数据库启动日志**,记录了 MySQL 服务在启动过程中的一系列初始化信息和运行状态。这些日志可以帮助我们了解 MySQL 是否正常启动、配置是否正确,以及是否存在潜在的安全或性能问题。 --- ## 📄 日志内容解析 以下是对日志中关键部分的详细解释: --- ### 🔧 InnoDB 初始化信息 ``` 2025-08-09T07:00:54.522828Z 0 [Note] InnoDB: PUNCH HOLE support available 2025-08-09T07:00:54.522905Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2025-08-09T07:00:54.522915Z 0 [Note] InnoDB: Uses event mutexes 2025-08-09T07:00:54.522922Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier 2025-08-09T07:00:54.522928Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.13 2025-08-09T07:00:54.522934Z 0 [Note] InnoDB: Using Linux native AIO ``` - 这些日志表示 InnoDB 存储引擎在初始化过程中使用了底层系统的特性(如原子操作、内存屏障、压缩、AIO)。 - `AIO`(异步 I/O)有助于提高数据库的 I/O 性能。 --- ### 🧠 缓冲池初始化 ``` 2025-08-09T07:00:54.529590Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M 2025-08-09T07:00:54.541133Z 0 [Note] InnoDB: Completed initialization of buffer pool ``` - InnoDB 缓冲池用于缓存数据和索引页,大小为 `128MB`。 - 缓冲池越大,性能越好,但应根据服务器内存合理配置。 --- ### 📁 临时表空间初始化 ``` 2025-08-09T07:00:54.576763Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables 2025-08-09T07:00:54.576849Z 0 [Note] InnoDB: Setting file &#39;./ibtmp1&#39; size to 12 MB. Physically writing the file full; Please wait ... 2025-08-09T07:00:54.602910Z 0 [Note] InnoDB: File &#39;./ibtmp1&#39; size is now 12 MB. ``` - 创建了临时表空间文件 `ibtmp1`,用于存储临时表。 - 该文件大小为 `12MB`。 --- ### 🔐 SSL/TLS 配置 ``` 2025-08-09T07:00:54.622009Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them. 2025-08-09T07:00:54.622036Z 0 [Note] Skipping generation of SSL certificates as certificate files are present in data directory. 2025-08-09T07:00:54.622040Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher. 2025-08-09T07:00:54.622041Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher. ``` - MySQL 检测到 SSL 证书文件并启用了 SSL 支持。 - **⚠️ 警告**:启用了过时的 TLSv1 和 TLSv1.1 协议,建议升级为 TLSv1.2 或更高版本以提高安全性。 --- ### 🌐 网络配置 ``` 2025-08-09T07:00:54.623218Z 0 [Note] Server hostname (bind-address): &#39;*&#39;; port: 3306 2025-08-09T07:00:54.623311Z 0 [Note] IPv6 is available. 2025-08-09T07:00:54.623363Z 0 [Note] - &#39;::&#39; resolves to &#39;::&#39;; 2025-08-09T07:00:54.623399Z 0 [Note] Server socket created on IP: &#39;::&#39;. ``` - MySQL 监听所有网络接口(`bind-address: *`),端口为 `3306`。 - 支持 IPv6 地址。 --- ### ⚠️ 安全警告 ``` 2025-08-09T07:00:54.625540Z 0 [Warning] Insecure configuration for --pid-file: Location &#39;/var/run/mysqld&#39; in the path is accessible to all OS users. Consider choosing a different directory. ``` - `--pid-file` 路径 `/var/run/mysqld` 对所有系统用户可访问,存在安全隐患。 - 建议修改为更安全的目录,如 `/run/mysqld` 并设置合适的权限。 --- ### ✅ 启动成功 ``` 2025-08-09T07:00:54.636385Z 0 [Note] mysqld: ready for connections. Version: &#39;5.7.44&#39; socket: &#39;/var/run/mysqld/mysqld.sock&#39; port: 3306 MySQL Community Server (GPL) ``` - MySQL 启动成功,监听端口为 `3306`,使用默认 socket 文件 `/var/run/mysqld/mysqld.sock`。 - 当前版本为 `MySQL 5.7.44`。 --- ## ✅ 建议与优化 | 问题 | 建议 | |------|------| | TLSv1/TLSv1.1 已弃用 | 配置 MySQL 使用 TLSv1.2 或 TLSv1.3 | | PID 文件路径不安全 | 修改 `--pid-file` 路径并设置权限 | | 缓冲池大小较小 | 若服务器内存充足,可将 `innodb_buffer_pool_size` 调整为物理内存的 70% | | 默认监听所有 IP | 若仅本地访问,建议设置 `bind-address = 127.0.0.1` | | 未启用慢查询日志 | 若需性能优化,建议启用慢查询日志 | --- ## 🛠️ 示例:MySQL 配置优化建议 ```ini [mysqld] bind-address = 127.0.0.1 pid-file = /run/mysqld/mysqld.pid innodb_buffer_pool_size = 512M ssl-ca = /var/lib/mysql/ca.pem ssl-cert = /var/lib/mysql/server-cert.pem ssl-key = /var/lib/mysql/server-key.pem tls-version = TLSv1.2,TLSv1.3 log-slow-queries = /var/log/mysql/mysql-slow.log long_query_time = 1 ``` --- ## ❓相关问题 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值