db_file_name_convert
时间: 2023-04-12 17:04:41 浏览: 73
db_file_name_convert是Oracle数据库中的一个参数,用于将一个操作系统上的文件路径转换为另一个操作系统上的文件路径。这个参数通常用于在不同操作系统之间迁移数据库时,因为不同操作系统的文件路径格式不同,如果不进行转换,可能会导致数据库无法正常启动。
相关问题
实施ORACLE ADG 时,主库的系统表空间文件和用户表空间文件,放在不同的目录如 /opt, /data目录下,如果备库规划是放到同一个目录如/data下,那么如何设置data_file_convert参数?
如果主库的系统表空间文件和用户表空间文件分别放在不同的目录下,而备库的规划是放到同一个目录下,可以通过以下步骤设置data_file_convert参数:
1. 在备库上创建与主库相同的目录结构,以匹配主库上表空间文件的路径。
2. 在备库的同一目录下,创建符号链接,将所有主库上的表空间文件链接到备库上的相应目录中。例如,假设主库上的表空间文件分别位于 /opt 和 /data 目录下,备库上的表空间文件位于 /data 目录下,则可以在备库上创建以下符号链接:
```
ln -s /opt/system01.dbf /data/system01.dbf
ln -s /opt/users01.dbf /data/users01.dbf
```
3. 设置data_file_convert参数,将主库上表空间文件的路径映射到备库上的符号链接路径。例如,在备库上设置以下参数:
```
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=standby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby';
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(PRIMARY,STANDBY)';
ALTER SYSTEM SET FAL_SERVER='standby';
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT='AUTO';
ALTER SYSTEM SET DATA_FILE_CONVERT='/opt/','/data/';
```
这将使备库能够正确地将主库上的表空间文件复制到备库上的同一目录中,从而实现正确的数据保护和高可用性。
帮我接一个sql脚本,使用hivesql 批量count fdp库下表名开头为db_的表的数据量
好的,以下是一个完整的HiveSQL脚本,用于批量统计 fdp 库下表名开头为 db_ 的表的数据量:
```sql
USE fdp;
-- 创建临时表用来存储表名
CREATE TEMPORARY TABLE IF NOT EXISTS tables_to_count AS
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'fdp' AND table_name LIKE 'db_%';
-- 使用动态 SQL 语句批量统计表的数据量
SET hive.exec.dynamic.partition.mode=nonstrict;
SET hive.exec.dynamic.partition=true;
SET hive.exec.max.dynamic.partitions=100000;
SET hive.exec.max.dynamic.partitions.pernode=100000;
SET hive.exec.max.created.files=100000;
SET mapred.reduce.tasks=8;
SET mapred.map.tasks=8;
SET hive.auto.convert.join=true;
SET hive.optimize.bucketmapjoin=true;
SET hive.optimize.bucketmapjoin.sortedmerge=true;
SET hive.optimize.bucketmapjoin.sortedmerge.bucketmapjoin=true;
SET hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
SET hive.map.aggr=true;
SET hive.merge.mapfiles=true;
SET hive.merge.mapredfiles=true;
SET hive.merge.size.per.task=256000000;
SET hive.merge.smallfiles.avgsize=16000000;
SET hive.merge.orcfile.stripe.level=true;
SET hive.merge.orcfile.stripe.level.threshold=0.5;
SET hive.merge.tezfiles=true;
SET hive.merge.smallfiles.avgsize=134217728;
SET hive.merge.size.per.task=1073741824;
SET hive.merge.orcfile.stripe.level=true;
SET hive.merge.orcfile.stripe.level.threshold=0.5;
SET hive.merge.mapfiles=true;
SET hive.merge.mapredfiles=true;
SET mapred.max.split.size=512000000;
SET hive.exec.dynamic.partition=true;
SET hive.exec.dynamic.partition.mode=nonstrict;
SET hive.enforce.bucketing=true;
SET hive.exec.max.dynamic.partitions=100000;
SET hive.exec.max.dynamic.partitions.pernode=100000;
SET hive.exec.max.created.files=100000;
SET hive.auto.convert.join=true;
SET hive.optimize.bucketmapjoin=true;
SET hive.optimize.bucketmapjoin.sortedmerge=true;
SET hive.optimize.bucketmapjoin.sortedmerge.bucketmapjoin=true;
SET hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
SET hive.map.aggr=true;
SET hive.merge.mapfiles=true;
SET hive.merge.mapredfiles=true;
SET hive.merge.size.per.task=256000000;
SET hive.merge.smallfiles.avgsize=16000000;
SET hive.merge.orcfile.stripe.level=true;
SET hive.merge.orcfile.stripe.level.threshold=0.5;
SET hive.merge.tezfiles=true;
SET hive.merge.smallfiles.avgsize=134217728;
SET hive.merge.size.per.task=1073741824;
SET hive.merge.orcfile.stripe.level=true;
SET hive.merge.orcfile.stripe.level.threshold=0.5;
SET hive.merge.mapfiles=true;
SET hive.merge.mapredfiles=true;
SET mapred.max.split.size=512000000;
-- 构造动态 SQL 语句
SET hivevar:tables_to_count_sql = CONCAT_WS(" UNION ALL ",
SELECT CONCAT("SELECT '", table_name, "' AS table_name, COUNT(*) AS count FROM fdp.", table_name)
FROM tables_to_count
);
-- 执行动态 SQL 语句
SELECT * FROM (${hivevar:tables_to_count_sql}) t;
```
在上面的脚本中,首先创建了一个临时表 `tables_to_count`,用来存储需要统计的表名。然后使用 `CONCAT()` 函数构造了一个动态 SQL 语句,该语句会自动遍历 `tables_to_count` 表中的所有表名,并统计每个表的数据量。最后,执行动态 SQL 语句,并输出结果。
注意,上面的脚本中使用了一些 Hive 的高级特性,如动态 SQL、临时表、变量等。如果您不熟悉这些特性,建议先学习一下 Hive 的基础知识。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)