安装redhat服务器

3. 安装oracle
3.1创建用户和组
======如果是新建用户和密码===
[root@localhost ~]# groupadd oinstall 
 
[root@localhost ~]# groupadd dba 




[root@localhost ~]# useradd -g oinstall -G dba wimo 
 
[root@localhost ~]# passwd wimo 




==========如果已经有用户,则====
[root@localhost ~]# usermod  -g oinstall -G dba wimo 
 


密码:wimo


会在/home 目录下生成wimo目录给该用户
3.3创建目录并修改权限


安装包解压
cd /home/wimo 
    unzip linux.x64_11gR2_database_1of2.zip
    unzip linux.x64_11gR2_database_2of2.zip


chown -R wimo.oinstall /home/wimo 
chmod -R 775 /home/wimo 


3.4参数设置 
OS参数要求
Su root
1、/etc/sysctl.conf
Su root
[root@dbsrv ~]# id wimo
出现结果
uid=500(wimo) gid=500(oinstall) groups=500(oinstall),501(dba)
发现dba是501
用root,将dba组添加到系统内核中:
--这里的501 是上面的id 命令查看出来的。


vi /etc/sysctl.conf
在行末添加以下内容


kernel.shmall = 2097152  ----该处原文件有,可以不添加
kernel.shmmax = 2147483648 ----该处原文件有,可以不添加


#for oracle:


kernel.shmmni = 4096 
# semaphores: semmsl, semmns, semopm, semmni 
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 
vm.hugetlb_shm_group = 501


末尾的501就是前面的值


运行sysctl -p 应用以上参数
/sbin/sysctl -p 




2、/etc/security/limits.conf
vim /etc/security/limits.conf 
行末添加以下内容: 




#use for oracle 
 
oracle  soft nproc 2047 
oracle  hard nproc 16384 
oracle  soft nofile 1024 
oracle  hard nofile 65536


3、/etc/pam.d/login
vi /etc/pam.d/login 
行末添加以下内容
 
 
session    required     /lib/security/pam_limits.so 
注意如果你的操作系统是x64的则为
session    required     /lib64/security/pam_limits.so 
(大多都是64位)
否则系统拒绝登录




4、/etc/selinux/config
vi /etc/selinux/config 
确保以下内容,关闭
SELINUX=enforcing
改为
SELINUX=disabled 
 
5、/etc/profile
在/etc/profile里添加如下行
 
 vim  /etc/profile


末尾添加




export LIBXCB_ALLOW_SLOPPY_LOCK=true 
if [ \$USER = "wimo" ]; then 
        if [ \$SHELL = "/bin/ksh" ]; then 
                ulimit -p 16384 
                ulimit -n 65536 
        else 
                ulimit -u 16384 -n 65536 
        fi 
                umask 022 
    fi
 
在root用户下,使用命令source profile使环境变量生效
source /etc/profile
6、/home/wimo/.bash_profile


[oracle@localhost /]$ su - wimo 
[oracle@localhost /]$ vi /home/wimo/.bash_profile


用wimo用户编辑加入以下内容


#Oracle Settings 
umask 022; 
export   ORACLE_BASE=/home/wimo/oracle; 
export   ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; 
export   ORACLE_SID=orcl; 
export   PATH=$ORACLE_HOME/bin:$PATH;


如果在编辑的过程中出现乱码则用一下命令
 
export LANG=en_US.UTF-8     
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK --该行可以不加
 


使环境变量生效
 su root
source /home/wimo/.bash_profile 




然后再设置本地字符集类型
 
 export LANG=en_US.UTF-8


3.5.安装依赖包
安装的包有些多,主要是分不清依赖关系,所以都装了,不然总报错,有时还难以解决
yum install binutils* -y
yum install compat* -y
yum install control* -y
yum install gcc* -y
yum install glibc* -y
yum install gnome* -y
yum install libstdc* -y
yum install make* -y
yum install ksh* -y
yum install sysstat* -y
yum install libXp.i686 libXp-devel.i686 libXt.i686 libXt-devel.i686 -y


yum install libXtst.i686 -y
yum install libXtst-devel.i686 make.x86_64 gcc.x86_64 libaio.x86_64 glibc-devel.i686 libgcc.i686 -y


yum install glibc-devel.x86_64 compat-libstdc++-33 -y
yum install glibc* gcc* make* compat-db* libstdc* libXp* libXtst* -y
yum install compat-libstdc++* -y


里面有几个因为已经安装了,会报Nothing to do,不用管,按顺序安装即可
3.6修改配置
1、/etc/redhat-release
修改/etc/redhat-release文件,加入改成系统支持的版本
 vim /etc/redhat-release
Red Hat Enterprise Linux Server release 5.4 (Tikanga) 
改成
 
Red Hat Enterprise Linux Server release 4 (Tikanga)

redhat-4 
 
2、/etc/inittab(这个没有配置)
这个为了你操作失误带来不必要的麻烦这个我们修改下inittab 
(我是没有改的,无需修改,装了基本服务器就默认是3)
 [root@localhost ~]# vi /etc/inittab 
 把id:5:initdefault: 
修改为
 id:3:initdefault 
注意:改为3是没有图形化界面的5是有的


还需配置DNS的主机名为 localhost.localdomain 
主DNS解析域名为:202.96.209.5 
第二DNS为:202.96.209.133 DNS
搜寻路径:localdomain  
(这个没有配置)


不然在安装的过程中同样会报checking network configuration requirements is: Not executed的错误提示   




3、/etc/hosts
还需修改 vi /etc/hosts 文件   
vi /etc/hosts
在安装oracle 10g的过程中,遇到了checking network configuration requirements is: Not executed的错误提示。发现是/etc/hosts中没有指定静态ip地址导致,检测/etc/hosts发现果真如此, 
cat /etc/sysconfig/network
查看hostname
比如为lvhaixiang
vim /etc/hosts
 添加
192.168.1.111 lvhaixiang


---192.168.1.111是linux redhat 的ip地址不是 windows ip 地址 重新检测,显示正常
4、/home/wimo/database/response/enterprise.rsp


配置enterprise.rsp文件,需使用自带的enterprise.rsp 配置再按照
静态安装文件是预先设置好参数了,那么等oracle安装的时候要手工输入的都可以直接读取静态安装文件(当然是x界面的啦)。如果你用
x界面的操作系统那么,按着界面提示一步步完成也是一样的。
 把10201_database_linux32.zip文件解压后得到database目录,
 /home/wimo/database/response


下有有enterprise.rsp、standard.rsp和custom.rsp三个应答文
件,分别对应企业版、标准版和定制的安装。
 
我们以以enterprise.rsp为例:
找到具体设置的值处,一个个修改


创建目录:
mkdir -p /home/wimo/oracle/product/10.2.0/db_1


chown -R wimo.oinstall /home/wimo 
chmod -R 755 /home/wimo 




vim /home/wimo/database/response/enterprise.rsp




  oracle.install.option=INSTALL_DB_SWONLY             //安装类型,只装数据库软件
   ORACLE_HOSTNAME=db                             //主机名称(命令hostname查询)
   UNIX_GROUP_NAME=oinstall                       // 安装组
   INVENTORY_LOCATION=/usr/local/oraInventory          //INVENTORY目录(**不填就是默认值,本例此处需修改,因个人创建安装目录而定)
  SELECTED_LANGUAGES=en,zh_CN                       // 选择语言
  ORACLE_HOME=/usr/local/oracle/product/11.2.0/db_1      // oracle_home *路径根据目录情况注意修改 本例安装路径/usr/local/oracle
  ORACLE_BASE=/usr/local/oracle                           // oracle_base *注意修改
  oracle.install.db.InstallEdition=EE                  // oracle版本
  oracle.install.db.isCustomInstall=false              //自定义安装,否,使用默认组件
  oracle.install.db.DBA_GROUP=dba                      //dba用户组
  oracle.install.db.OPER_GROUP=oinstall                //oper用户组
  oracle.install.db.config.starterdb.type=GENERAL_PURPOSE   //数据库类型
  oracle.install.db.config.starterdb.globalDBName=orcl      //globalDBName
  oracle.install.db.config.starterdb.SID=orcl          //SID(**此处注意与环境变量内配置SID一致)
  oracle.install.db.config.starterdb.memoryLimit=81920      //自动管理内存的内存(M)
  oracle.install.db.config.starterdb.password.ALL=oracle    //设定所有数据库用户使用同一个密码
  SECURITY_UPDATES_VIA_MYORACLESUPPORT=false             //(手动写了false)
  DECLINE_SECURITY_UPDATES=true                 // **注意此参数 设定一定要为true
 


也可以把保存的修改后的文件上传到目录,覆盖原文件(建议手动改)
3.7.正式安装
 
切换oracle用户安装


su - wimo
 
换oracle用户登录:注意文件位置视自己刚刚修改的文件位置而定


su wimo
cd  /home/wimo/database


/home/wimo/database/runInstaller -silent -responseFile /home/wimo/database/response/enterprise.rsp 






..............                                                  100% Done. 
Setup successful 
End of install phases.(Mon Sep 21 23:43:20 CST 2009) 


WARNING:A new inventory has been created in this session. However, it has not yet been registered as the central inventory of this system.
To register the new inventory please run the script '/home/wimo/oracle/oraInventory/orainstRoot.sh' with root privileges. 
If you do not register the inventory, you may not be able to update or patch the products you installed.


The following configuration scripts 
/home/wimo/oracle/product/10.2.0/db_1/root.sh
need to be executed as root for configuring the system. If you skip the execution of the configuration tools, the configuration will not be complete and the product wont function properly. In order to get the product to function properly, you will be required to execute the scripts and the configuration tools after exiting the OUI.
The installation of Oracle Database 10g was successful.
Please check '/home/wimo/oracle/oraInventory/logs/silentInstall2015-07-21_11-37-39AM.log' for more details.
(恭喜你成功了如果没这个提示就看看他说的日志继续修改下
ok

tail -100f /home/wimo/oracle/oraInventory/logs/silentInstall2015-07-21_11-37-39AM.log
4、运行sqlplus
接下来按提示操作, root身份登录,运行以下两个文件
su root
/home/wimo/oracle/oraInventory/orainstRoot.sh
也有可能是
/home/wimo/oraInventory/orainstRoot.sh
必须根据日志的提示查看具体位置 


/home/wimo/oracle/product/10.2.0/db_1/root.sh
不输入任何值,按回车
su root
vim /etc/profile


在最后,添加:


export ORACLE_BASE=/home/wimo/oracle/  
export ORACLE_HOME=/home/wimo/oracle/product/10.2.0/db_1 
export ORACLE_SID=orcl  
export PATH=$ORACLE_HOME/bin:$PATH 




保存,退出,然后运行:
source /etc/profile


su root
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin


测试 sqlplus
su - wimo
[oracle@localhost database]$ sqlplus /nolog
SQL> quit
5、安装网络监听
vim /home/wimo/database/response/netca.rsp


主要查看以下参数配置:   
INSTALL_TYPE=""custom"" 安装的类型   (只修改了这一处地方,4个双引号)
LISTENER_NUMBER=1 监听器数量   
LISTENER_NAMES={"LISTENER"} 监听器的名称列表  
LISTENER_PROTOCOLS={"TCP;1521"} 监听器使用的通讯协议列表   
LISTENER_START=""LISTENER"" 监听器启动的名称


运行安装命令


su wimo
$ORACLE_HOME/bin/netca /silent /responseFile /home/wimo/database/response/netca.rsp
运行完毕
Profile configuration complete.
Oracle Net Services configuration successful. The exit code is 0
看到这些,表示运行成功


成功运行后,在/home/wimo/oracle/product/10.2.0/db_1/network/admin目录下生成sqlnet.ora和listener.ora两个文件。
cd /home/wimo/oracle/product/10.2.0/db_1/network/admin
ls
$ORACLE_HOME/bin/lsnrctl status 
查看监听器状态
如果发现没有启动,则启动监听
Su wimo
$ORACLE_HOME/bin/lsnrctl start 
netstat -tlnp


 tcp  0   0 :::1521        :::*      LISTEN      5477/tnslsnr
 说明监听器已经在1521端口上开始工作了。






6、增加数据实例   
1、安装前的准备和配置
su wimo
cat /home/wimo/.bash_profile
查看sid
ORACLE_SID=orcl
先要把监听启动,再新建数据库实例,先运行命令
$ORACLE_HOME/bin/lsnrctl status 
查看监听运行状态,保证监听是启动的状态,如果发现没有启动,则
su wimo
$ORACLE_HOME/bin/lsnrctl start 




先创建以下目录
mkdir -p /home/wimo/oracle/oradata/
mkdir -p /home/wimo/oracle/flash_recovery_area
以便下面填写
DATAFILEDESTINATION ="/home/wimo/oracle/oradata/"
RECOVERYAREADESTINATION="/home/wimo/oracle/flash_recovery_area"


给oracle用户这些目录权限:


su root
chown -R wimo.oinstall /home/wimo 
chmod -R 755 /home/wimo 


2、修改原有的响应文件安装实例
可以查看http://blog.chinaunix.net/uid-23886490-id-3565908.html 里面的说明
su wimo
cd /home/wimo/database/response
vim /home/wimo/database/response/dbca.rsp


只需要修改CREATEDATABASE 里面的选项


RESPONSEFILE_VERSION = "10.0.0" –-无需修改
OPERATION_TYPE = "createDatabase" –-无需修改
GDBNAME = "orcl" 
SID = "orcl"  
TEMPLATENAME = "New_Database.dbt"  
SYSPASSWORD = "system" 
SYSTEMPASSWORD = "system" 
EMCONFIGURATION=”LOCAL” 
SYSMANPASSWORD = "system"
DBSNMPPASSWORD = "system"
DATAFILEDESTINATION ="/home/wimo/oracle/oradata/"  
RECOVERYAREADESTINATION="/home/wimo/oracle/flash_recovery_area" 
STORAGETYPE=FS  
CHARACTERSET = "AL32UTF8"  (建议使用该值)
CHARACTERSET = "ZHS16GBK" (原来导出数据的数据库字符集)
NATIONALCHARACTERSET= "UTF8" (建议使用该值)
NATIONALCHARACTERSET= "AL16UTF16"(原来导出数据的国家字符集)
MEMORYPERCENTAGE = "40"  


也可以根据以前修改过后的文件,复制到目录替换掉原文件(建议手动修改)
su wimo
$ORACLE_HOME/bin/dbca -silent -createDatabase -responseFile /home/wimo/database/response/dbca.rsp  


大约要安装30多分钟。
Creating and starting Oracle instance 
Look at the log file  
"/home/wimo/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/orcl/orcl.log" for further details.  


可以新开一个xshell,使用下面命令查看进度
tail -100f /home/wimo/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/orcl/orcl.log
3、检测数据库实例是否安装成功
因为在安装实例的时候,配置文件里面把dba密码都设置成了system,所以可以用dba登录测试一下。
sqlplus sys/system as sysdba
查看实例,数据库名称是否一致是orcl
show parameter name;


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert     string
db_name         string orcl
db_unique_name     string orcl
global_names         boolean FALSE
instance_name     string orcl
lock_name_space     string
log_file_name_convert     string
service_names     string orcl


都是orcl,代表一致




看你当前有多少个已经启动的实例
su wimo
ps -ef|grep smon
wimo     20916     1  0 16:16 ?        00:00:00 ora_smon_orcl
wimo     24966 24941  0 16:26 pts/1    00:00:00 grep smon
可以看到有一个实例已经启动,ora_smon_orcl 
echo $ORACLE_SID
查看实例id








7、配置远程连接和本地连接
1、修改服务器端listener.ora
su wimo
cd /home/wimo/oracle/product/10.2.0/db_1/network/admin
vim /home/wimo/oracle/product/10.2.0/db_1/network/admin/listener.ora
原来的是这样的
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /home/wimo/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
  )


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = lvhaixiang)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )
修改后是这样


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /home/wimo/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
   (SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = /home/wimo/oracle/product/10.2.0/db_1)
      (GLOBAL_DBNAME = orcl)
    )
  )


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))  
 (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )


红色部分是增加的部分,监听里面修改成了服务器的局域网ip地址(或者是公网ip)和locahost,同时添加了sid 。192.168.1.111是供远程连接使用,localhost是本地连接使用,如果不添加localhost,则本地tomcat服务器中的项目无法通过localhost连接本机数据库(数据库和tomcat服务器在同一个电脑的情况),本机连接数据库,只需要配置好监听就可以了。远程连接数据库,服务器机器添加好了远程ip的监听(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521)) ,然后再申明sid,即


(SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = /home/wimo/oracle/product/10.2.0/db_1)
      (GLOBAL_DBNAME = orcl)
)
就可以了。


远程连接数据库,还需要客户端修改tnsnames.ora。


2、修改客户端tnsnames.ora
在xp系统的电脑上安装了oracle客户端,使用Net Configuration Assistant 添加本地命令服务,orcl 192.168.1.111,查看客户端下面的E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora,修改内容如下:
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
配置完以后,用plsql发现无法连接,cmd下发现ping 192.168.1.111可以连接,但是
telnet 192.168.1.111 1521发现连接失败


telnet 192.168.1.111 1521
估计是服务器防火墙问题,开发服务器防火墙端口


3、修改防火墙配置,开启端口
1.在/etc/sysconfig/iptables里添加 
su root
vim /etc/sysconfig/iptables
原来的配置是这样的


# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT




添加红色部分到相应位置,注意一定要添加到
-A INPUT -j REJECT --reject-with icmp-host-prohibited
这一行的前面(如果有这一行的话,这一行的意思是:在INPUT表中拒绝所有其他不符合上述任何一条规则的数据包,并且发送一条host prohibited的消息给被拒绝的主机。)其中1521是数据库,80,8080,8443是服务器上的tomcat下面的项目需要的端口


-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT




保存退出,重启服务
service iptables restart


参考公网服务器防火墙配置如下:


-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9418 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9000 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 29418 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 7990 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8883 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8882 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8085 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8005 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8009 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8082 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8443 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 9418 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 29418 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT




关闭服务器监听和数据库实例
su – wimo
$ORACLE_HOME/bin/lsnrctl stop
sqlplus / as sysdba
SQL> shutdown immediate;


Database closed.
Database dismounted.
ORACLE instance shut down.


SQL> quit;


重启服务器监听和数据库实例
su wimo
sqlplus / as sysdba
SQL> startup;
SQL> quit;


su wimo
$ORACLE_HOME/bin/lsnrctl start


再在客户端的cmd下telnet 192.168.1.111 1521,发现成功。
客户端使用plsql远程连接,
发现成功


telnet 192.168.1.111 1521


本地连接数据库
在本地监听起来以后,tomcat下的项目只要配置好了数据库连接,比如




jdbc.driver=oracle.jdbc.driver.OracleDriver
#jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl
#jdbc.url=jdbc:oracle:thin:@192.168.1.111:1521:orcl
jdbc.username=smarthome
jdbc.password=cm_smarthome
以及有orac数据库连接的驱动jar包ojdbc-14.jar,就可以让项目连接上本地数据库


8、设置开机启动监听和实例
编辑/etc/oratab
vim /etc/oratab
orcl:/home/wimo/oracle/product/10.2.0/db_1:Y


创建文件 /etc/init.d/oracle
Su root
vim /etc/init.d/oracle_start


#!/bin/bash  
# chkconfig: 345 99 10  
# description: Startup Script for Oracle Databases 
# /etc/rc.d/init.d/oradbstart
 
export ORACLE_HOME=/home/wimo/oracle/product/10.2.0/db_1 
export ORACLE_SID=orcl  
export PATH=$ORACLE_HOME/bin:$PATH 
export ORACLE_USER=wimo


case "$1" in start)  
su $ORACLE_USER -c $ORACLE_HOME/bin/dbstart 
touch /var/lock/oracle 
echo "OK" 
;; 
stop)  
echo -n "Shutdown Oracle: "  
su $ORACLE_USER -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/oracle 
echo "OK" 
;; 
*)  
echo "Usage: 'basename $0' start|stop" 
exit 1 
esac 
exit 0




修改脚本的运行权限   
$su - root  #


chown wimo.oinstall /etc/init.d/oracle_start 
chmod 775 /etc/init.d/oracle_start


把oracle_start服务添加到 chkconfig 中   
chkconfig --add oracle_start   
chkconfig --list oracle_start


修改 dbstart    


vi $ORACLE_HOME/bin/dbstart        


ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle   
改为:       
ORACLE_HOME_LISTNER=$ORACLE_HOME    
确保数据库启动时,网络监听器同时启动。


重启数据库服务器进行测试


su root    
reboot
su wimo
查看已经启动的实例
ps -ef|grep smon
[root@lvhaixiang ~]# ps -ef|grep smon
wimo      1892     1  0 14:40 ?        00:00:00 ora_smon_orcl
root      1995  1953  0 14:42 pts/0    00:00:00 grep smon
查看监听启动状态
$ORACLE_HOME/bin/lsnrctl status 




sqlplus smarthome/cm_smarthome@192.168.1.111:1521/orcl
sqlplus smarthome/cm_smarthome@localhost:1521/orcl
9、创建用户和表空间
创建表空间保存的文件目录
mkdir -p /home/wimo/oracle/oradata/chinamobile


授权:
chown -R wimo:oinstall /home/wimo
chmod -R 775  /home/wimo


sqlplus sys/system as sysdba
sqlplus system/system as sysdba




SQL> 
--------创建用户---------


create user smarthome identified by cm_smarthome;


---------创建表空间




create tablespace cm_smarthome
logging 
datafile '/home/wimo/oracle/oradata/chinamobile/smarthome.dbf'
size 100m 
autoextend on 
next 32m maxsize 2048m 
extent management local; 


create temporary tablespace cm_smarthome_temp
tempfile '/home/wimo/oracle/oradata/chinamobile/smarthome_temp.dbf'
size 32m 
autoextend on 
next 32m maxsize 2048m   
extent management local; 
--------把表空间分配给用户---------
alter user smarthome default tablespace cm_smarthome temporary tablespace cm_smarthome_temp;
--------授权---------
grant connect to smarthome with admin option;
grant resource to smarthome with admin option;
grant create any view to smarthome with admin option;
grant unlimited tablespace to smarthome;


----查询用户权限 (用户名必须大写)
select * from dba_sys_privs where grantee = 'SMARTHOME';
select * from dba_tab_privs where grantee = 'SMARTHOME';
select * from dba_col_privs where grantee = 'SMARTHOME';
select * from dba_role_privs where grantee = 'SMARTHOME';
quit;


sqlplus smarthome/cm_smarthome@192.168.1.111:1521/orcl


sqlplus smarthome/cm_smarthome@localhost:1521/orcl


sqlplus smarthome/cm_smarthome@127.0.0.1:1521/orcl




sqlplus smarthome/cm_smarthome@10.0.21.11:1521/orcl


sqlplus smarthome/cm_smarthome@192.168.57.125:1521/orcl




发现用新用户连接成功
远程用plsql使用新用户登录,即可导入表和数据
10、导入sql文件(表和数据)
这时我们可以通过远程plsql连接数据库导入表和数据,也可以直接通过ssh在服务器上导入,plsql导入就不说了, 下面介绍怎么ssh导入。\


建议用远程plsql导入,方便快捷。


字符集选择是CHARACTERSET = "ZHS16GBK" (原来导出数据的数据库字符集)
NATIONALCHARACTERSET= "AL16UTF16"(原来导出数据的国家字符集)


su wimo
mkdir -p /home/wimo/oracle/backup
mkdir -p /home/wimo/oracle/backup/smarthome_data


把sql文件20150611.sql上传到/home/wimo/oracle/backup
AREA.sql ;city.sql; province.sql; homeAndUser.sql; locations.sql; 
上传到/home/wimo/oracle/backup/smarthome_data


su root
chown -R wimo:oinstall /home/wimo
chmod -R 775  /home/wimo




用新增的用户登录
su wimo
sqlplus smarthome/cm_smarthome
 
查看当前登陆的用户名:
select user from dual;
或者
select * from user_users;


查看当前用户拥有的角色和权限:
select * from user_role_privs;
select * from session_privs;


导入sql文件


SQL> @/home/wimo/oracle/backup/20150611.sql;
SQL> @/home/wimo/oracle/backup/smarthome_data/AREA.sql;
SQL> @/home/wimo/oracle/backup/smarthome_data/city.sql;
SQL> @/home/wimo/oracle/backup/smarthome_data/province.sql;
SQL> @/home/wimo/oracle/backup/smarthome_data/homeAndUser.sql;
SQL> @/home/wimo/oracle/backup/smarthome_data/locations.sql;




查看当前用户的表:
select table_name from user_tables;


//表空间、用户,表结构,表数据完全导入成功。
sqlplus sys/system as sysdba


SELECT * FROM NLS_DATABASE_PARAMETERS;


SELECT USERENV('language') FROM dual;


select * from v$nls_parameters;
查看字符集






11、dbca静默删除数据库实例
直接用命令的方式删除如下
su wimo


$ORACLE_HOME/bin/dbca -silent -deleteDatabase -sourceDB orcl -sysDBAUserName sys -sysDBAPassword system


其中orcl是要删除的实例名,sys是dba的用户名,system是dba用户的密码
删除完以后,可以再次重新安装实例,重新设置数据库字符集编码。


等待结果就行


Connecting to database
4% complete
9% complete
14% complete
19% complete
23% complete
28% complete
47% complete
Updating network configuration files
48% complete
52% complete
Deleting instance and datafiles
76% complete
100% complete
Look at the log file "/home/wimo/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/orcl.log" for further details.


12、安装启动多个实例
修改配置
su wimo
vim /home/wimo/.bash_profile


把其中的
export   ORACLE_SID=orcl
修改为
export   ORACLE_SID=test
使环境变量生效
 su root
source /home/wimo/.bash_profile 


查看参数是否已经配置成功
echo $ORACLE_HOME
echo $ORACLE_SID
先要把监听启动,再新建数据库实例,先运行命令
$ORACLE_HOME/bin/lsnrctl status 
查看监听运行状态,保证监听是启动的状态,如果发现没有启动,则
su wimo
$ORACLE_HOME/bin/lsnrctl start


修改响应文件


vim /home/wimo/database/response/dbca.rsp


只需要修改CREATEDATABASE 里面的选项
GDBNAME = "test" 
SID = "test"  
就可以了




su wimo
$ORACLE_HOME/bin/dbca -silent -createDatabase -responseFile /home/wimo/database/response/dbca.rsp  


大约要安装30多分钟。
Creating and starting Oracle instance 
Look at the log file  
"/home/wimo/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/test/test.log" for further details.  


可以新开一个xshell,使用下面命令查看进度
tail -100f /home/wimo/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/test/test.log
查看已经启动的实例
ps -ef|grep smon
查看监听启动状态
$ORACLE_HOME/bin/lsnrctl status 
配置远程连接
su wimo
cd /home/wimo/oracle/product/10.2.0/db_1/network/admin
vim /home/wimo/oracle/product/10.2.0/db_1/network/admin/listener.ora


原来的是这样的


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /home/wimo/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = /home/wimo/oracle/product/10.2.0/db_1)
      (GLOBAL_DBNAME = orcl)
    )
  )


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
    )
  )


修改为


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /home/wimo/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = /home/wimo/oracle/product/10.2.0/db_1)
      (GLOBAL_DBNAME = orcl)
)
(SID_DESC =
      (SID_NAME = test)
      (ORACLE_HOME = /home/wimo/oracle/product/10.2.0/db_1)
      (GLOBAL_DBNAME = test)
    )
  )


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
    )
  )


红色是新增部分


创建表空间保存的文件目录
mkdir -p /home/wimo/oracle/oradata/chinamobile/test


授权:
su root
chown -R wimo:oinstall /home/wimo
chmod -R 775  /home/wimo


su wimo
sqlplus sys/system as sysdba


SQL> 
--------创建用户---------


create user test identified by test;


---------创建表空间




create tablespace cm_smarthome_test
logging 
datafile '/home/wimo/oracle/oradata/chinamobile/test/smarthome.dbf'
size 100m 
autoextend on 
next 32m maxsize 2048m 
extent management local; 


create temporary tablespace cm_smarthome_temp_test
tempfile '/home/wimo/oracle/oradata/chinamobile/test/smarthome_temp.dbf'
size 32m 
autoextend on 
next 32m maxsize 2048m   
extent management local; 
--------把表空间分配给用户---------
alter user test default tablespace cm_smarthome_test temporary tablespace cm_smarthome_temp_test;
--------授权---------
grant connect to test with admin option;
grant resource to test with admin option;
grant create any view to test with admin option;
grant unlimited tablespace to test;


----查询用户权限 (用户名必须大写)
select * from dba_sys_privs where grantee = 'TEST';
select * from dba_tab_privs where grantee = 'TEST';
select * from dba_col_privs where grantee = 'TEST';
select * from dba_role_privs where grantee = 'TEST';
quit;
sqlplus test/test@192.168.1.111:1521/test


sqlplus test/test@localhost:1521/test
发现用新用户连接成功
远程用plsql使用新用户登录,即可导入表和数据


在xp系统的电脑上安装了oracle客户端,查看客户端下面的E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora,修改内容如下:


原来内容是这样




ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )


EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )


修改后是这样的


ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )


TEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = test)
    )
  )


EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )


红色是新增的部分




这样就可以通过plsql远程连接数据库了。连接以后,可以通过plsql导入
E:\项目备份\中国移动研究院\智能家居\数据库\test数据库的sql\20150611部分数据
里面的sql文件数据了




到此为止,第2个测试数据库实例也已经完成,把配置文件修改为主要的实例orcl需要的配置,让orcl必须开机就启动,而测试实例可以通过手动启动


su wimo
vim /home/wimo/.bash_profile


把其中的
export   ORACLE_SID=test
修改为
export   ORACLE_SID=orcl
使环境变量生效
 su root
source /home/wimo/.bash_profile 
查看参数是否已经配置成功
echo $ORACLE_HOME
echo $ORACLE_SID


特别要注意的是:如果手动启动了test数据库实例,必须都把配置修改为orcl,保证主数据库能开机启动。因为主数据库实例设置了开机启动,所以,只需要开机以后,启动数据库实例即可,不需要再启动数据库监听。




下面是启动多个数据库实例的步骤:
1.切换Oracle用户:
su wimo
2.修改配置文件 
vim /home/wimo/.bash_profile


把其中的
export   ORACLE_SID=test
修改为
export   ORACLE_SID=orcl


即修改为要启动的数据库实例id,
使环境变量生效
su root
source /home/wimo/.bash_profile 
3. 查看参数是否已经配置成功
echo $ORACLE_HOME
echo $ORACLE_SID
4.启动数据库实例
su wimo
sqlplus / as sysdba
SQL> startup
SQL> quit


测试是否启动
sqlplus test/test@192.168.1.111:1521/orcl


sqlplus test/test@localhost:1521/orcl
远程plsql连接数据库实例
5、 启动另外一个数据库,先修改配置文件,再启动,即
重复步骤1-4
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值