扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
方法/步骤
在福贡等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、做网站 网站设计制作定制网站制作,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站,外贸网站建设,福贡网站建设费用合理。
首先需要检查电脑硬件是否满足安装的要求
接下来创建oracle组以及oracle用户
然后进行配置linux内核的参数
接下来在oracle用户下面执行就可以了
检查硬件是否满足要求
1)确保系统有足够的 RAM 和交换空间大小,运行以下命令:
#grep MemTotal /proc/meminfo
#grepSwapTotal /proc/meminfo
注:所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。
2)确保有足够的磁盘空间。Oracle 10g软件大约需要 2.5GB 的可用磁盘空间,数据库则另需至少1.2G的磁盘空间
3)/tmp 目录至少需要 400MB 的可用空间。
要检查系统上的可用磁盘空间,运行以下命令:
#df-h
检查系统是否已安装所需的开发包
使用rpm -qa命令,确保以下包已成功安装。对于包的版本,只有版本高于下面的都可以,如果低于此版本,则要升级处理,如下:
binutils-2.15.92.0.2-13.EL4
compat-db-4.1.25-9
compat-libstdc++-296-2.96-132.7.2
control-center-2.8.0-12
gcc-3.4.3-22.1.EL4
gcc-c++-3.4.3-22.1.EL44
glibc-2.3.4-2.9
glibc-common-2.3.4-2.9
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-22.1
libstdc++-devel-3.4.3-22.1
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
setarch-1.6-1
libaio-0.3.103-3
创建oracle组和oracle用户
创建用于安装和维护 Oracle 10g软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall(用于软件安装) 和 dba(用于数据库管理)。
#groupadd oinstall
#groupadd dba
#useradd -m -g oinstall -G dba oracle –poracle (p表示添加帐号密码)
创建oracle目录并改变目录权限
现在,创建存储 Oracle 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。
以 root 用户身份执行以下命令:
#mkdir -p /u01/app/oracle # oracle根目录,-p 表示递归建立目录
#mkdir -p /u02/oradata # oracle数据文件存放目录
#chown -R oracle:oinstall /u01
#chown -R oracle:oinstall /u02
#chmod -R 775 /u01
#chmod -R 775 /u02
配置linux内核参数
#vi/etc/sysctl.conf,添加如下内容:
kernel.shmall = 2097152
kernel.shmmax = 2147483648 #此处默认设置为2G,数值一般设为物理内存的40~50%
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
完成后,运行以下命令激活更改:
#sysctl–p
注:Linux 内核非常出色。与大多数其他 *NIX 系统不同,Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参数更改后不必重新启动系统。Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。
配置oracle用户的shell限制
#vi /etc/security/limits.conf 添加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#vi /etc/pam.d/login 添加如下内容:
session required pam_limits.so
导出x图形界面给oracle用户
由于安装时采用的是oracle的OUI图形化界面,需要X支持,而默认oracle用户是不支持图形化操作的,必须以root的身份导出X给oracle用户使用。运行如下命令:
#xhost +
access control disabled,clients can connect from any host
出现以上文字表示导出成功。
oracle用户下执行
1.2.1设置环境变量
#su –oracle
$vi .bash_profile
加入以下内容:
TMP=/tmp
TMPDIR=$TMP
ORACLE_BASE=/u01/app/oracle #oracle 根目录
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 #oracle 家目录
ORACLE_SID=orcl #根据实际需要命名
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
PATH=$ORACLE_HOME/bin:$PATH
exportTMP TMPDIR ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
$source .bash_profile #使环境变量生效
2、安装 Oracle
2.1、下载并解压oracle软件
从Oracle网站下载10201_database_linux_x86_32.cpio.gz到oracle用户家目录下/home/oracle/(也可为其他目录),使用oracle用户登录后,解压此文件:
$startx
$cd /home/oracle
$gunzip 10201_database_linux_x86_64.cpio.gz
$cpio -idmv 10201_database_linux_x86_64.cpio
以上操作将Oracle安装文件解压到database/目录。
(根据下载的包的格式不同,解压出来后的目录格式可能不同。)
2.2、Oracle OUI进行图形化安装(推荐使用高级安装方式)
切换到database/目录下,运行以下命令:
$cd database
$./runInstaller
检验是否安装成功
数据库正常安装结束后,默认是启动的。以oracle用户身份运行以下命令测试:
$sqlplus/ as sysdba
SQLselectopen_mode from v$database;
OPEN_MODE
------------------
READ WRITE
若出现以上文字说明数据库正在正常运行。自此,数据库安装成功。
1.配置hostname
[root@oracledb ~]#hostnamectl set-hostname oracledb
[root@oracledb ~]#echo " 10.100.1.10 oracledb" /etc/hosts
2.关闭selinux和防火墙
[root@oracledb ~]#sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@oracledb ~]#setenforce 0
[root@oracledb ~]#systemctl stop firewalld
[root@oracledb ~]#systemctl disable firewalld
[root@oracledb ~]#systemctl status firewalld
3.下载Oracle软件包 且上传到服务器上,进行解压缩
建议使用winSCP工具进行上传到服务器的/opt目录下
[root@oracledb ~]# ls -lh /opt/
-rw-r--r-- 1 root root 1.2G Mar 30 16:12 linux.x64_11gR2_database_1of2.zip
-rw-r--r-- 1 root root 1.1G Mar 30 16:11 linux.x64_11gR2_database_2of2.zip
4.安装oracle环境所需要的依赖包-配置YUM源
安装依赖包之前,一定要设置好服务器上的安装源,原因是:可以在没有互联网的时候安装服务所需依赖包;常用的安装源有两种方式:
(1) 配置本地yum源
新建配置文件vi /etc/yum.repos.d/localsource.repo输入如下内容:
[localsource]
name=localsource
baseurl=
enabled=1
gpgcheck=0
(2) 生成本地yum 缓存
注意:从Oracle 11g 11.2.0.2版本开始,在Linux x86_64上安装时,只需要安装64位的软件包,但是,对于11.2.0.2之前的任何Oracle database 11g,下表中列出的32位和64位的安装包都必须安装
5.安装oracle环境所需要的依赖包-安装依赖包
(1)安装依赖包
[root@oracledb ~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel zlib zlib-devel pcre-devel unzip
(2)安装完成后,检查依赖是否全部安装成功
[root@oracledb ~]# rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel zlib zlib-devel pcre-devel unzip | grep "not installed"
(3)创建所需的用户组和用户
如果要安装Oracle数据库,通常需要以下本地操作系统用户组和用户:
Oracle inventory组(通常为 oinstall)
OSDBA组 (通常为 dba)
OSOPER组 (通常为 oper)
Oracle软件所有者(通常为 oracle)
创建用户组和用户:
[root@oracledb ~]# groupadd oinstall
[root@oracledb ~]# groupadd dba
[root@oracledb ~]# groupadd oper
[root@oracledb ~]# useradd -g oinstall -G dba oracle
(4)修改oracle用户密码:建议密码配置为字符+数字+特殊字符
[root@oracledb ~]# passwd oracle
6.配置内核参数和资源限制
(1)编辑配置文件vi /etc/sysctl.conf添加如下参数:
vm.max_map_count = 655360
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648 ###最小值: 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 = 1048576
注意:如果系统中某个参数高于上面的参数的值 ,保留较大的值,上面的数值只是官方要求的最小值,可以根据系统调整数值,以优化系统性能
(2)使内核参数生效
[root@oracledb ~]# sysctl -p
7.创建oracle安装目录
如下目录,根据自己的实际情况可做修改:
[root@oracledb ~]# mkdir -p /data/app/oracle/product/11.2.0
[root@oracledb ~]# cd /data/app/oracle/
[root@oracledb oracle]# mkdir oradata inventory fast_recovery_area
[root@oracledb ~]# chown -R oracle:oinstall /data/app/oracle
[root@oracledb ~]# chmod -R 775 /data/app/oracle
8.配置oracle用户环境变量
编辑配置文件vi /home/oracle/.bash_profile添加如下内容:
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
9. 解压下载好的两个Oracle数据库文件
[root@oracledb ~]# cd /opt
[root@oracledb ~]# unzip linux.x64_11gR2_database_1of2.zip -d /data
[root@oracledb ~]# unzip linux.x64_11gR2_database_2of2.zip -d /data
10. 编辑静默安装响应文件
(1)切换到oracle用户执行
[root@oracledb ~]# su - oracle
(2)切换到响应文件的目录下
[oracle@oracledb ~]$ cp -R /data/database/response/ .
[oracle@oracledb ~]$ cd response/
[oracle@oracledb response]$ ls
dbca.rsp db_install.rsp netca.rsp
11.修改配置文件:vi /home/oracle/response/db_install.rsp,修改以下变量的值
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/app/oracle/product/11.2.0
ORACLE_BASE=/data/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
12. 开始静默安装Oracle 11g
(1)开始安装oracle数据库
[oracle@oracledb ~]$ cd /data/database
[oracle@oracledb ~]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
注意:安装期间可以使用tail命令查看oracle的安装日志,且日志文件名称是根
据自己的实际执行时间确定的,安装日志文件会在安装时提示,需要等待3分钟左右,注意不要停止运行;安装完成后有如下提示,如果有类似如下提示,说明安装完成。
The following configuration scripts need to be executed as the "root" user.
#!/bin/sh
#Root scripts to run
/data/app/oraInventory/orainstRoot.sh
/data/app/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
4. Return to this window and hit "Enter" key to continue
Successfully Setup Software.
13.使用 root用户执行脚本
(1)切换到root用户执行
[root@oracledb ~]# su - root
(2)执行两个用户脚本
[root@oracledb ~]# sh /data/app/oracle/inventory/orainstRoot.sh
[root@oracledb ~]# sh /data/app/oracle/product/11.2.0/root.sh
14.配置监听程序
(1)切换到oracle用户执行(建议退出重进oracle用户)
[root@oracledb ~]# su - oracle
(2)配置监听,查看输出结果
[oracle@oracledb ~]$ netca /silent /responsefile /home/oracle/response/netca.rsp
(3)查看监听服务状态,若没启动需要启动
[oracle@oracledb ~]$ lsnrctl status
[oracle@oracledb ~]$ lsnrctl start
查看结果:
Parsing command line arguments:
Parameter "silent" = true
Parameter "responsefile" = /data/etc/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
Running Listener Control:
/data/app/oracle/product/11.2.0/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0
(4)查看监听端口
[oracle@oracledb ~]$ netstat -tnpl | grep 1521
15.静默创建数据库
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/data/app/oracle/oradata
RECOVERYAREADESTINATION=/data/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = " 6552 "
##其中TOTALMEMORY = " 6552 " 为6552 MB,物理内存8G*80%
(2)切换到oracle用户执行
[root@oracledb ~]# su - oracle
(3)执行静默建库
[oracle@oracledb ~]$ dbca -silent -responseFile /home/oracle/response/dbca.rsp
执行过程如下:
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/data/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.
(4)查看进程
[oracle@oracledb ~]$ ps -ef | grep ora_ | grep -v grep
(5)再次查看监听状态进行确认
[oracle@oracledb ~]$ lsnrctl status
结果显示:
The command completed successfully
16.至此数据库就安装成功了,下面我们登录下数据库
(1)切换到oracle用户执行
[root@oracledb ~]# su - oracle
(2)登录数据库
[oracle@oracledb ~]$ sqlplus / as sysdba
(3)查询实例状态
SQLselect status from v$instance;
(4)查看数据库版本
SQL select * from v$version;
(5)激活scott用户
SQLalter user scott account unlock;
SQLalter user scott identified by tiger;
SQLselect username,account_status from dba_users;
17.设置Oracle开机启动
(1)修改配置文件vi /data/app/oracle/product/11.2.0/bin/dbstart 修改如下内容:
将脚本中的ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
(2)修改配置文件vi /data/app/oracle/product/11.2.0/bin/dbshut 修改如下内容:
将脚本中的ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
(3)修改配置文件 vi /etc/oratab修改如下内容,
orcl:/data/app/oracle/product/11.2.0:Y
(4)新建文件:vi /etc/rc.d/init.d/oracle 注意:建议全部复制脚本内容
#! /bin/bash
# oracle: Start/Stop Oracle Database 11g R2
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/data/app/oracle/product/11.2.0
ORACLE_USER=oracle
case "$1" in
start)
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n #34;Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
stop)
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n #34;Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
restart)
$0 stop
$0 start
;;
status)
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
(5)给 /etc/init.d/oracle添加执行权限
[root@oracledb ~]# chmod +x /etc/init.d/oracle
(6)开机启动oracle
[root@oracledb ~]# chkconfig oracle on
(7)给启动文件加权限
[root@oracledb ~]# cd /data/app/oracle/product/11.2.0/bin/
[root@oracledb bin]# chmod 6751 oracle
[root@oracledb bin]# cd /var/tmp
[root@oracledb tmp]# chown -R oracle:oinstall .oracle
(8)重启测试
[root@oracledb ~]# reboot
(9)切换到oracle用户登录状态下
[root@oracledb ~]# su - oracle
[oracle@oracledb ~]$ sqlplus / as sysdba
(10)解除锁定
SQL alter user SYSTEM account unlock;
(11)这时候就可以用Navicat连接了
SQL conn;
用户名:SYSTEM
密码:oracle
如果不能正确连接,改下密码试试
alter user system identified by 新密码
[root@oracledb ~]# mkdir -p /data/szzt
[root@oracledb ~]# cd /data/
[root@oracledb data]# chown oracle:oinstall -R szzt
[root@oracledb data]# ll
total 0
drwxr-xr-x 3 root root 20 Apr 8 21:14 app
drwxr-xr-x 8 root root 128 Aug 21 2009 database
drwxr-xr-x 2 oracle oinstall 6 Apr 14 16:17 szzt
[root@oracledb ~]# su - oracle
[oracle@oracledb ~]$ sqlplus / as sysdba
SQL conn cshi
Enter password: 登录失败
Connected.
SQL create temporary tablespace DB_DATA_TMP tempfile'/data/szzt/DB_DATA_TMP.dbf' size 500m autoextend on next 100m maxsize 10240m extent management local;
显示结果:
Tablespace created.
SQL create tablespace DB_DATA logging datafile'/data/szzt/DB_DATA.dbf' size 2048m autoextend on next 100m maxsize 10240m extent management local;
显示结果:
Tablespace created.
SQL create user ceshi identified by ceshi default tablespace DB_DATA temporary tablespace DB_DATA_TMP;
显示结果:
User created.
SQL grant dba to ceshi;
显示结果:
Grant succeeded.
SQL conn ceshi ###用户名和密码一样,此时登录成功
[oracle@oracledb ~]$ cd /data/app/oracle/product/11.2.0/bin/
注意:数据库导出操作是在 源服务器 上进行
[oracle@oracledb bin]$ exp 用户名/密码@ IP地址 /orcl file =/data/szzt/ceshi.dmp owner='用户名'
Export terminated successfully without warnings.
注意:数据库导入操作是在 目标服务器 上进行
[oracle@oracledb bin]$ imp ceshi/ceshi@ 10.100.1.10 /orcl file=/data/szzt/ceshi.dmp fromuser=ceshi touser=ceshi
显示结果:可以看到导入的表过程(10.100.1.10是自己的目标数据库服务器)
Import terminated successfully without warnings .
(1)、数据导入完毕后,我们可以使用DBeaver对数据库进行远程管理
(2)、测试连接,没问题后完成新建
(3)、连接上来后,我们就可以使用工具来进行管理数据库
1 选择OracleHome 目录(比如c:/oracle)
2 右健单击 OracleHome 目录,选择属性
3 在属性对话框中选择 [安全] tab页
4 单击该页中 [添加] 按钮,将 "IUSR_计算机名(Internet 来宾账号)"、"IWAW_计算机名(启动IIS进程账号)" 两个账号!添加进来!
5 选择高级,将 “允许将来自父系的可继承权限传播给该对象”复选框---选中 ,需等一些时间
6 在高级选项中,作如下设定:
权限->“用在此显示的可以应用到子对象的项目替代所有子对象的权限项目”选上
审核->“用在此显示的可以应用到子对象的项目替代所有子对象的权限项目”选上
所有者->“替换子容器及对象的所有者”选上
再按“确定”,等执行完成。
7重新启动计算机。
但在按该方法做时却遇到些问题,而这些问题不一定每个人都会碰到,可能是个别系统设置问题。
1:在执行上面的解决方法第3条时,发现自己系统里,文件夹属性里没有“安全”的[TAB]页。这里我处理的方法有2个:(1)、打开“控制面板”中的“文件夹选项”。 单击“开始”,然后单击“控制面板”,双击“文件夹选项”。在“查看”选项卡上的“高级设置”下,清除“使用简单文件共享(推荐)”。(2)、控制面板------管理工具------本地安全策略------本地策略------安全选项-------网络访问:本地账户的共享和安全模式将其设置为“经典—本地用户以自己的身份验证”。
2:在执行上面的解决方法第6条时,提示:无审核策略相关的话,处理方法如下:
(1)点击“开始”菜单:选择“运行”,输入 “gpedit.msc”,打开组策略。
(2)依顺序打开:计算机策略——windows设置——安全设置——本地策略——审核策略。
(3)将“审核登录事件”“审核帐户登录事件”两项的安全设置由“无审核”改成“成功”。
按上面的操作基本都能让asp访问oracle时提示的
未发现 Oracle(TM) 客户端和网络组件。这些组件是由 Oracle 公司提供的,是 Oracle 7.3 版 (或更高) 客户软件安装的一部分。
在安装这些组件之前,将无法使用此驱动程序。
能够处理成功。
cmd下输入 net user 查看用户和组 添加的用户的时候可以通过提权的方法加到某一组里面 具体的命令入下: net user admin admin /add 添加用户名为admin 密码为admin的用户 net user localgroup administrators admin /add 将用户admin提权到administrators组内
1、新建的用户,用户组设置为oinstall,oinstall为oracle的默认用户组
2、将新用户下的文件或者目录修改权限为750,即
chmod 750 /home/test/aa
oracle用户就能正常读写访问了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流