开机启动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.