1、数据库初始化工具 initdb
initdb -I c:\dmdb\dm.ini -P c:\dmdb\data -Es16 -PS 8 -SC Y -NU N -UC 1
其实就是通过修改安装目录下的dm.ini文件而已(基本没用,除了重试密码)
2、交互式工具 Isql
这个和sqlplus有几分相似,具体功能还没有测试,整体比较喜欢
3、backup和restore数据库备份与恢复工具
backup参数意义
backup c:\dmdbms\bin\dm.ini xifenfei xifenfei.bak
restore参数意义
restore c:\dmdbms\bin\dm.ini C:\dmdbms\data\xifenfei.bak
在恢复的过程中很多提示,不爽,不能在参数中全部指定吗?
总体感觉还可以,但是没有oracle中的rman灵活,而且只能进行冷备份,这个不爽
4、impdb和expdb导入和导出工具
expdb USERID=SYSDBA/xifenfei FILE=e:\back.bak LOG=e:\log.txt FULL=Y
impdb USERID=SYSDBA/xifenfei FILE=e:\back.bak LOG=e:\log.txt FULL=Y
总体来说,这个是命名基本上和oracle的exp/imp差不多,应该会喜欢
5、文本文件导入工具
命令参数
控制文件参数
和oracle中的loader工具非常相似,不过我想用的应该不会太多
oracle之data guard(2)——物理standby和primary切换
一、primary库上操作
1、查看primary库转换状态
select switchover_status from v$database
如果是TO STANDBY可以直接进入步骤3
如果是SESSIONS ACTIVE进入步骤2
2、强制把primary设置为standby模式
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;
如果更加强制性,则使用
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN NOWAIT;
3、正常方式进入standby模式
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
4、重启数据库,置于mount状态
5、再次查看witchover_status状态
如果为TO PRIMARY ,表示primary切换成standby成功,如果不是请查看配置文件
二、在原standb库上配置
1、查看witchover_status状态
select switchover_status from v$database
如果是TO PRIMARY正常
如果是SESSIONS ACTIVE在2的命令后面加上 WITH SESSION SHUTDOWN ( nowait)
2、standby库切换为primary库
alter database commit to switchover to primary;
3、关闭再打开数据库
shutdown immediate;
startup;
三、测试
在现在的primary库上切换日志,在standby上查看
主库:alter system switch logfile;select name from v$archived_log;
备份库: select name from v$archived_log;
如果两者结果一致,表示切换成功
四、从MAXIMUM PERFORMANCE到MAXIMUM PROTECTION的切换
1、添加standby redo
数量:(maximum number of logfiles for each thread + 1) * maximum number of threads
alter database add standby logfile thread 1 ‘C:\oracle\product\10.2.0\oradata\orcl\redo04.log’ size 50m;
note:和redo log等大,数量每个thread比redo log多一个,最好standby和primary都添加,因为要转换
2、关闭数据库,置于mount状态
log_archive_dest_2修改为
alter system set log_archive_dest_2=’service=orcl lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name=orcl’;
主要是: lgwr sync affirm
3、设置为maximize protection
alter database set standby database to maximize protection;
4、open数据库并测试
测试 主要是通过v$archived_log视图实现
使用select protection_mode from v$database;查看数据库保护状态
五、MAXIMUM PROTECTION模式下primary、standby 库的相互切换
1、在primary库上配置
1)关闭除本操作连接外的所有数据库连接
2)alter database commit to switchover to physical standby;
3)select t.PROTECTION_MODE,t.DATABASE_ROLE from v$database t;
如上图表示成功
2、在standby上操作
1)alter database commit to switchover to physical standby;
2)ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
3)shutdown immedate;startup mount;
4)alter system set log_archive_dest_2=’service=xff lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name=xff’;(修改为同步传输)
5)alter database open;
如上图表示成功
oracle之data guard(1)——物理standby建立
一、primary数据库配置及相关操作
1、数据库启动强制归档模式
alter database force logging;
2、确保数据库是archivelog模式
--archive log list查看是否已经归档 --如果不是使用下面语句进行设置 SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;
3、创建standby 数据库控制文件
alter database create standby controlfile as ‘c:\orcl.ctl’;
4、修改初始化参数文件,并重新创建spfile
*.db_name='orcl' db_unique_name='orcl' log_archive_config='dg_config=(orcl,xff)' *.log_archive_dest_1='location=C:\archive\orcl\ valid_for=(all_logfiles,all_roles) db_unique_name=orcl' *.log_archive_dest_2='service=xff lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=xff' *.log_archive_dest_state_1=enable *.log_archive_dest_state_2=enable fal_server=xff fal_client=orcl db_file_name_convert='c:\xff\data\','C:\oracle\product\10.2.0\oradata\orcl' log_file_name_convert='c:\xff\data\','C:\oracle\product\10.2.0\oradata\orcl' standby_file_management=auto
5、配置listener 及net service names(我建议使用net manager)
最好 执行lsnrctl stop lsnrctl start重新启动监听程序
6、关闭数据库并备份。
二、Standby数据库配置及相关操作
1、创建进程和密码文件(注意密码要和primary中的sys的密码一致)
oradim -new -sid xff -intpwd oracle(密码为oracle)(当然也可以把primar中的密码文件改名拷贝过来)
2、创建文件夹,并拷贝备份的归档文件和数据库文件
3、修改初始化参数文件(使用刚刚修改的primary中的参数文件进行修改)
*.control_files='c:\xff\data\xff.ctl' *.db_name='orcl' db_unique_name='xff' log_archive_config='dg_config=(orcl,xff)' *.log_archive_dest_1='location=C:\archive\xff\ valid_for=(all_logfiles,all_roles) db_unique_name=xff' *.log_archive_dest_2='service=orcl lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcl' *.log_archive_dest_state_1=enable *.log_archive_dest_state_2=enable fal_server=orcl fal_client=xff db_file_name_convert='C:\oracle\product\10.2.0\oradata\orcl','c:\xff\data\' log_file_name_convert='C:\oracle\product\10.2.0\oradata\orcl','c:\xff\data\' standby_file_management=auto --注意修改一些dump文件路径
4、启动数据库到mount状态
startup mount;
5、启动redo 应用
alter database recover managed standby database disconnect from session;(redo apply)
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;(real-time apply)
三、检查配置结果
1、首先连接到primary 数据库
alter system switch logfile;
select name from v$archived_log;
2、连接到standby数据库
select name from v$archived_log;
如果和primary一致,再重复1、2操作,并且还是保持一致,说明配置成功
3、暂停redo应用
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
4、执行read only状态
执行3只是暂时redo 应用,并不是停止Standby 数据库,standby 仍会保持接收只不过不会再应用
接收到的归档,直到你再次启动redo 应用为。
在暂停redo应用的状态中可以把数据库至于read only状态用于查询
alter database open read only;(在11g中没有这个限制)
5、解决redo 不能被读取或者不能正常open
把standby数据库至于mount状态,执行
recover standby database until cancel;
选择cancel
再alter database open确保数据库中的所有文件scn号一致
然后添加临时文件
alter tablespace temp add tempfile ‘c:\xff\data\tm.dbf’ size 5m reuse;
确保数据库可以进行一般正常的操作
虚拟机中的pfile配置文件
oracle数据库复制
oracle数据库复制就是对当前的库进行拷贝(使用拷贝库用于测试、还原操作等)
1、本实验规划
使用的是同一个数据库服务器上做的拷贝试验
原数据库oracle_sid=orcl,准备新建数据库oracle_sid=xff,新建的数据库的文件放置符合ofm标准,也就是说,数据文件、控制文件、联机归档日志文件放置oradata/xff下面,一些日志记录文件放置在admin/xff下
2、用户管理方式复制数据库:
1)新建相关文件夹mkdir(省略)
2)准备xff的pfile文件
在orcl数据库中执行create pfile=’c:\orclpfile.txt’ from spfile;
修改orclpfile.txt文件,使用替换法,把所有的orcl替换成xff(替换的时候大致看下哦)
3)准备xff的控制文件
在orcl数据库中执行alter database backup controlfile to trace as ‘c:\b.txt’;
选择Set #2. RESETLOGS case部分,除掉其中的注释,把reuse修改为set处理后的大概结果如下:
CREATE CONTROLFILE set DATABASE "XFF" RESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\REDO01.LOG' SIZE 50M, GROUP 2 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\REDO02.LOG' SIZE 50M, GROUP 3 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\REDO03.LOG' SIZE 50M DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\SYSTEM01.DBF', 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\UNDOTBS01.DBF', 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\SYSAUX01.DBF', 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\USERS01.DBF', 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\XFF01.DBF' CHARACTER SET AL32UTF8 ;
4)alter database begin backup;
开始把orcl中的数据库文件,复制到xff的文件夹中
alter database end backup;
5)在dos下执行oradim -new -sid xff -intpwd oracle(建立oracle_sid=xff,并创建用户名为sys,密码为oracle的秘密文件)(删除oradim -DELETE -SID xff )
6)在dos下执行set oracle_sid=xff,因为没有配置tns的相信,手工设置oracle_sid
7)sqlplus sys/oracle as sysdba;连接到xff数据库
8)使用startup pfile=’c:\orclpfile.txt’ nomount 把xff数据库至于nomount状态
9)使用刚刚(3)中准备的创建控制文件的脚步,创建控制文件
10)使用在xff的sqlplus 环境下使用set logsource ‘path’指定归档日志位置(path为归档日志路径),
然后使用recover database using backup controlfile until cancel;
按照提示看看对应的文件是否存在,如果不存在查找下硬盘上是否有该文件,如果都不存在,尝试着使用联机日志文件恢复
11)使用alter database open resetlogs 打开数据库
12)建立临时文件
ALTER TABLESPACE TEMP ADD TEMPFILE ‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\xff\TEMP01.DBF’
SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M
13)配置listener和tns,数据库复制工作完成
3、rman复制数据库
1)备份数据库rman
backup database include current controlfile plus archivelog format=’c:\%U.bak’;
2)创建spfile文件
create spfile=’%oracle_home%\database\spfilexff.ora’ from pfile=’c:\b.txt’;
3)登录xff把数据库设置到nomount模式
4)
run{ set newname for datafile 1 to 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\SYSTEM01.DBF'; set newname for datafile 2 to 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\undotbs01.DBF'; set newname for datafile 3 to 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\sysaux01.DBF'; set newname for datafile 4 to 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\users01.DBF'; set newname for datafile 5 to 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\xff01.DBF'; set newname for tempfile 1 to 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\\TE.DBF'; duplicate target database to xff logfile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\redo01.log' size 10m, 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\redo02.log' size 10m, 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\XFF\redo03.log' size 10m; } --note:1、需要加上temp表空间的转换,不然会报错 --2、在运行run之前,要确保在xff中的除本rman之外的所有用户均以退出
其他与用户复制oracle操作一致。和用户操作比起来,这个不用手工创建控制文件,只要创建spfile或者pfile(注意默认路径和名称)就可以了,其他的均有rman帮我们搞定
linux下配置php+mysql
准备工作:更新源设置为中国的源,下载速度会快点,非必须项
cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.bak wget http://centos.ustc.edu.cn/CentOS-Base.repo.5 mv CentOS-Base.repo.5 CentOS-Base.repo --更新系统 yum -y update
1、安装Apahce, PHP, Mysql, 以及php连接mysql库组件
yum -y install httpd php mysql mysql-server php-mysq
2、安装mysql扩展
yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
3、安装php的扩展
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc
4、安装apache扩展
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
如果一次性安装请使用
yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql
5、开启相关服务
/sbin/service mysqld start
/sbin/service httpd start
然后运行mysql,按照提示完成mysql初始化(后期的mysql配置也要考虑)
6、设置httpd和mysqld为开机启动状态
/sbin/chkconfig httpd on [设置apache为自启动]
/sbin/chkconfig –-add mysqld [mysql服务]–先使用chkconfig –list查看在列表中不,如果不在运行chkconfig –add 添加
/sbin/chkconfig mysqld on [mysqld服务]
7、安装ZendOptimizer3.3.9
到官网下载linux版的ZendOptimizer,然后使用tar -xzvf zendoptimizer的文件名
然后拷贝在其目录data下与php对应版本的ZendOptimizer.so到/usr/lib/httpd/modules/中
然后在/etc/php.ini的文件的末尾加上
[zend]
zend_optimizer.optimization_level=15
zend_extension=/usr/lib/httpd/modules/ZendOptimizer.so
然后执行service httpd restart,配置完成
达梦数据库初试
1、在安全登录处建立用户
2、在对应数据库的用户处建立用户,登录名选择刚刚新建的登录名
对象权限、系统权限管理上设置的图形化操作比较舒适,角色管理业比较人性化,很适合windows用户习惯
3、文件系统
从上图可以看到其中的xifenfei这个数据库的控制文件(.ctl)、数据文件(.dbf)、回滚文件(.rol)和剩下的重做日志文件和oracle的文件体系很像。
感言:初次接触达梦数据库,感觉是mssql和oracle的一个整合,在文件结构上和oracle有几分相似,在用户管理上和ms sql很相似,在进程/线程管理上对oracle进行了简化,在内存管理上没有oracle那样强大的可控性。在数据库整体上来说,和mssql更相似一点,都是采用一个数据库软件,多个数据库的管理模式,而不是oracle采用schema的模式(用户为基准)
linux压缩与解压
tar [主选项+辅选项] 文件或者目录 (主选项必须,辅选项可选)
主选项:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
t 列出档案文件的内容,查看已经备份了哪些文件。
u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
x 从档案文件中释放文件。
辅助选项:
b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。
f 使用档案文件或设备,这个选项通常是必选的。
k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。
m 在还原文件时,把所有文件的修改时间设定为现在。
M 创建多卷的档案文件,以便在几个磁盘中存放。
v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
w 每一步都要求确认。
z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
例如:
$ tar cvf usr.tar /home –把home目录中的所有文件打包成usr.tar文件(包括文件夹一起被压缩)
$ tar czvf usr.tar.gz /home –把home目录中的所有文件压缩成usr.tar.gz文件
$ tar tvf usr.tar | more –查看usr.tar 中的文件信息
$ tar xvf usr.tar –解压usr.tar文件到当前文件夹中
tar xzvf ../feifei.tar.gz –解压feifei.tar.gz到当前文件夹
gzip [选项] 压缩(解压缩)的文件名
各选项的含义:
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段:
压缩文件的大小
未压缩文件的大小
压缩比
未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6。
例如:
$ gzip * 压缩该目录下的每个文件(文件被替换)
$ gzip -dv * 每个压缩被文件解压,并列出详细的信息。 (文件被替换)
$ gzip -l * 详细显示该目录每个压缩的文件的信息,并不解压。
$ gzip usr.tar 压缩tar命令打包的.tar文件生成.tar.gz
unzip [选项] 压缩文件名.zip
各选项的含义分别为:
-x 文件列表 解压缩文件,但不包括指定的file文件。
-v 查看压缩文件目录,但不解压。
-t 测试文件有无损坏,但不解压。
-d 目录 把压缩文件解到指定目录下。
-z 只显示压缩文件的注解。
-n 不覆盖已经存在的文件。
-o 覆盖已存在的文件且不要求用户确认。
-j 不重建文档的目录结构,把所有文件解压到同一目录下。
例如:
$ unzip text.zip 将压缩文件text.zip在当前目录下解压缩
$ unzip -n text.zip -d /tmp 将text.zip解压到/tmp下
$ unzip -v text.zip 查看压缩文件目录,但不解压。
zip [参数] [打包后的文件名] [打包的目录路径]
-a 将文件转成ASCII模式
-F 尝试修复损坏的压缩文件
-h 显示帮助界面
-m 将文件压缩之后,删除源文件
-n 特定字符串 不压缩具有特定字尾字符串的文件
-o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-q 安静模式,在压缩的时候不显示指令的执行过程
-r 将指定的目录下的所有子目录以及文件一起处理
-S 包含系统文件和隐含文件(S是大写)
-t 日期 把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy
例如:
zip –q –r html.zip /home/Blinux/html
将/home/Blinux/html/ 这个目录下所有文件和文件夹打包为当前目录下的html.zip
linux常用命令
1、关机重启命令
poweroff
shutdown -h now
shutdown -h 10
shutdown -h 20:23
shutdown -r now
reboot
2、文件相关命令
mkdir -p soft/rpm/ 表示如果父目录不存在,一起创建
rmdir abc/ 删除文件夹abc
rmdir -p abc/dd/cc/ 要求所有文件夹均为空
rm -rf abc/soft/ 无提示删除目录和文件
cp ab.txt c/拷贝到c目录中
cat abc.txt显示文件内容
cat abc.txt > a.txt 把abc.txt中的内容输入到a.txt中
cat abc.txt >>a.txt 把abc.txt中的内容添加到到a.txt尾部
more filename直接查看文件(空格翻页,回车下一行,q跳出)
less filename可以比起more多了上下键进行翻的功能(只有在less时可以用,在| less 时和more一样)
head -10 start.txt 显示前面10行
tail -10 start.txt 显示最后10行
tail +10 start.txt 显示从第十行到结束
find / -name httpd.conf 在根目录下查找 httpd.conf文件(可以使用匹配符)
grep EXT3 start.log 匹配start.log 中含有EXT3的行
touch abc 如果存在abc文件就修改为系统时间,不存在就创建并修改为系统时间
touch -d 20020202 abc.txt 改特定文件到特定时间
touch * 修改目录下的所有文件到当前系统时间
stat abc.txt 列出文件的详细时间
mount /dev/cdrom /mnt/ 挂载光盘
ln -s /var/www/ www 软链接(感觉相当于快捷方式)
ln abc.txt b.txt 硬链接 两个修改同时修改,删除其中一个,另一个还存在
3、服务相关
chkconfig –list 服务列表,可以在后面添加具体服务
chkconfig –list (sendmail) 启动服务列表
chkconfig –add 添加服务
chkconfig –del 删除服务
chkconfig sendmail on开机自动启动服务
chkconfig sendmail off 开机不启动邮件服务
service sendmail stop关闭邮件服务
service sendmail start开启邮件服务
ifdown eth0 关闭网络
ifup eth0 启动网络
4、用户和组管理
useradd abc 添加用户abc adduser也行
passwd abc 设置abc的秘密
usermod -L abc 禁用abc用户名
usermod -U abc 启用abc用户名
passwd -l abc 禁用abc密码
passwd -u abc 禁用abc密码
userdel -r abc 删除用户及其宿主目录
groupadd -g 999 group2 创建一个组group2 GID为999
groupdel group2 删除group2组
groupmod -n group22 group2 将group2 改为group22组
useradd -g group2 abc 添加用户abc并设置到group22组
5、组、用户、权限管理
chown [-R] 用户名 文件|目录
chgrp [-R] 组群名 文件|目录
chmod [-R] 模式 文件
u,g 或 o,a,分别代表用户、组群和其它用户、所有用户
+ 或 – 代表授予或拒绝
r, w 或 x 分别代、写入、和执行
第一个数字代表所属用户的权限
第二个数字代表组群权限
第三个数字代表其它用户的权限
[root@xifenfei etc]# groupadd -g 512 group2
[root@xifenfei etc]# useradd -g group2 abc
[root@xifenfei etc]# id abc
uid=502(abc) gid=512(group2) groups=512(group2)
[root@xifenfei etc]# cd /tmp
[root@xifenfei tmp]# mkdir group
[root@xifenfei tmp]# ll |grep group
drwxr-xr-x 2 root root 4096 09-07 23:11 group
[root@xifenfei tmp]# chown -R abc group
[root@xifenfei tmp]# ll |grep group
drwxr-xr-x 2 abc root 4096 09-07 23:11 group
[root@xifenfei tmp]# chgrp -R group2 group
[root@xifenfei tmp]# ll |grep group
drwxr-xr-x 2 abc group2 4096 09-07 23:11 group
[root@xifenfei tmp]# chown -R chf:root group –(chown :root gconfd-chf/–只修改组 chown root gconfd-chf/只修改组)
[root@xifenfei tmp]# ll |grep group
drwxr-xr-x 2 chf root 4096 09-07 23:11 group
[root@xifenfei tmp]# chomd -R 777 group
-bash: chomd: command not found
[root@xifenfei tmp]# chmod -R 777 group
[root@xifenfei tmp]# ll |grep group
drwxrwxrwx 2 chf root 4096 09-07 23:11 group
[root@xifenfei tmp]# chmod ug+w,o-w group
[root@xifenfei tmp]# ll |grep group
d-w–w—- 2 chf root 4096 09-07 23:11 group
unmask–减去权限(在创建文件时)
[root@xifenfei tmp]# umask -S
u=rwx,g=rx,o=rx
[root@xifenfei tmp]# umask
0022
[root@xifenfei tmp]# umask 003
[root@xifenfei tmp]# umask -S
u=rwx,g=rwx,o=r
[root@xifenfei tmp]# mkdir a
[root@xifenfei tmp]# ll
drwxrwxr– 2 root root 4096 09-08 23:52 a
6、进程管理
ps – ef
ps -aux
kill -9 spid
killall spname
7、使用setup进入文本交互式配置
空格表示选中或者取消
tab表示跳转
enter表示确定选中项
ntsysv直接进入服务设置文本模式
vi使用说明
1、进入vi
vi FileName
vi -r FileName 在上次正用vi编辑FileName发生系统崩溃后,恢复FileName.
vi File1 … Filen 打开多个文件,依次对之进行编辑.
2、移动光标类命令
h 光标左移一个字符.
l 光标右移一个字符.
k或Ctrl+p 光标上移一行.
j或Ctrl+n 光标下移一行.
Enter 光标下移一行.
w或W 光标右移一个字至字首.
B或b 光标左移一个字至字首.
E或e 光标右移一个字至字尾.
nG 光标移至第n行首.
n+ 光标下移n行.
n- 光标上移n行.
n$ 光标移至第n行尾.
H 光标移至屏幕顶行.
M 光标移至屏幕中间行.
L 光标移至屏幕最后行.
0 光标移至当前行首.
$ 光标移至当前行尾.
3、插入文本
i 在光标前插入.
I 在当前行首插入.
a 在光标后插入.
A 在当前行尾插入.
o 在当前行之下一新行插入.
O 在当前行之上新开一行插入.
4、删除命令
ndw或ndW 删除光标处开始及其后的n-1个字符.
d0 删至行首.
d$ 删至行尾.
ndd 删除当前行及其后n-1行.
x或X 删除一个字符.
Ctrl+u 删除输入方式下所输入的文本.
5、搜索及替换命令
/Pattern 从光标处开始向文件尾搜索Pattern.
Pattern 从光标处开始向文件首搜索Pattern.
n 在同一方向重复上次的搜索命令.
N 在反方向重复上次的搜索命令.
:S/P1/P2/g 将当前行所有P1均用P2替换.
:n1,n2 s/P1/P2/g 将第n1至n2行中所有P1均用P2替换.
:g/P1/s//P2/g 将文件中所有P1均用P2替换.
:%s/p1/p2/g 功能同上
:%s/^M///g (^M Ctrl+VM)
6、行方式命令
:w 保存当前文件.
:n1,n2 w filename 将n1行到n2行之间的内容保存到文件filename中
:e FileName 打开文件进行编辑.
:X 保存当前文件并退出.
:q 退出vi.
:q! 不保存文件退出vi.
7、屏幕翻滚
Ctrl+u 向文件首翻半屏.
Ctrl+d 向文件尾翻半屏.
Ctrl+f 向文件尾翻一屏.
Ctrl+b 向文件首翻一屏.
nz 将第n行滚至屏幕顶部.不指定n时将当前行滚至屏幕顶.
CentOS 5安装oracle 11g R2数据库
1、检查操作系统是否支持对应版本的oracle
Centos相当如对应的Red Hat Enterprise Linux版本
具体请查阅oracle安装文档
2、检查内核,内存,交换区大小,硬盘大小是否符合要求
cat /proc/version(linux核心版本)lsb_release –id(linux版本)
grep MemTotal /proc/meminfo(检查内存)
grep SwapTotal /proc/meminfo(检查交换区)
df -h /tmp(检查tmp空间大小)
3、检查相应的rpm包的情况
rpm –qa | grep pagename(grep是搜索)
主要包有:
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
numactl-devel-0.9.8.x86_64
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-2.2.11 (32 bit)
unixODBC-devel-2.2.11
unixODBC-devel-2.2.11 (32 bit)
pdksh-5.2.14(官方文档没有给出,但是安装检测时提示需要)
4、安装缺少的rpm包
rpm –ivh pagename(根据提示,如果缺少依赖包,也需要加上去)
yum install pagename(联网时直接安装)
5、添加组和用户
/usr/sbin/groupadd oinstall(添加oinstall组)
/usr/sbin/groupadd -g 502 dba(添加dba组)
/usr/sbin/useradd -u 502 -g oinstall -G dba oracle(添加用户oracle,主组oinstall,辅助组dba)
passwd oracle(修改oracle用户密码)
6、创建文件夹并修改组和用户所属关系和相关权限
mkdir -p /u01/oracle(创建文件u01/oracle)
chown -R oracle:oinstall /u01(使得u01文件夹输入oracle用户和oinstall组)
chmod -R 775 /u01(修改u01文件夹访问权限)—可选(最好执行下)
7、添加/etc/hosts中dns解析信息
12.1.1.8 xifenfei
8、在/etc/security/limits.conf中添加用户限制信息
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
9、 添加 /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
10、修改或者添加/etc/sysctl.conf中信息
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
—/sbin/sysctl –p(重新加载这些参数,不用重启系统)
参数意义解释:
kernel.shmmax 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,shmmax 设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。当然Oralce 的建议是希望一个大的共享内存段能容纳整个SGA,这样在任何时候都不会有甚至轻微的性能下降的隐患。Oracle 安装文档建议32Bit Linux系统设置kernel.shmmax 为32Bit操作系统内存最大的限制值,也就是4G 。所以一般来说,1-4G 的物理内存,可以直接设置shmmax 为最大物理内存即可,那么SGA 肯定在一个共享内存段中,32Bit Linux 系统物理内存大于4G 的设置为4G 即可。总之,一般设置shmmax >=SGA(32Bit 系统是否支持到1.7G 以上SGA 需要注意) 。如果是64Bit的 Linux 操作系统,shmmax 设置为大于SGA_MAX_SIZE 即可。
kernel.shmall 参数取的这个值是ORACLE默认的值,kernel.shmall 参数是控制共享内存页数。Linux 共享内存页大小为4KB, 共享内存段的大小= 共享内存页大小*共享内存页数。一个共享内存段的最大大小是16G,需要共享内存页数16GB/4KB=16777216KB/4KB=4194304(页)。如果你的内存不超过8G,那么8GB/4KB=8388608KB/4KB=2097152 (页)。个人认为如果你的内存大小不超过8G,就默认使用2097152大小;如果内存大小为16G,则需要调大kernel.shmall参数至4194304,这时可以将shmmax 参数调整到16G了, 同时增大你的SGA_MAX_SIZE 和SGA_TARGET 为12G左右(您想设置的SGA 最大大小,当然也可以是2G~14G 等,还要协调PGA参数及OS 等其他内存使用,不能设置太满)kernel.shmmni 内核参数是共享内存段的最大数量(注意这个参数不是shmmin,是shmmni, shmmin 表示内存段最小大小)。shmmni 缺省值4096 ,一般肯定是够用了。
11、编辑vi /etc/profile
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
–注意空格,在用户切换时使用su – username,这样才会加载后面的环境变量的配置信息(不要使用su username切换)
12、配置环境变量
在oracle用户下的.bash_profile文件中添加下面信息
ORACLE_HOSTNAME=xifenfei(在/etc/hosts中配置的dns信息)
ORACLE_BASE=/u01
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:$PATH
NLS_LANG=AMERICAN_AMERICA.UTF8(为了防止乱码数据库要是utf8编码,如果数据库选择了gbk的编码,这里则使用ZHS16GBK)
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH NLS_LANG ORACLE_HOSTNAME
13、在安装过程中为了防止出现如下错误提示
Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.安装之前使用root用户执行:xhost local:oracle
14、使用向导安装,根据提示解决出现的问题
15、完成安装并执行提示脚本(全部默认就可以了)
Note:注意检查nobody用户的存在(id nobody)—-一般情况下系统都存在