倒腾64位Oracle11g的感受

本文分享了作者从Windows转至Centos的体验与遇到的问题,包括时间显示、独显驱动、软件兼容性等,并详细记录了在64位Win7系统上安装Oracle 11g及其客户端的过程,特别是tnsnames.ora文件的配置步骤。
     一直不满意我电脑现在的win7,启动比较慢,经过安装Centos双系统,切换时,每次时间都是会变换,原因是选择了UTC时间,实在是不太方便、而且安装Centos后电脑的独显驱动因为自带的驱动不支持,造成风扇声响特别大,而且linux上面没有什么聊天软件,实在是让人头痛,qq不能用,上网浏览器显示又特别的不怎么好,习惯了windows的界面操作,对那些yum install , wget ,vim ,make rpm -qa | grep *** sh 等命令,不是很熟悉,敲打起来也是特别不顺手,Eclipse在里面操作,总感觉没有windows下操作那么方便,当然这些都是我目前的感受,毕竟linux在服务器上面,那是不可挑剔的好,关键家里的电脑不是服务器啊,还是喜欢使用windows。
     跑着64位系统的win7,只能安装那个64位的oracle,没办法,下了个快2G的11g,但是要使用PL/SQL作为操作数据库软件,必须还要安装32位的client端。于是有下载安装11g的32位版client,这个安装只需要选择基本的173M的就可以了。两个软件安装好后。打开PL/SQL 面安装汉化版的,什么都么有,忘记配置监听器。也就是db下面的/NETWORK/ADMIN/tnsnames.ora 文件。
# tnsnames.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
这些都安好后,使用plsql,导入导出表,使用sql模式导入表都是采用Clent里面的exe文件。而且首选项里面的设置不用选择么是的Oracle主目录之类的东东。直接使用就可以了。如果出现了问题,可以选择删除数据库再新建数据库。
总之关键一步还是在于tnsnames.ora的设置
### TLSR8208 芯片在 2.4G 频段下实现串口透传的配置与使用方法 #### 硬件准备 TLSR8208 是一款专用于 2.4GHz ISM 频段的射频 SoC,具有低功耗特性和丰富的外围接口。要实现串口透传功能,需准备好以下硬件组件: - 主控板搭载 TLSR8208 芯片。 - USB-TTL 转接模块(用于调试和测试)。 - 计算机或移动终端作为数据源/目标设备。 #### 软件环境搭建 1. 下载并安装官方提供的 SDK 和 IDE 工具链[^1]。 - 官方 SDK 中包含了串口透传所需的例程代码。 2. 设置开发环境变量,确保编译器路径正确无误。 #### 串口透传基本原理 串口透传是指将 UART 接收到的数据不经任何处理直接转发到无线模块发送出去;反之亦然,即将从空中接收下来的数据原封不动地交给 UART 输出给其他外设或者主机系统显示出来。这种方式非常适合用来构建简单的点对点通信链路或者是多跳路由网络中的某个节点角色扮演者身份执行相应任务时采用这种机制来简化逻辑复杂程度从而提高效率降低成本开销等方面考虑因素较多一点的话还可以加入更多高级特性进去进一步增强整体表现效果哦! --- #### 配置步骤详解 ##### 初始化UART接口 ```c // 初始化UART参数 void uart_init(void){ // 配置波特率,默认为9600bps Uart_SetBaudRate(UART_PORT, BAUD_RATE_9600); // 设置数据、停止及校验方式 Uart_ConfigDataBits(UART_PORT, DATA_BITS_8); // 8 data bits Uart_ConfigStopBits(UART_PORT, STOP_BITS_1); // 1 stop bit Uart_ConfigParityMode(UART_PORT, PARITY_NONE); // No parity // 启用UART中断 Enable_UartInterrupt(UART_PORT); } ``` ##### 配置无线模块 根据实际需求设定工作信道(Channel)、发射功率(Power Level)等重要参数: ```c // 初始化无线模块 void radio_init(void){ Radio_SetChannel(RADIO_CHANNEL_11); // 设定初始频道为11 Radio_SetTxPower(TX_POWER_LEVEL_HIGH); // 使用高功率模式提升覆盖范围 Radio_EnableTransmitter(); // 开启发射器 Radio_EnableReceiver(); // 开启接收器 } ``` ##### 数据收发处理函数 编写回调函数分别负责读取来自UART的数据并通过无线电波广播出去;同时也需要监听是否有新的消息到达以便即时反馈回去形成闭环控制结构图如下所示: ```c // 当前缓冲区大小定义 #define BUFFER_SIZE 64 uint8_t tx_buffer[BUFFER_SIZE]; uint8_t rx_buffer[BUFFER_SIZE]; // 从UART获取待发送的信息存放到临时数组里等待下一步操作 void handle_uart_rx_data(){ while(Uart_AvailableBytes(UART_PORT)){ uint8_t byte = Uart_ReadByte(UART_PORT); if(byte != '\n') { // 忽略换行符 enqueue(tx_buffer, byte); // 添加字符进入队列 } else { send_radio_packet(tx_buffer); // 整体打包后一次性发出 clear_queue(tx_buffer); // 清空当前缓存空间重新开始记录新内容 } } } // 对应事件触发后的响应动作描述 void on_radio_packet_received(uint8_t *data, int length){ for(int i=0;i<length && !is_full(rx_buffer);i++) { enqueue(rx_buffer, data[i]); // 将接收到的内容逐字节写入本地存储区域 } if(!Uart_IsBusy(UART_PORT)) { // 如果此时串口处于闲置状态则立即推送过去 flush_to_uart(rx_buffer); // 把所有积累起来的东西一股脑儿倒腾掉咯~ clear_queue(rx_buffer); // 别忘了清理现场保持整洁干净哈! } } ``` --- ### 注意事项 - **抗干扰能力**:由于 2.4GHz 频段容易受到 Wi-Fi、蓝牙等信号的影响,在部署过程中应注意合理规划天线置以减少相互之间的冲突现象发生几率[^2]。 - **节能策略**:考虑到电池供电场景下的续航时间问题,建议启用 Deep Sleep Mode 来降低平均能耗水平[^1]。 - **安全性考量**:对于涉及敏感信息传输的应用场合来说,务必采取适当加密手段保护隐私不被窃听泄露风险威胁到正常业务开展进程当中去才行啊亲们!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值