一、下载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
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用户下操作)
1、启动监听,关闭监听,查看监听状态
#lsnrctl start
#lsnrctl stop
#lsnrctl status
2、连接数据库实例
#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;
16、查询数据库域名
SQL>select value from v$parameter where name='db_domain'; 或 show parameter domain;
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;