注:以上命令出错后问题见最后问题汇总 思路:
1, Su oracle,宿主用户登录 2, 设置bin到PATH 3, 启动监听 lsnrctl start 4, 远程连接
a) 如果防火墙没打开1521端口。打开 b) 远程可以连接 5, 关闭监听 lsnrctl stop
6, (经验)注销后,可以把oracle变成后台运行,重启后则需要重新进行以上1-4步骤,注
销后PATH会丢失,就不能在命令窗体进行sqlplus了,但是数据库已经启动,可以在远程操作
以下脚本为参考,不能有效运行,其中emctl 命令为资料库命令 启动
# vi /etc/rc.d/init.d/oracle
================================ Script File Start ================================ #!/bin/bash #
# chkconfig: 35 95 1
# description: init script to start/stop oracle database 10g, TNS listener, EMS # match these values to your environment: export ORACLE_BASE=/home/oracle/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_4 export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_SID=orcl export ORACLE_USER=oracle # see how we are called: case $1 in start)
su - \ lsnrctl start
sqlplus /nolog< emctl start dbconsole EOO touch /var/lock/subsys/$scriptname ;; stop) su - \ lsnrctl stop sqlplus /nolog< emctl stop dbconsole EOO rm -f /var/lock/subsys/scriptname ;; *) echo \$0 {start|stop}\;; esac ================================ Script File End ================================ 授权 :chown root.root /etc/rc.d/init.d/oracle 修改文件属性:chmod 755 /etc/rc.d/init.d/oracle 以后启动/关闭Oracle可以使用如下命令操作: # service oracle start // 启动监听、数据库以及em # service oracle stop // 关闭监听、数据库以及em 当然你也可以把Oracle作为系统服务,随系统启动等等。 五、常用管理平台命令 $ dbca //创建数据库 $ netmgr //服务和监听管理 $ netca //监听创建 $ ORACLE_HOME/bin/emctl start dbconsole //em打开 $ ORACLE_HOME/bin/emctl stop dbconsole //em关闭 $ lsnrctl start //启动监听 $ lsnrctl stop //关闭监听 $ dbshut //关闭数据库 注:默认情况不能使用,如果要使用需要配置相关参数 $ dbstart //打开数据库 注:默认情况不能使用,如果要使用需要配置相关参数 注:以上命令均为图形界面:没有jdk无法运行,没有xhost图形权限无法运行 六、 卸载(简单,全是rm) 1. 运行 $ORACLE_HOME/bin/localconfig delete 2. rm -rf $ORACLE_BASE/* 3. rm -f /etc/oraInst.loc /etc/oratab 4. rm -rf /etc/oracle 5. rm -f /etc/inittab.cssd 6. m -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv 7. 删除oracle用户和组。 七、应用篇 1, 执行*.sql文件 改变文件宿主为oracle 2, 创建表空间 注:datafile所在位置必须有oracle的可读写权限 所以chown oracle.oinstall datafile_path 3, 创建用户 八,插件 1, Rlwrap 该插件是可以在linux下的sqlplus,使用下上键来调取历史输入的sql,安装此插件前,先安装readline,readline在os光盘本身就有。 九:使用问题 1,netca等命令无法调出图形界面,或者报错的问题? Oracle Net Services Configuration: Xlib: connection to \refused by server 在可以使用图形的用户下如root使用xhost local:oracle Su root xhost local:oracle 原因在于,linux图形界面在用户a上时,如果使用b登录,那么b无法调用图形库,所以需要使用xhost 2, 重启机器后监听启动出现某些对象找不到? 如Instance \status UNKNOWN 3, 使用conn链接时出现listener does not currently know of service reque stedin connect descryiptor 4, 使用netstat –altn发现1521端口未打开(说明监听启动有误) 以上3个问题,处理办法: A,使用netca重新定义下监听 B,直接更改配置文件network/admin/linstener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\\software\\oracle\\product\\10.2.0\\db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = D:\\software\\oracle\\product\\10.2.0\\db_1) (SID_NAME = ORCL) ) (SID_DESC = (GLOBAL_DBNAME = HR) (ORACLE_HOME = D:\\software\\oracle\\product\\10.2.0\\db_1) (SID_NAME = HR) ) ) 增加(SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = D:\\software\\oracle\\product\\10.2.0\\db_1) (SID_NAME = ORCL) )描述 C,通过以上措施还有问题,手动启动oracle, conn /as sysbda startup nomount //启动实例 alter database mount //加载控制文件 alter databset open //加载数据库文件 如果实例已经启动部分可尝试先关闭后启动 关闭如下 alter alter database close; //关闭数据文件 alter database dismount; //关闭控制文件 shutdown //关闭实例(不用要直接shutdown。会很慢,他会等所有事务结束后才停止) 或者直接:shutdown immediate D,除了C方式外,可以修改加载方式,修改注册方式 Conn /as sysdba Alter system register(方法未试) 4,中文问题 如果安装的时候使用的英文,那么在存储中文时会出现乱码, 解决方式:1,安装时选择中文就OK了 2,如果要修改就麻烦了,许多地方都需要修改,所以建议还是重新创建数据库 5.非法关闭数据库,导致无法开启another startup/shutdown operation of this instance inprogres 使用startup force 十、关闭多个数据库 Windows下简单,关闭对应服务即可 Linux下: Export ORACLE_SID=hr Sqplus /nolog Conn /as sysdba Shutdown immediate 重点在设置ORACLE_SID参数.