#vi /etc/selinux/config SELINUX=disabled #setenforce 0
Service iptables stop Chkcofnig iptalbes off
# mkdir /u01 # /usr/sbin/groupadd oinstall # /usr/sbin/groupadd dba # useradd -g oinstall -G dba -d /u01/oracle oracle # passwd oracle
ORACLE_BASE=/u01 ORACLE_HOME=$ORACLE_BASE/oracle ORACLE_SID=xfs PATH=$ORACLE_HOME/bin:$PATH LD_LTBRARY_PATH=$ORACLE_HOME/lib:$LD_LTBRARY_PATH DISPLAY=127.0.0.1:0.0 export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LTBRARY_PATH DISPLAY
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
session required pam_limits.so
if [ $USER = "oracle" ]; then ulimit -u 16384 ulimit -n 65536 fi
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
$ netca一直默认下一步 , 呵呵, 最后 Finish
$ dbca
$ sqlplus /nolog SQL> conn / as sysdba Connected to an idle instance.
Sqlplus /nolog 是以不连接数据库的方式启动sql*plus
Connect /as sysdba 是以DBA身份连接到oracle
Startup就可以启动了。
不过oracle启动模式有3种:
lStartup nomount (nomount模式)启动实例不加载数据库。
lStartup mount (mount模式)启动实例加载数据库但不打开数据库
lStartup (open 模式)启动实例加载并打开数据库,就是我们上面所用的命令
Nomount模式中oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据库文件,
所以说:
1)创建新数据库
2)重建控制文件
这2种操作都必须在这个模式下进行。
Mount模式中oracle只装载数据库但不打开数据库,所以说:
1)重命名数据文件
2)添加、删除和重命名重做日子文件
3)执行数据库完全恢复操作
4)改变数据库的归档模式
这4种操作都必须在这个模式下进行
Open模式(就是我们上面的startup不带任何参数的)正常启动。
当然这3种模式之间可以转换:
Alter database mount(nomount模式)―〉alter database open(mount 模式)―〉(open模式)
当然还有其它一些情况,在我们open模式下可以将数据库设置为非受限状态和受限状态
在受限状态下,只有DBA才能访问数据库,所以说:
1)执行数据导入导出
2)使用sql*loader提取外部数据
3)需要暂时拒绝普通用户访问数据库
4)进行数据库移植或者升级操作
这4种操作都必须在这个状态下进行
使用alter system disable restricted session命令即可以将受限状态改变为非受限状态。
使用alter database open read only可以使数据库进入只读状态。
使用alter database open read write 可以使数据库进入读写状态。
当然在某些情况下可能是用上述各种启动方式都无法成功启动数据库,这个时候就要使用startup force命令来强行启动数据库。当然谁都不想碰到这种情况:)
***/
SQL> startup [oracle@localhost ~]$ sqlplus /nolog SQL> conn / as sysdba Connected. SQL> create table testUser( id integer,name char(10)); Table created. SQL> insert into testUser values(0,'Jack'); 1 row created. SQL> commit; Commit complete. SQL> select * from testUser; ID NAME ---------- ---------- 0 Jack
SQL> shutdown immediate SQL> quit
Oracle启动&停止脚本
1. 修改Oracle系统配置文件:/etc/oratab,使Oracle 自带的dbstart和dbshut发挥作
用。
# vi /etc/oratab
xfs:/u01/oracle:Y (备注,默认是N,改成Y)
2. 在 /etc/init.d/ 下创建文件oracle,内容如下:
#!/bin/sh #chkconfig: 35 80 10 # description: Oracle auto start-stop script. # # Set ORA_HOME to be equivalent to the $ORACLE_HOME # from which you wish to execute dbstart and dbshut; # # Set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME. ORA_HOME=/u01/oracle ORA_OWNER=oracle if [ ! -f $ORA_HOME/bin/dbstart ] then echo "Notice:Oracle had startup: cannot start now" exit fi case "$1" in 'start') # Start the Oracle databases: echo "Starting Oracle Databases ... " echo "------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle echo "---------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle echo "Done" # Start the Listener: echo "Starting Oracle Listeners ... " echo "---------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle echo "---------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle echo "Done." echo "----------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "-----------------------------------------------" >> /var/log/oracle touch /var/lock/subsys/oracle ;; 'stop') # Stop the Oracle Listener: echo "Stoping Oracle Listeners ... " echo "---------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stoping Oracle Listener as part of system down." >>/var/log/oracle echo "--------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle echo "Done." rm -f /var/lock/subsys/oracle # Stop the Oracle Database: echo "Stoping Oracle Databases ... " echo "---------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle echo "---------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle echo "Done." echo "" echo "----------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "---------------------------------------------" >> /var/log/oracle ;; 'restart') $0 stop $0 start ;; esac
3. 改变文件权限
# chmod 755 /etc/init.d/oracle
4. 添加服务
# chkconfig --level 35 oracle on
5. 需要在关机或重启机器之前停止数据库,做一下操作
# ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle //关机 # ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle //重启
6. 使用方法
# service oracle start //启动oracle # service oracle stop //关闭oracle # service oracle restart //重启oracle
7、如果使用网页管理数据库,需要运行 emctl start dbconsole
http://127.0.0.1:1158/em