linux终端开启oracle服务和给用户授权

切换到数据库服务的用户(即操作系统的用户)
$ su – oracle

开启oracle身份认证
$ sqlplus /nolog
sql> conn / as sysdba

开启/关闭oracle服务
sql> startup (一般不需要加参数,只要设置好环境变量)
sql> quit (退出sql模式)

$ lsnrctl start (启动监听器)关闭oracle
$ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序)

给新用户授权:
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> grant dba to jzbond;
SQL> quit

以数据库管理员的身份登录普通用户
[oracle@localhost ~]$ sqlplus jzbond/jzbond as sysdba

查看数据库名
SQL> select name from v$database;

Linux下oracle数据库启动和关闭操作
第一步:登陆
root登陆之后切换到oracle用户上,输入
su oracle

第二步:连接
在oracle用户下,输入
sqlplus /nolog

第三步:使用管理员权限
输入
connect /as sysdba

第四步:启动/关闭服务
输入
startup

startup参数
不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式!
nomount,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用!
mount,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了!

shutdown

shutdown的参数
Normal 需要等待所有的用户断开连接
Immediate 等待用户完成当前的语句
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。

第五步:如果是启动服务,要开启监听
退出sqlplus模式,输入
lsnrctl start

TNS_ADMIN
D:\工具\learn\PlSql\instantclient_11_1

原来的虚拟机网络配置:

ip地址:192.168.150.1
子网掩码:255.255.255.0
默认网关:无

vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=b0920690-fd85-48f6-acef-44cf928dabf2
DEVICE=ens33
ONBOOT=yes

vi /etc/sysconfig/network-scripts

service network restart
更改后的配置:
ROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=“static”
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=b0920690-fd85-48f6-acef-44cf928dabf2
DEVICE=ens33
ONBOOT=yes
IPADDR=“192.168.174.128”
NETMASK=“255.255.255.0”
GATEWAY=“192.168.174.2”

vi /u01/app/oracle/product/11.2.0.3/db_1/network/admin/listener.ora

192.168.174.128

网络(ip通信配置、虚拟机网络配置)、操作系统(linux、windwos)、oracle数据库权限配置

配置oracle数据库字符集:
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter system enable restricted session;
SQL> alter system set job_queue_processes=0;
SQL> alter database open;
SQL> alter database character set internal_use AL32UTF8; 或者 ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
SQL> shutdown immediate;
SQL> startup
SQL>alter system disable restricted session;

配置外网域名:vi /etc/resolv.conf

Generated by NetworkManager

nameserver 114.114.114.114
nameserver 114.114.114.115

配置proc:
1、查看依赖安装包文件 ldd which sysresv
2、安装yum install libxml2-devel-2.9.1-6.el7_2.3.x86_64库包
3、改配置文件vi /etc/ld.so.conf,添加一行路径(oracle安装绝对路径)
include ld.so.conf.d/*.conf
/u01/app/oracle/product/11.2.0.3/db_1/lib
4、执行ldconfig加载生效
5、执行proc查看结果

配置解压centos文件下zip包
Centos7解压Zip文件
一、安装支持ZIP的工具

yum install -y unzip zip

二、解压zip文件

unzip 文件名.zip

三、压缩一个zip文件

Oracle创建用户、角色、授权、建表
一、创建用户
创建用户:create user 用户名 identified by 口令(密码)
更改用户:alter user 用户名 identified by 口令(改变的口令)

二、删除用户
drop user 用户名
drop user 用户名 cascade;(删除带有对象数据的用户)

三、授权标准角色
1、三种标准角色:
connect role 连接角色
resource role 资源角色
dba role 数据库管理员角色

2、授权角色
grant create session to 用户名;(这个是给用户赋予登录的权限)
grant connect,resource to 用户名;(此用户拥有连接、资源的的权限)
grant dba to 用户名;(此用户拥有所有系统权限)

3、撤销权限
revoke connect,resource from 用户名;(撤销此用户的连接、资源的权限)
revoke dba from 用户名;(撤销此用户的系统权限)

四、创建、授权、删除角色
1、创建自定义角色
create role 角色名;
2、给角色授查询对应表的权限
grant select on 表名 to 角色名;
3、授予用户角色的权限
grant 角色名 to 用户名
4、删除角色
drop role 角色名

五、查看用户权限
select * from user_sys_privs;//查看当前用户所有权限
select * from user_tab_privs;//查看所有用户对表的权限

六、导出数据库表结构文档
只有拥有系统管理员权限的用户才可以导出,普通用户没有权限导出

七、sys和system用户的区别
【system】用户只能用normal身份登陆em。
【sys】用户具有“SYSDBA”或者“SYSOPER”权限,登陆em也只能用这两个身份,不能用normal。
“SYSOPER”权限,即数据库操作员权限,权限包括:
打开数据库服务器 关闭数据库服务器
备份数据库 恢复数据库
日志归档 会话限制
“SYSDBA”权限,即数据库管理员权限,权限包括:
打开数据库服务器 关闭数据库服务器
备份数据库 恢复数据库
日志归档 会话限制
管理功能创建数据库

normal 是普通用户
sysdba拥有最高的系统权限
sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是 public
sysdba登陆后是 sys

dba和sysdba的区别
dba、sysdba这两个系统角色有什么区别呢
在说明这一点之前我需要说一下oracle服务的创建过程
·创建实例
·启动实例
·创建数据库(system表空间是必须的)
启动过程
·实例启动
·装载数据库
·打开数据库

sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,
只要实例启动了,他就已经存在,以sysdba身份登陆,装载数据库、打开数据库
只有数据库打开了,或者说整个数据库完全启动后,dba角色才有了存在的基础!

dba是Oracle里的一种对象,Role 和User一样,是实实在在存在在Oracle里的物理对象,而sysdba是指的一种概念上的操作对象,在Oracle数据里并不存在。
所以说这两个概念是完全不同的。dba是一种role对应的是对Oracle实例里对象的操作权限的集合,而sysdba是概念上的role是一种登录认证时的身份标识而已。

1、物理上的role dba 是可以在数据字典里查到的
SQL> select * from dba_roles where role= ‘DBA’;

2、而sysdba是概念上的role在数据字典里是查不到的
SQL> select * from dba_roles where role= ‘SYSDBA’;

grant dba 和grant sysdba的差别
dba是正真的role,所以grant后在dba_role_privs里有记录,而revoke后就没有了

SQL> grant dba to testuser;
SQL> select * from dba_role_privs where grantee = ‘TESTUSER’;
GRANTEE GRANTED_ROLE ADM DEF
—————————— —————————— — —
TESTUSER RESOURCE NO YES
TESTUSER CONNECT NO YES
TESTUSER DBA NO YES
SQL> revoke dba from testuser;
SQL> select * from dba_role_privs where grantee = ‘TESTUSER’;
GRANTEE GRANTED_ROLE ADM DEF
—————————— —————————— — —
TESTUSER RESOURCE NO YES
TESTUSERCONNECTNOYES

对于sysdba是不会出现这个情况的,因为他不是正真的role
SQL> grant sysdba to testuser;
SQL> select * from dba_role_privs where grantee = ‘TESTUSER’;
GRANTEE GRANTED_ROLE ADM DEF
—————————— —————————— — —
TESTUSER RESOURCE NO YES
TESTUSERCONNECTNOYES

那么这个是sysdba是这么记录的叻,
我在一个文章和帖子里对对sysdba的登录有过详细的叙述
对了,sysdba是登录时候需要的他是和remote_login_passwordfile关联的
我们可以查询v p w f i l e u s e r s ; 如 下 : S Q L > s e l e c t ∗ f r o m v pwfile_users; 如下: SQL> select * from v pwfileusers;SQL>selectfromvpwfile_users;
USERNAME SYSDB SYSOP
—————————— —– —–
SYS TRUE TRUE
SYSTEM TRUE FALSE
TESTUSER TRUE FALSE
当你grant sysdba后,在这里就多了一条
下面我们revoke一下,再来看
SQL> revoke sysdba from testuser;
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
—————————— —– —–
SYS TRUE TRUE
SYSTEMTRUEFALSE

没有叻。

所以在这里dba和sysdba是根本不同概念了

http://192.168.9.228:8080/manage/

linux常用软件更新命令:
apt-get在ubuntu系统中用于安装和更新软件的命令,和yum相比,它不需要安装yum源,

可以直接使用,命令简单又好用。

apt-get install package 安装package

apt-get install package --reinstall 重新安装包package

apt-get -f install 修复安装

apt-get update 更新源

apt-get upgrade 更新已安装的包

apt-get dist-upgrade 升级系统

apt-get remove package 删除包

apt-get remove package --purge 删除包,包括配置文件等

apt-get clean && sudo apt-get autoclean 清理无用的包

centos 7 yum安装、卸载、升级软件等命令
一、使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的。
安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,
如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,
你可以自己作出判断;删除的命令是,yum remove ~,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
其中~ 代表软件名
安装软件包命令:yum install xxxx
删除软件包命令:yum remove xxxx
二、用yum查询想安装的软件
1.使用YUM查找软件包
命令:yum search ~
2.列出所有可安装的软件包
命令:yum list
3.列出所有可更新的软件包
命令:yum list updates
4.列出所有已安装的软件包
命令:yum list installed
5.列出所有已安装但不在Yum Repository 內的软件包
命令:yum list extras
6.列出所指定软件包
命令:yum list ~
7.使用YUM获取软件包信息
命令:yum info ~
8.列出所有软件包的信息
命令:yum info
9.列出所有可更新的软件包信息
命令:yum info updates
10.列出所有已安裝的软件包信息
命令:yum info installed
11.列出所有已安裝但不在Yum Repository 內的软件包信息
命令:yum info extras
12.列出软件包提供哪些文件
命令:yum provides~
三、清除YUM缓存
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,
可以使用yum clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all 清除所有。
1.清除缓存目录(/var/cache/yum)下的软件包
命令:yum clean packages
2.清除缓存目录(/var/cache/yum)下的 headers
命令:yum clean headers
3.清除缓存目录(/var/cache/yum)下旧的 headers
命令:yum clean oldheaders
4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
四、yum命令工具使用举例
yum update 升级系统
yum install ~ 安装指定软件包
yum update ~ 升级指定软件包
yum remove ~ 卸载指定软件
yum grouplist 查看系统中已经安装的和可用的软件组,可用的可以安装
yum grooupinstall ~安装上一个命令显示的可用的软件组中的一个
yum grooupupdate ~更新指定软件组的软件包
yum grooupremove ~ 卸载指定软件组中的软件包
yum deplist ~ 查询指定软件包的依赖关系
yum list yum* 列出所有以yum开头的软件包
yum localinstall ~ 从硬盘安装rpm包并使用yum解决依赖

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值