首页 > 技术文章 > 基于Linux的oracle数据库管理 part1( 准备及linux基础 )

moveofgod 2013-11-08 11:23 原文

主要内容

1. 安装VMware tools (好处, 显示效果增强, 从虚拟机出来不需要alt+ctrl 切换)

2. Linux 启动过程, 方便以后oracle 自动启动与关闭

3. Linux 常用命令

 

 

安装VMware tools

1. 首先进入linux虚拟机, 然后在上面菜单的虚拟机中(vm)找到 install vmware tools 菜单, 点击安装

2. 上一步完成后, 点击桌面的光驱, 里边有两个文件夹是关于vmware tools的, 点击安装vmwaretools-5.5-1.-19175.i386.rpm

3. 安装完成以后, 运行命令 vmware-config-tools.pl

4. 根据提示设置屏幕分辨率 例如 1024 X 768

5. 设置时间同步, vmware-toolbox, 在Options菜单下边同步时间.

 

Linux 启动过程, 方便以后oracle 自动启动与关闭

1. 机器加电, 启动bios, 设置引导, 读取MBR(其中包括分区和内核引导程序)

2. 启动内核引导程序 grub/Lilo, 读取 /boot/grub/grub.conf, 加载内核

3. 启动init进程, 根据 /etc/inittab 文件内容执行相应脚本进行系统初始化及启动相关守护进程

  - 运行级别0关闭系统, 1单用户, 2无网络支持多用户, 3完整多用户, 5多用户图形界面, 6重启系统

  - 在不同的运行级别, 运行不一样的脚本, 例如运行级别3, /etc/rc.d/rc3.d

  - 使用 chkconfig 可以指定某个运行级别下是否开启或关闭相关守护进程, 例如默认情况下, vsftpd守护进程在级别3,5不启动, 可以使用 chkconfig 命令把它开启: chkconfig –-level 35 vsftpd on, 执行命令后, 查看/etc/rc.d/rc5.d目录下多了一个S60vsftpd: 关闭:chkconfig –-level 35 vsftpd off, 同样在该目录下就会没有该文件

  - 基本上每个运行级别的最后运行文件是, /etc/rc.d/rc.local, 所以系统管理员可以在这个文件中添加自动执行一些命令, 例如启动oracle数据库.

  - 和用户环境相关的几个配置文件, 用户登录 使用 su - 切换用户时, 会先执行 /etc/profile 全局配置文件, 一般把所有用户都要设置的环境变量放置在这个文件中, 然后执行用户主目录下的 .bash_profile, 而在 .bash_profile中又会执行 .bashrc文件, 一般把只对用户设置的特定环境变量放置到 .bash_profile文件中, 而在.bashrc文件中放置用户登录时要自动执行的一些其他命令, 例如(alias设置别名命令) 当用户退出 shell时, 会执行用户主目录下的 .bash_logout 文件.

 

Linux 常用命令

1. 在文件名称或目录名称中使用通配符 * ? []

  - * 任意字符, ? 一个任意字符, [] 取一个范围

2. 正则表达式

  - * 重复前面 字符的 0个或任意个

  - . 一个任意字符

  - $ 表示前面字符在一行的结尾

  - [] 表示区域

  - ^ 表示取反

3. ls

  - ls –sh 文件大小,

  - 按时间顺序排序, ls –t 修改时间, ls –u 访问时间, ls –c inode最后被改变时间,

  - ls –d 目录 列出目录内容

  - ls –alF 常用

4. sort

  - 支持按照第几列排序, 例如 ls –lk | sort +4 –n 表示按照第 4 列排序, du –k * | sort –n 表示按照第 0 列排序

  - 逆序 sort + 8 –r

5. tail 及 head 命令

  - head –n 选取结果的前几行

  - tail –n 选取结果的后几行

6. find

  - find pathname –option [-print –exec –ok] 其中 option 一般为 name, user, perm, type, size 等, 各选项之间可以用 –and, –or, –not 连接, –print 输出到标准设备, –exec 对find命令查找出的结果执行该参数给出的shell命令, 形式为 command{} \

  - 例子, <find . –name law.trc>  <find . –name ‘la?.trc’> <find . –mmin –20> <find . –newer /tmp/tmp1 –not newer /tmp/tmp2> <find . –maxdepth 1 –name test> <find . –size + $((300*1024))k> +表示大于, –表示小于, 没有符号表示相等 <find . –maxdepth 1 –user oracle> <find . –maxdepth 1 –group oinstall> <find . –maxdepth 1 –type f> <find . –maxdepth 1 –type f –or –type d | wc –l> <find /oracle/arc –mtime 5 –exec rm –fr {} \> 相等 <find /oracle/arc –mtime 5 | xargs rm -rf>

7. grep

  - grep pattern files 其中 pattern 可以是一个字符串常量, 变量或一个正则表达式, files 可以是若干个用空格隔开的文件名称

  - 例子:grep “You are” readtest <str=”You are” grep “$str” readtest>

  - 常用参数: –i 忽略字母大小写, –v 查找不包含某个字符串的行, –n 在结果中显示行号, –c 返回符合条件的行数

  - 和其他命令结合, <find . –mtime –2 | xargs grep “correct”>

8. cut 用于在包含多列的文本中选取指定列, 比较擅长对付哪些列对齐的文件

  - grep –v “^#” /etc/oratab | cut –d “:” –f1 截取第1列, “:”为分隔符, df | cut –d “ ” –f1

  - cut –c 20-30 选取截取的起始列和结束列, cut –c 1-10, 57-70

9. awk

  - awk 逐行扫描文件或输入, 查找匹配某个特定字符串模式文本行, 并对这些问本行执行指定操作, 操作时包含在化括号中的以分号分隔的语句组, 如果只给定模式未指定动作, 则 awk完成与grep类似的过滤功能, 如果只指定动作而未定义模式, 则awk会对所有输入航执行操作.

  - 例子 <awk ‘/Mary/’ emp.txt> 查找 emp.txt文件中包含Mary的行, awk ‘$1 ~ /Salay/’ emp.txt $1表示第1列, 包含Salay的行 <awk ‘{print $1}’emp.txt> <awk ‘/Salay/ {print $1}’emp.txt>

10. 发送邮件

  - 系统管理员可以通过自动发送邮件到外网的办法, 来监控数据库运行情况, (也存在安全风险, 一般数据库服务器都是只支持内网)

  - 首先使用 hostname 命令查看主机名, 默认是 localhost.localdomain, 可以修改 /etc/sysconfig/network中的hostname来修改hostname, 例如:testdb.com

  - 启动 sendmail 服务, service sendmail status, service sendmail start, service sendmail stop

  - 使用命令 mail username@address, 回车后 输入邮件标题, 再回车输入邮件内容, 最后按 ctrl + d 结束, 连续两次 ctrl+c 可中断操作, sendmail –bp 可以看到邮件是否发送成功, 如果要把一个文本内容当做电子邮件, 可以使用 mail –s “subject” username@address < filename 或 cat filename | mail –s “subject” username@address mail 命令不能发送附件

11. 自动执行作业

  - 首先查看是否启动了 cron 服务, ps –ef | grep cron | grep –v grep, 如果未启动, service crond start, 使用 crontab 命令,分别加选项 –e, –l, –r 可以编辑用户的 crontab文件, 系统管理员可以使用/etc目录下的 cron.allow 及 cron.deny来准许和禁止用户自己拥有 crontab 文件. 如果cron 没有执行脚本, 会将原因放在 /var/spool/cron 目录下. at 命令在执行任务时, 会保留用户的环境变量及相对路径, 这是 at 命令与 cron的区别. 提交作业后, 内容会被赋值到 /var/spool/at 目录, 在指定时刻执行. 如果没有设置重定向, at 命令指定的作业执行结果会以邮件形式发送给用户. 例如 <at 0:54 find / –name “passwd” > 然后按 ctrl + d 退出. 使用 at –l 查看, atrm 3 删除作业.

12. 磁盘管理

  - fdisk –l 查看分区情况, 创建磁盘分区 fdisk /dev/sdd

  - 格式化分区 mke2fs – j /dev/sdd1

  - 挂载分区 mkdir dbdata, mount /dev/sdd1 /dbdata ( df –h 查看挂载情况 ), 重新启动后, 新的挂载会失效, 需要重新挂载, 可以修改 /etc/fstab 文件, 使得每次启动后, 自动挂载, 在/etc/fstab中增加一行 /dev/sdd1 /dbdata auto defaults 1 1

  - df 命令 主要查看分区使用空间大小及空闲空间大小, 常用 –h –T 其中显示none开头的是把内存当做磁盘空间来用, 这些文件会存储在 /dev/shm, 这个目录下文件读取等很快, 因为它在内存中.

  - du 命令 显示文件或目录被分配磁盘空间的总大小, –h , –m, –s 只显示总大小

13. 文件压缩与备份

  - tar 把多个目录和文件打包,  tar cvf tarfile subdirs 或 tar cvf tarfile files

  - 例子: 在 arch 目录下有 3 个文件, tar cvf arch_118.tar arch, tar tf arch_1118.tar 查看打包内容用 t 参数, 显示详细内容用v 参数, tar tvf arch_1118.tar, 解压 tar xvf tarfile, 打包时使用相对路径不要使用绝对路径, 因为解压时, 如果使用绝对路径, 有的系统就会覆盖原路径, 是使用相对路径, 就只会在当前路径下解压. 打包与压缩通常联合使用, tar czvf archzip.tar.gz arch , tar xzvf archzip.tar.gz

14. 重定向

  - stdin 标准输入, stdout 标准输出, stderr 错误, 默认 stdin 为键盘, 而stdout stderr 为屏幕, 每个打开的文件都被赋予一个文件描述符, stdin,stdout,stderr文件描述符分别为 0,1,2 输出重定向 command 1> filename 或 command 1>> filename , command 2> filename 或 command 2>> filename 把错误信息重定向到一个文件, command >filename 2>&1 或 command &>filename, 将输出的信息重定向到“黑洞” /dev/null, 输入重定向 0< filename, 0可以省略不写, 例如 mail –s “A test email” law_mail@126.com <test

推荐阅读