WARNING: You are creating/reusing datafile

本文讨论了在AIX环境下使用Oracle数据库时遇到的关于裸设备的警告问题,提供了两种解决方案来避免数据损坏风险,并解释了在创建逻辑卷时使用-B参数的重要性以确保数据文件位于零偏移设备上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WARNING: You are creating/reusing datafile /dev/rlvvg01_undotbs1.

WARNING: Oracle recommends creating new datafiles on devices with zero offset. The command "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs" can be used. Please contact Oracle customer support for more details.



网上查了下资料,发现是由于数据库创建时,裸设备未使用-T O参数,一般情况下,AIX 的逻辑卷前 4k 用于存储 control block (LVCB),在 Oracle 9iR2 之前,Oracle 软件自动跳过这 4k 而不用。这带来了一个潜在的问题,当 Oracle 的 db_block_size 大于 4k 的时候,一个 Block 可能跨在两个 PV/LUN/磁盘上。这样当系统崩溃的时候,很有可能造成大量的 IO 不完整,一个 PV 上 IO 写入,另一边可能未完成,启动 Oracle 的时候将会看到 ORA-1578 错误,这几乎是致命的。

解决方式有2种:

方案A:
1.    修改VG为scarable vg
#smit chvg
2.    用以下命令把lv的整个数据向前移动4K:dd if=/dev/lvname of=/dev/lvname  seek=0 skip=1 bs=4k

如:

dd if=/dev/rR_ZLTOOLSTMP2 of=/dev/rR_ZLTOOLSTMP2  seek=0 skip=1 bs=4k

方案B:
1.修改VG为scarable vg
#smit chvg
 2.重建裸设备
oraclevg
mklv -y'rR_ZLTOOLSTMP2' -t ‘raw’ -T O oraclevg 8
.....

3.    属性修改(两个节点都要操作)
#cd /dev
chown oracle:dba /dev/rcv*
chmod 755 /dev/ rcv*
4.    重建库
#su – oracle
$dbca



AIX上裸设备WARNING: Oracle recommends creating new datafiles on devices with zero offset.

在ITPUB上看到有人提问:

创建lv的时候 mklv -T O,怎么还在alert log里看到warning  : Oracle recommends creating new datafiles on devices with zero offset.

下面红字是原贴的内容:

环境
             RAC(oracle 10G )+AIX+HA+裸设备
操作 追加数据文件 扩充表空间
              #mklv -y'rkk_data02' -T O -w'n' -s'n' -r'n' -t raw dzz 240 hdiskpower3 rkk_data02
               rkk_data02
             # pwd
权限在2个节点都改过

SQL> alter tablespace DATA add datafile '/dev/rrk_data02' size 25000m;
Tablespace altered.

# tail -f alert_kk1.log
Wed Feb 16 6:30:12 2011
alter tablespace DATA01 add datafile '/dev/rrkk_data02' size 25000m
Wed Feb 16 6:30:12 2011
WARNING: You are creating datafile /dev/rrkk_data02.
WARNING: Oracle recommends creating new datafiles on devices with zero offset. The command "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs" can be used. Please contact Oracle customer support for more details.
Wed Feb 16 6:35:12 2011
WARNING: You are creating/reusing datafile /dev/rrkk_data02.
WARNING: Oracle recommends creating new datafiles on devices with zero offset. The command "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs" can be used. Please contact Oracle customer support for more details.
Completed: alter tablespace DATA01 add datafile '/dev/rrkk_data02' size 25000m

其实揪其原因,还是文档没看到位.
在Oracle的官方文档里,创建lv之前,创建vg的命令是这样写的:

To create a volume group, enter a command similar to the following, or use SMIT (smit mkvg):

# /usr/sbin/mkvg -y VGname-B -s PPsize-V majornum-n \ -CPhysicalVolumes

可以看到,有-B参数,也就是要创建Big VG,如果不这样做会怎么样呢?下面引用AIX中mklv命令参数-T O的说明:

For big vg format volume groups, the -T O option indicates that the logical volume control block will not occupy the first block of the logical volume.Therefore, the space is available for application data. Applications can identify this type of logical volume with the IOC INFO ioctl. The logical volume has a device subtype of DS_LVZ. A logical volume created without this option has a device subtype of DS_LV. This option is ignored for old and scalable vg format volume groups.

说的很清楚了,这个-T O参数只对big vg起作用,对于old 和scalable vg参数会被忽略。

显然,光mklv加-T O是不够的,还要在创建VG的时候是Big VG。


重建vg  重建数据文件


<think>我们正在处理用户执行`wget http://fishros.com/install -O fishros && . fishros`后出现的问题。用户之前遇到了`wget: invalid option -- '0'`的错误,我们已经解决了该问题(可能是用户将大写的`-O`误写成了数字0的`-0`)。现在用户执行了正确的命令后,脚本下载并运行,但提示需要输入root密码,用户想知道如何处理。 首先,我们需要理解fishros脚本的作用。根据fishros官网(鱼香ROS)的信息,该脚本是一个一键安装ROS(机器人操作系统)及其相关依赖的工具。在安装过程中,有些操作需要管理员权限(例如安装系统软件包、修改系统配置等),因此会通过`sudo`命令请求用户输入密码。 用户需要知道的是: 1. 输入root密码实际上是输入当前用户的sudo密码(因为Linux系统中root用户通常没有设置密码,而是通过sudo授权)。 2. 输入密码是正常的,因为脚本需要执行一些需要特权的操作。 但是,用户可能担心安全性。因此,我们可以解释: - 该脚本来自fishros.com,是ROS社区中较为知名的工具,相对可靠。但用户仍应确保从官方渠道获取。 - 用户可以在输入密码前查看脚本内容(因为脚本已经下载到本地,文件名为`fishros`),确认其安全性。 处理步骤: 1. 确保已经正确下载脚本(没有之前的wget错误)。 2. 运行脚本后,当提示输入密码时,输入当前用户的sudo密码(即登录系统时使用的用户密码)。注意,输入时密码不会显示(这是正常的)。 3. 如果用户担心脚本内容,可以在运行前查看脚本: ```bash # 使用文本编辑器查看(如nano) nano fishros # 或者使用cat cat fishros ``` 查看后确认无恶意操作,再运行脚本(使用`. fishros`或者`bash fishros`)。 4. 如果用户不想每次输入密码,可以配置sudo免密码,但不推荐,因为会降低安全性。 5. 如果用户忘记sudo密码,那么需要重置sudo密码,但这通常意味着用户知道系统登录密码,因为sudo密码默认就是登录密码。 6. 如果用户输入密码后,脚本运行失败,则需要根据具体错误信息进一步排查。 因此,回答如下:</think>### 解决 fishros 脚本要求输入 root 密码的问题 当执行 fishros 安装脚本提示需要输入 root 密码时,这是正常的安全验证过程。以下是处理方法和注意事项: #### 🔒 原因分析 1. **权限需求**:脚本需要安装系统级软件包(如 ROS 依赖库)或修改系统配置 2. **安全机制**:Linux 系统通过 `sudo` 验证用户权限,防止未经授权的系统修改 3. **脚本操作**:fishros 脚本可能包含以下需要权限的操作: - 添加软件源(`/etc/apt/sources.list.d/`) - 安装系统包(`apt install`) - 创建系统级配置文件 - 设置环境变量(`/etc/profile`) #### ✅ 正确处理步骤 1. **输入当前用户密码** ```bash [sudo] password for your_username: ████ # 输入当前用户的登录密码 ``` - 不是 root 账户密码(除非你专门设置过 root 密码) - 密码输入时不会显示字符(这是正常的安全设计) 2. **验证密码有效性** - 如果提示 `Sorry, try again`: - 检查 Caps Lock 是否开启 - 确认使用的是用户登录密码 - 可通过 `passwd` 命令重置密码 3. **后续操作** ```bash [鱼香ROS] 检测到您已输入正确密码,开始安装... ▶ 正在配置ROS软件源... ▶ 安装系统依赖... ``` - 脚本会自动完成剩余安装 - 保持网络连接直到安装结束 #### ⚠️ 安全注意事项 1. **信任来源**:仅对官方脚本(fishros.com)输入密码 2. **查看脚本内容**(可选): ```bash # 下载后先查看内容再执行 wget http://fishros.com/install -O fishros less fishros # 查看脚本内容 . fishros # 确认安全后执行 ``` 3. **避免免密执行**:不要使用 `sudo . fishros` 或配置免密 sudo,这会降低系统安全性[^1] #### 💡 特殊情况处理 - **忘记密码**:使用 `sudo passwd your_username` 重置 - **无 sudo 权限**:联系系统管理员或使用 root 账户 - **安装中断**:重新运行脚本会自动继续 > 提示:fishros 是 ROS 社区广泛使用的安装工具,密码验证是标准安全流程[^1]。输入密码后脚本会自动配置 ROS 环境,包括解决 `rosdep` 初始化等常见问题。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值