您的位置:首页 > 数据库 > Oracle

oracle入门

2016-01-15 14:37 253 查看

sqlplus / as sysdba 详解 

  http://blog.csdn.net/zhoujiaoshou/article/details/7468407
  sqlplus sss/sss as sysdba 依然是用sys登陆的

1. linux下启动oracle

su - oracle

lsnrctl start

sqlplus /nolog

conn /as sysdba

startup

2. linux下关闭oracle

su - oracle

sqlplus /nolog

conn /as sysdba

shutdown immediate

exit

lsnrctl stop



几个概念

首先咱们说说数据库,数据库实例,表空间这几个概念

我不想扯那些概念,就按照我的理解说,如果说错了,请各位大神一定指出。谢谢。

我们在oracle官网下载了安装包,最后在机器上按照了一个软件,那个东西就是数据库。也就是我们说的第一个概念。

第二个概念,数据库实例,我们可以按照java的观点来看,一个实例,就是一个一个java对象的实例。那么数据库(第一个概念)与数据库实例(第二个概念)是什么关系呢。一个数据库可以有多个实例。

再看表空间。表空间在物理上是存放数据的"地方"

一个数据库实例下可以有多个表空间。

表空间的下一层就是我们最熟悉的一张张表了。

那么用户和表空间是什么关系呢?

用户是隶属与数据库实例的一个概念。我们在新建一个用户的时候,就会指定这个用户的所属表空间。

那么用户与表空间是一对一还是一对多,还是多对多呢?

准确的说,这俩没有关系。

一个表空间可以放多个用户的数据,而一个用户也可以有多个表空间
http://www.cnblogs.com/adforce/p/3312252.html
http://www.cnblogs.com/zjhs/p/3147905.html

查看所有实例:



上面的prust和orcl就是两个实例

新建一个实例

在本机用oracle用户登录命令行下输入dbca
http://blog.itpub.net/29519108/viewspace-1443918/

更改数据库的默认实例

看下图即可



简单理解

其实我们也可以这样简单理解

对于我们来说,我们开发一个abc管理系统,这个系统需要很多表。

那么我们就在某个实例里,新建一个表空间(其实有两个,一个叫表空间一个叫临时表空间)

然后新建一个用户,指定他的需要的表空间和临时表空间。

完毕了。剩下的不用管了。
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="jdbcUrl" value="jdbc:oracle:thin:@10.150.0.233:1521:orcl"></property>
<property name="user" value="abc"></property>
<property name="password" value="123"></property>
</bean>
看上面的例子,jdbc:oracle:thin:@10.150.0.233:1521:orcl

orcl就是数据库实例的名字

然后根据user找到对应的表空间,也就找到所有的表了。

创建表空间

http://www.cnblogs.com/xmaomao/p/3273102.html

表空间,用户什么的,都建立好了,本机访问已经OK了。

远程访问还是不行。

怎么办?

估计是防火墙的问题。
记住:centos7的防火墙是firewall,service名是firewalld

关闭后,就一切ok。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: