非DBA人员的oracle数据库使用常识性操作(避免一堆问题)

463 阅读3分钟

(以下所说,均基于11g左右的版本)

感慨:
最近有同学不怎么熟悉oracle,使用的数据库也是别人创建好的,但是在使用过程中,出现一些问题,帮忙排查后,作一篇文章,谨给不怎么熟悉的同学,记住以下操作,可以避免很多问题。

1.常规的数据库安装暂且不提。

2.创建用户应该指定对应表空间。

  • 如果不指定表空间,后期的一些维护等会很麻烦,排查问题影响因素也比较多。

3.创建表空间后,应指定该表空间的rdb文件是可自动扩充的。

  • 表空间创建后,最好指定为可扩充。如果不是可扩充,后期随着数据的增多,如果你的表空间创建时大小设置为100m,那100m空间填满后,数据库将会不可使用,如果经验不足,可能会出现一些问题,让你难以排查,就算根据错误码,去谷歌或者百度,也难以定位到根本。

4.oracle用户创建的表,单字段名长度不能超过30个字符(需要与mysql区分,mysql要求一个行的定义长度不能超过65535)

  • oracle对于表字段命名长度有要求,具体原因可自行搜索。

5.oracle用户的权限粒度可以分的很细。

  • (如果赋过后)你可能有创建视图的权限,但你可能没有查看它的权限,总之可以分的很细,一般对权限要求不是很严的,使用通用权限即可(connect 、resource、create view,create index)(切忌赋权dba,会出现一些不妙的问题)。

6.oracle安装后,/etc/profile 文件中需要设置变量 ORACLE_HOME和ORACLE_SID才可通过sqlplus /nolog等进行正常操作。

7.oracle实例挂掉后重启即可。

  • 进入……/bin目录下,执行以下命令:
  sqlplus /nolog
  conn /as sysdba
  startup (稍等片刻)
  (停止实例是shutdown)

8.服务监听文件listener.ora ,最好将服务器名换成ip,这样外部访问才不会受影响。

  • 如果不是ip,外部访问将会出现异常,外部的oracle数据库服务请求将监听不到。在$ORACLE_HOME/network/admin目录下,找到listener.ora 文件,修改其中的host=…… 为ip地址(oracle数据库所在服务器的ip)。

9.oracle数据库要确保两个正常,再去排查其他问题,一个是监听的正常,一个实例的正常。

  • lsnrctl start (启动监听)------- lsnrctl stop(停止监听) 。

10.oracle数据库的命令在product下(按照规范安装,这个就很好排查和查找)

  • 例如目录 /home/db/oracle/app/oracle/product/11.2.0/dbhome_1/bin 。注意,安装目录来说每个人的可能有部分细微的不同,但是大致是差不多的。

11.(启动oracle步骤,当然,如果使用软链接或其他方法则可不用这样)找到安装目录,找到product,进入最终的db目录,进入bin目录下,进行命令操作。

  • 参考目录:/home/db/oracle/app/oracle/product/11.2.0/dbhome_1/bin