Oracle学习

7 篇文章 0 订阅

开机启动oracle

切换到oracle用户

sqlplus / as sysdba

会出现未监听报错

SQL> connect / as sysdba
Connected to an idle instance.
SQL> connect system@prod
Enter password: 
ERROR:
ORA-12541: TNS:no listener


Warning: You are no longer connected to ORACLE.
SQL> 

退出sql,用

lsnrctl status
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 13-DEC-2022 08:55:37

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused

输入

lsnrctl start

在这里插入图片描述
再用

lsnrctl status

可得
在这里插入图片描述

重启机器之后需要启动监听
即可进入sql
如果显示

SQL> connect / as sysdba       
Connected to an idle instance.

输入startup启动一个oracle实例

SQL> startup
ORACLE instance started.

Total System Global Area  801701888 bytes
Fixed Size		    2232640 bytes
Variable Size		  226496192 bytes
Database Buffers	  566231040 bytes
Redo Buffers		    6742016 bytes
Database mounted.
Database opened.


启动oracle需要两个条件 1.监听 2.实例

监听文件的目录

/oradata/soft/oracle11g/product/11.2.0.3/dbhome_1/network/admin/

目录下的文件

ls
listener.ora  samples  shrept.lst  sqlnet.ora  tnsnames.ora

查看当前数据库的名字

SQL> select name from v$database;

NAME
---------
PROD

查看sql版本

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE	11.2.0.3.0	Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production


以下内容转自

conn /as sysdba 详解
https://blog.51cto.com/xiaoliutolaoliu/1334975

sqlplus /nolog,conn /as sysdba这样的方式也能登陆,没有用密码这样都能登陆

1 sqlplus /nolog,conn /as sysdba 之所以能够登录,在于oracle登录时的身份认证方式。可以试一下这个:sqlplus

/nolog,conn abcd/sss as sysdba,你发现也能够登录成功。
2 oracle在登录时,有三种身份认证方式:操作系统身份认证、密码文件认证、数据库认证。而conn /as sysdba是属于

操作系统认证。
为什么这样说呢?你当前电脑开机时登录的用户,也就是进入操作系统的用户,例如是gooooal,它在你电脑的

ora_dba组中。
可以在“我的电脑”单击右键,找到“管理”,选择“本地用户和组”,发现有一个组叫“ora_dba”,双击它,看到成

员列表中有“gooooal”。
也就是在conn /as sysdba,oracle会进行操作系统验证,发现你当前登录的用户就属于ora_dba组,因此才可以登录

成功。
你可以把ora_dba组中的“gooooal”用户删除,再conn /as sysdba,就发现进不去了。
3 密码文件验证可以查阅相关资料,百度oracle的身份验证方式,就可以查到相关资料。
4 其实在linux或unix环境下,安装oracle是要设置很多东西的,比如用户和用户组的设置等,不像在windows下,安装傻

瓜化了。
5 关于安全性,如果将oracle安装在本地,其实你本地就是oracle服务器,所以权限高一些。你用哪个用户来启动oracle

实例?哪个用户来mount数据库?哪个用户来打开数据库?从而才能进行之后的select等sql操作?
在oracle实例等还没有启动的时候,oracle数据库里面建的用户肯定是不能使用的。所以才会有操作系统身份验证。用

这个用户,来启动oracle实例
、转载数据库等。之后才能做oracle表的增删改查。

以上,希望对你有所帮助。

创建用户

创建用户 cp 密码为 cp,
并赋值权限 connect resource dba
可连接 资源 dba

SQL> connect system@prod
Enter password: 
Connected.
SQL> create user cp identified by cp;

User created.

SQL> grant connect,resource,dba to cp;

Grant succeeded.

授权

经过授权以后,用户拥有connect、resource和dba三个角色的权限:

Connect 角色
是授予最终用户的典型权利,最基本的权利,能够连接到Oracle数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作。

Alter session–修改会话;

Create cluster–建立聚簇;

Create database link–建立数据库连接;

Create sequence–建立序列;

Create session–建立会话;

Create synonym–建立同义词;

Create view–建立视图。

Resoure角色
是授予开发人员的,能在自己的方案中创建表、序列、视图等。

Create cluster–建立聚簇;

Create procedure–建立过程;

Create sequence—建立序列;

Create table–建表;

Create trigger–建立促发器;

Create type–建立类型。

DBA角色
是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限。

在to后面还可以加上with admin option ,
含义是权限转授,该用户user能把他得到的这个权限再转授给其他用户user。

scott用户默认是被加锁的,不能使用,需要解锁(需要system用户)

SQL> connect system@prod
Enter password: 
Connected.

SQL> alter user scott account unlock;    

User altered.

更改密码

1.在输入密码是输入 tiger

SQL> connect scott@prod
Enter password: 
ERROR:
ORA-28001: the password has expired


Changing password for scott
New password: #此处输入tiger
Retype new password: 
Password changed
Connected.
SQL> 

还可以用这种方法改

alter user cp identified by cp
#          用户           要改的密码

表空间

创建表空间,设置默认大小50M

SQL> create tablespace ts1 datafile '/home/oracle/ts1.dbf' size 50M;

Tablespace created.

更改用户表空间

SQL> connect cp@prod
Enter password: 
Connected.
SQL> show user;
USER is "CP"
SQL> alter database default tablespace ts1;

Database altered.

更改表空间名字

SQL> alter tablespace ts1 rename to tss1;

Tablespace altered.

删除表空间

SQL> drop tablespace tss1 including contents and datafiles;

Tablespace dropped.

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值