c#界面绘制的时候,底层重绘每次会清除画布背景,然后再全部重新绘制,这才是导致闪烁最主要的原因。于是重载消息发送函数 *** 作,禁掉这条消息。代码如下:
protected override void WndProc(ref Message m)
{
if (mMsg == 0x0014) // 禁掉清除背景消息
return;
baseWndProc(ref m);
}
刚刚配置好的一个,发给你参考一下。
在 Linux x86 上安装 Oracle 数据库 10g
uname -r
例如:
# uname -r
2421-401ELsmp
其他所需程序包的版本(或更高版本):
gcc-323-2
make-379
binutils-211
openmotif-222-16
setarch-13-1
compat-gcc-73-296122
compat-gcc-c++-73-296122
compat-libstdc++-73-296122
compat-libstdc++-devel-73-296122
compat-db-40145(Oracle 10g 数据库安装指南 中将其列为是必需的,但此处并不需要)
要查看系统上安装了这些程序包的哪些版本,以 root 用户身份运行以下命令:
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \
compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
例如:
# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \
> openmotif compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
gcc-323-20
make-3791-17
binutils-2149004-26
openmotif-222-16
setarch-13-1
package compat-db is not installed
compat-gcc-73-296122
compat-gcc-c++-73-296122
compat-libstdc++-73-296122
compat-libstdc++-devel-73-296122
请注意,尚未安装 compat-db 程序包。安装过程中可用的任何程序包组均不包含此程序包,因此必须在单独的步骤中安装。如果系统上缺少任何其他程序包版本,或版本比以上指定的版本旧(compat-db 除外),则可以从 Red Hat Network 下载并安装更新。
安装 compat-db
插入原始 Red Hat Enterprise Linux 介质的第二张 CD。(Update 2 中未包含该程序包,它仅存在于原始介质中。)
此 CD 自动挂载。
以 root 用户身份运行以下命令:
rpm -ivh /mnt/cdrom/RedHat/RPMS/compat-db-4014-5i386rpm
例如:
# rpm -ivh /mnt/cdrom/RedHat/RPMS/compat-db-4014-5i386rpm
Preparing ########################################### [100%]
1:compat-db ########################################### [100%]
________________________________________
第 2 部分:针对 Oracle 配置 Linux
Linux 软件现已安装完毕,您需要针对 Oracle 对其进行配置。本部分将逐步讲解针对 Oracle 数据库 10g 配置 Linux 的过程。
验证系统要求
要验证系统是否满足 Oracle 10g 数据库的最低要求,以 root 用户身份登录并运行以下命令。
要查看可用 RAM 和交换空间大小,运行以下命令:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
例如:
# grep MemTotal /proc/meminfo
MemTotal:512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal:1574360 kB
所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。
Oracle 10g 软件还需要 25GB 的可用磁盘空间,而数据库则另需 12GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的可用空间。要检查系统上的可用磁盘空间,运行以下命令:
df -h
例如:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 68G 13G 52G 20% /
/dev/sda1 99M 17M 77M 18% /boot
该示例表明,/tmp 目录没有自己的文件系统。(对本指南而言,它是根文件系统的一部分。)根文件系统可用空间为 52 GB,除了满足安装 (25 + 12 + 04 = 41GB) 外还小有富余。
创建 Oracle 组和用户帐户
接下来,创建用于安装和维护 Oracle 10g 软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall 和 dba。以 root 用户身份执行以下命令:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle
例如:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
设置 oracle 帐户的口令:
passwd oracle
例如:
# passwd oracle
Changing password for user oracle
New password:
Retype new password:
passwd:all authentication tokens updated successfully
创建目录
现在,创建存储 Oracle 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。有关 OFA 标准的更多信息,请参阅针对 UNIX 系统的 Oracle 数据库 10g 安装指南 的附录 D。
以下假设在根文件系统中创建目录。这样做是为了简便起见,不建议将其作为通用做法。这些目录通常被创建为单独的文件系统。
以 root 用户身份执行以下命令:
mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01/app/oracle /u02/oradata
chmod -R 775 /u01/app/oracle /u02/oradata
例如:
# mkdir -p /u01/app/oracle
# mkdir -p /u02/oradata
# chown -R oracle:oinstall /u01/app/oracle /u02/oradata
# chmod -R 775 /u01/app/oracle /u02/oradata
配置 Linux 内核参数
Linux 内核非常出色。与大多数其他 NIX 系统不同,Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参数更改后不必重新启动系统。Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。
kernelshmall = 2097152
kernelshmmax = 2147483648
kernelshmmni = 4096
kernelsem = 250 32000 100 128
fsfile-max = 65536
netipv4ip_local_port_range = 1024 65000
如果您按照以上说明安装了 Linux,且内核参数全部采用默认值,则只需在以 root 用户身份登录后执行下命令。
cat >> /etc/sysctlconf <<EOF
kernelshmall = 2097152
kernelshmmax = 2147483648
kernelshmmni = 4096
kernelsem = 250 32000 100 128
fsfile-max = 65536
netipv4ip_local_port_range = 1024 65000
EOF
/sbin/sysctl -p
例如:
# cat >> /etc/sysctlconf <<EOF
> kernelshmall = 2097152
> kernelshmmax = 2147483648
> kernelshmmni = 4096
> kernelsem = 250 32000 100 128
> fsfile-max = 65536
> netipv4ip_local_port_range = 1024 65000
> EOF
# /sbin/sysctl -p
netipv4ip_forward = 0
netipv4confdefaultrp_filter = 1
kernelsysrq = 0
kernelshmall = 2097152
kernelshmmax = 2147483648
kernelshmmni = 4096
kernelsem = 250 32000 100 128
fsfile-max = 65536
netipv4ip_local_port_range = 1024 65000
以 root 用户身份运行以下命令来验证您的设置:
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range
例如:
# /sbin/sysctl -a | grep shm
kernelshmmni = 4096
kernelshmall = 2097152
kernelshmmax = 2147483648
kernelshm-use-bigpages = 0
# /sbin/sysctl -a | grep sem
kernelsem = 250 32000 100 128
# /sbin/sysctl -a | grep file-max
fsfile-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
netipv4ip_local_port_range = 1024 65000
如果系统的参数设置的比上述参数值小,则编辑 /etc/sysctlconf 文件,添加或更改这些参数。完成后,运行以下命令激活更改:
/sbin/sysctl -p
为 oracle 用户设置 Shell 限制
Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。要进行这些更改,以 root 用户的身份执行下列命令:
cat >> /etc/security/limitsconf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
cat >> /etc/pamd/login <<EOF
session required /lib/security/pam_limitsso
EOF
对于 RHEL 21 和 RHEL 3,使用以下命令:
cat >> /etc/profile <<EOF
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >> /etc/cshlogin <<EOF
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
oracle 用户的环境变量
要使用 Oracle 产品,应该或必须设置几个环境变量。对于数据库服务器,建议设置以下环境变量:
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH
如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。
以 oracle 身份登录,修改 bash_profile文件为如下内容:
# bash_profile
# Get the aliases and functions
if [ -f ~/bashrc ]; then
~/bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
# Oracle Settings
TMP=/tmp;
export TMP
TMPDIR=$TMP;
export TMPDIR
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/1020/db_1
ORACLE_SID=orcl
ORACLE_TERM=xterm
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH ORACLE_TERM
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
此更改将在您下次登录到 oracle 帐户时生效。要使更改对当前会话为活动状态,只需从命令行运行此命令。
________________________________________
第 3 部分:安装 Oracle
可以从 OTN 下载 Oracle 数据库 10g。Oracle 提供了一个免费的开发和测试许可。但不提供支持,且该许可不允许用于生产目的。OTN 提供了完整的许可协议。
要使 Oracle 10g 发行套件介质可以在服务器上使用,最简单的方法是将其直接下载到服务器。
使用图形登录以 oracle 身份登录。
创建一个目录以存放 Oracle 10g 发行套件:
mkdir 10g_db
要从 OTN 下载 Oracle 数据库 10g,请将浏览器(Mozilla 比较好用)指向 >
打开linuxshell,从shell进入数据库的控制管理界面
利用创建数据库的指令(SQL语句)进行创建数据库
举个例子,如Mysql,在linux下
1在shell中输入:mysql-uroot-p
2输入密码进入数据库
3输入createdatabasetest;回车,即创建一个名称为test的数据库;
4,输入showdatabases;可以看到你创建的数据库test。
达内教育Linux云计算的培训课程内容一般分为五个阶段,具体步骤如下:
第一阶段主要学习网络基础,包括计算机网络、云计算网络,配备有企业级项目实战:IP地址配置与DNS解析。
第二阶段将学习Linux基础,包括Linux *** 作系统(文件权限、作业控制与进程管理)以及Linux高级管理。企业级项目实战为:云数据中心主机CPU资源利用率实时统计、分析系统。
第三阶段学习Linux运维自动化,企业级项目实战为Python+Shell实现企业级FTP文件统一管理。
第四阶段是数据库运维管理的学习,企业级项目实战:MySQLGalera高可用集群环境部署、异步消息队列集群RabbitMQ部署与运维。
第五阶段的培训内容为企业级云架构管理与综合实战,项目训练的是基于LAMP架构实现云计算PaaS平台典型应用部署与运维,通过Nginx实现千万级并发访问处理。感兴趣的话点击此处,免费学习一下
想了解更多有关Linux云计算的相关信息,推荐咨询达内教育。达内教育重磅推出“因材施教、分级培优”创新教学模式,同一课程方向,面向不同受众群体,提供就业、培优、才高三个级别教学课程,达内“因材施教、分级培优“差异化教学模式,让每一位来达内学习的学员都能找到适合自己的课程。达内IT培训机构,试听名额限时抢购。
sqlite3是跨平台的 只要能读写文件就能使用sqlite3 这种高词频出现的第三方框架,各种例子一大堆,我以前领导经常对新手说一句话,一个新手能遇到的问题,那前面已经有无数个人遇到过了,所以资料肯定一大堆。如果你遇到了连资料都搜不到的问题
1、Linux系统基础
严格的来讲,Linux 不算是一个 *** 作系统,只是一个 Linux 系统中的内核,即计算机软件与硬件通讯之间的平台;Linux的全称是GNU/Linux,这才算是一个真正意义上的Linux系统。GNU是Richard Stallman组织的一个项目,世界各地的程序员可以变形GNU程序,同时遵循GPL协议,允许任何人任意改动。但是,修改后的程序必须遵循GPL协议。
Linux 是一个多用户多任务的 *** 作系统,也是一款自由软件,完全兼容POSIX标准,拥有良好的用户界面,支持多种处理器架构,移植方便。
为程序分配系统资源,处理计算机内部细节的软件叫做 *** 作系统或者内核。如果你希望详细了解 *** 作系统的概念,请查看 *** 作系统教程。
用户通过Shell与Linux内核交互。Shell是一个命令行解释工具(是一个软件),它将用户输入的命令转换为内核能够理解的语言(命令)。
2、网络服务
服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如FTP, DNS,SAMBA, 邮件, 这几个大概学一下就行。
其实网络服务方面不用太担心,一般公司的环境都已经搭建好,就算有新服务器或让你整改,公司会有相应的文档让你参照来弄,不会让你乱来的,但至少相关的配置一定要学熟,而且肯定是编译安装多,那些模块要熟悉一下他的作用,特别是PHP那些模块。
这面2点只是基础,也是必要条件,不能说是工具,下以才是真正的要掌握的工具。
3、shell脚本和另一个脚本语言
shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本吧,这是最最最基本了。别以为会写那些猜数字和计算什么数的,这些没什么作用,只作学习意义,写系统脚本才是最有意义。
Shell是系统的用户界面,提供了用户与内核进行交互 *** 作的一种接口。它接收用户输入的命令并把它送入内核去执行 。
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
Linux提供了像MicrosoftWindows那样的可视的命令输入界面--X Window的图形用户界面(GUI)。它提供了很多桌面环境系统,其 *** 作就像Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标控制。GNOME。
每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。
同Linux本身一样,Shell也有多种不同的版本。主要有下列版本的Shell:
Bourne Shell:是贝尔实验室开发的。
BASH:是GNU的Bourne Again Shell,是GNU *** 作系统上默认的shell。
Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。
Z Shell:The last shell you’ll ever need! Z是最后一个字母,也就是终极Shell。它集成了bash、ksh的重要特性,同时又增加了自己独有的特性。
而另一个脚本语言是可选的,一般是3P,即Python,Perl和PHP,PHP就不需要考虑了,除非你要做开发,我个人建议学Python会比较好,不难实现自动化运维,Perl是文本处理很强大,反正这两个学一个就行了。
4、sed和awk工具
必须要掌握,在掌握这两个工具同时,还要掌握正则表达式,这个就痛苦了,正则是最难学的表达式,但结合到sed和awk中会很强大,在处理文本内容和过滤WEB内容时十分有用,不过在学shell的同时一般会经常结合用到的,所以学第3点就会顺便学第4点。
5、文本处理命令
sort , tr , cut, paste, uniq, tee等,必学,也是结合第3点时一并学习的。
6、数据库
首选MySQL,别问我为什么不学SQL Server和Oracle,因为Linux用得最多绝对是MySQL。增删改查必学,特别要学熟查,其它方面可能不太需要,因为运维人员使用最多还是查,哪些优化和开发语句不会让你弄的。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
7、防火墙
不学不行,防火墙也算是个难点,说难不难,说易不易,最重要弄懂规则。如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而Filter表用得最多,反正不学就肯定不合格。
8、监控工具
十分十分重要,我个人建议,最好学这3个,cacti,nagios,zabbix。企业用得最多应该是nagios和 zabbix,反正都学吧,但nagios会有点难,因为会涉及到用脚本写自动监控,那个地方很难。
Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。
Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。
9、集群和热备
这个很重要,肯定要懂的,但到了公司就不会让你去弄,因为新手基本不让你碰。集群工具有很多,最好学是LVS,这是必学,最好也学学nginx集群,反向代理。还有热备,这个就更多工具能实现了,像我公司是自己开发热备工具的,MySQL热备也要学,就是主从复制,这个别告诉我容易,其实不容易的,要学懂整个流程一点也不容易,只照着做根本没意思。
10、数据备份
不学不行,工具有很多,但至少要把RAID的原理弄懂,特别是企业最常用的1+0或0+1,自己做实验也要弄出来,备份工具有很多,如tar, dump, rsync等,最好多了解一下。
以上就是关于如何在Linux下用C语言 *** 作数据库sqlite3全部的内容,包括:如何在Linux下用C语言 *** 作数据库sqlite3、在Linux平台下 怎样搭建Oracle数据库 越详细越好 紧急 还望高手指点、linux中在shell中怎么创建一个数据库(linux创建一个shell脚本)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)