一、下载oracle与安装前准备工作 1、下载 http://download.oracle.com/otn/nt/oracle11g/112010/linux.x64_11gR2_database_1of2.zip
http://download.oracle.com/otn/nt/oracle11g/112010/linux.x64_11gR2_database_2of2.zip 用unzip解压两个文件,解压后会放到同一个文件中database
2、安装前准备 1)、修改oracle用户限制参数(添加) #vim /etc/security/limits.conf oracle soft nproc 2047 #进程数软限制 oracle hard nproc 16384 #进程数硬限制 oracle soft nofile 1024 #文件数软限制 oracle hard nofile 65536 #文件数硬限制
2)、修改进程会话限制 (添加) #vim /etc/pam.d/login session required pam_limits.so
3)、新建用户和用户组 #groupadd oracle #useradd oracle -g oracle #usermod -G dba oracle #usermod -G oinstall oracle
4)、修改hosts表(添加本机解析 本机IP地址 主机名) #vim /etc/hosts 192.168.100.20 test001
5)、新建oracle数据目录,修改权限与组 #mkdir /oracle-11g #chmod -R 755 /oracle-11g #chown -R oracle:oracle /oracle-11g #cp -R database/ /oracle-11g
6)、下载pdksh-5.2.14-37.el5_8.1.x86_64.rpm复制到/oracle-11g目录下
7)、修改oracle用户的.bash_profile文件 #vim /home/oracle/.bash_profile export ORACLE_BASE="/oracle-11g/app/oracle" export ORACLE_HOME="/oracle-11g/app/oracle/product/11.2.0/dbhome_1" export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_SID=orcl export NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8" export PATH
8)、安装依赖包 #yum -y install libaio glibc compat-libstdc* elfutils-libelf-devel* gcc-c++ libaio-devel unixODBC\ readline* #cd /oracle-11g #yum -y install pdksh-5.2.14-37.el5_8.1.x86_64.rpm
二、安装 1、用oracle用户登录系统(图形界面) #cd /oracle-11g/datebase #./runinstall 中文乱码问题处理 解决步骤 1)、在Linux上新建目录mkdir -p /usr/share/fonts/zh_CN/TrueType 2)、现在windows(C:\Windows\Fonts)电脑上随便复制一个字体到Linux上TrueType目录下并重命名为zysong.ttf 3)、在执行 #cd /oracle-11g/datebase #./runinstall 不勾选更新 点击是 选择跳过更新 创建和配置数据库 直接选择服务器类 单数据库实例 高级安装 语言选择 版本选择 保存位置选择 选择数据库类型 数据库标识与oracle用户ORACLE_SID环境变量一致 自动内存管理的选项去掉 字符集根据需求配置 安全性要求 示例方案根据个人需求选,如果是自己测试使用,建议勾选 管理选项默认 数据库存储选项,默认读取oracle用户环境变量 恢复选项,生产环境建议启用自动备份 选择对所有用户使用相同的口令 特权操作系统组,默认 oracle安装之前需要修改很多内核参数,oracle越来越人性化,只需在界面上点击“修补并在次检查” 也可以 自定义修改内核文件 vi /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 #sysctl -p #内核重读配置文件 已root身份运行脚本 点击安装 等待安装完成 以root执行以下脚本 安装完成
安装中可能遇到的问题 安装Oracle的时候经常碰到oracle安装客户端的弹窗很小,有的时候还会只有一个竖条,很是烦人。 解决办法:./runInstaller -jreLoc /etc/alternatives/jre_1.8.0 解决方法:在makefile中添加链接libnnz11库的参数, 修改$ORACLE_HOME/sysman/lib/ins_emagent.mk,将$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11
使用dbca安装数据库 先在root 执行 #xdpyinfo |grep name 获取后的字符串,如 :0.0 #xhost + 返回信息为: access control disabled,clients can connect from any host 在oracle用户下执行 export DISPLAY=:0.0 在执行 dbca 安装实例
三、数据库的简单操作 (所有操作都是在oracle用户下操作) 1、启动监听,关闭监听,查看监听状态 #lsnrctl start #lsnrctl stop #lsnrctl status 2、连接数据库实例 #sqlplus system/password@orcl as sysdba
- system #用户
- password #该用户密码
- orcl #实例名
- sysdba #用户身份 #sqlplus / as sysdba 开启oracle数据库与实例分为3步 启动实例-->加载数据库-->打开数据库 3、启动实例不加载数据库 SQL>startup nomount 作用:创建新数据库;重建控制文件。 4、加载数据库但不打开数据库 SQL>startup mount 作用:重命名数据文件;添加、删除或重命名重做日志文件;执行数据库完全恢复操作;改变数据库的归档模式。 5、正常打开数据库 SQL>startup 6、强制启动模式 SQL>startup force 7、由nomount模式切换到mount模式 SQL> alter database mount; 8、由mount模式切换到open模式 SQL> alter database open; 9、在Open模式下,还可以选择将数据库设置为非受限状态和受限状态 SQL>alter system enable\disable restricted session; 10、数据库设置为只读模式和取消只读模式 SQL>alter database open read only; SQL>alter database open read write; 关闭数据库与实例也分为3步:关闭数据库-->实例卸载数据库--->终止实例 11、正常关闭方式 阻止任何用户建立新的连接;等待当前所有正在连接的用户主动断开连接;一旦所有的用户都断开连接,则立即关闭、卸载数据库,并终止实例。 SQL>shutdown nomal 12、立即关闭方式 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务;Oracle不等待在线用户主动断开连接,强制终止用户的当前事务,将任何未提交的事务回退;直接关闭、卸载数据库,并终止实例 SQL>shutdown immediate 13、事务关闭方式 这种方式介于正常关闭方式跟立即关闭方式之间,响应时间会比较快,处理也将比较得当。阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务;等待所有未提交的活动事务提交完毕,然后立即断开用户的连接;直接关闭、卸载数据库,并终止实例。 SQL>shutdown transactional 14、终止关闭方式 粗暴关闭,会丢失数据,重新打开数据库时候会执行恢复操作,一般不用这种方式。阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务;立即终止当前正在执行的SQL语句;任何未提交的事务均不被退名;直接断开所有用户的连接,关闭、卸载数据库,并终止实例。 SQL>shutdown abort 15、查看数据库名 SQL>select name,dbid from v$database; 或 show parameter db_name; 16、查询实例名 SQL>select instance_name from v$instance;或show parameter instance_name; 17、开启归档模式 SQL>archive log list; #查看是否归档 SQL>alter system set log_archive_start=true scope=spfile; #修改系统的日志方式为存档模式 SQL>shutdown immediate; #关闭数据库,因为不能在open状态下进行操作 SQL>startup mount; #启动实例 SQL>alter database archivelog; #更改数据库为存档模式 SQL>alter database open; #打开数据库 SQL>archive log list; #查看是否归档 18、关闭归档模式 SQL>archive log list; #查看是否归档 SQL>shutdown immediate; #关闭数据库,因为不能在open状态下进行操作 SQL>startup mount; #启动实例 SQL>alter database noarchivelog; #更改数据库为关闭归档模式 SQL>alter database open; #打开数据库 SQL>archive log list; #查看是否归档 19、创建表,查看表结构,插入数据,查看表数据,更改表数据,删除记录,删除表 SQL> create table a(a number); SQL> desc a SQL> insert into a values(1); SQL>select * from a; SQL> update a set a=2; SQL> delete from a; SQL> drop table a 20、查看当前数据库参数配置(db_name,sid等) SQL> show parameter name; 21、查看数据库的最大连接数与当前连接数 1)、查看最大连接数 select value from v$parameter where name = 'processes'; 2)、查看当前连接数 select count(*) from v$process; 22、查询数据库域名 SQL>select value from v$parameter where name='db_domain'; 或 show parameter domain; 23、清理监听日志 1)、先备份 cp listener.log listener.log.bak 2)、对监听日志追加空 cat /dev/null > listener.log