Linux服务器关闭后,oracle数据库启动
su - oracle -- 切换到oracle用户
如果是先启动了监听,先关闭监听
lsnrctl stop -- 关闭监听
如果是没有启动监听,直接先启动数据库,再开启监听
sqlplus / as sysdba
startup -- 启动
关闭Linux服务器Oracle数据库
su - oracle -- 切换到oracle用户
lsnrctl stop -- 关闭监听
sqlplus / as sysdba
shutdown immediate ---停止oracle
Linux服务器创建Oracle数据库新用户:
su - oracle -- 切换到oracle用户
sqlplus /nolog
conn /as sysdba
startup -- 启用数据库
create user mdc_test identified by mdc_test; -- 创建账号密码为mdc_test的用户
grant connect,resource,dba to mdc_test; -- 给这个用户赋权确保可以登录账户
如果用户被锁,解锁步骤如下:
su - oracle -- 切换到oracle用户
sqlplus /nolog
conn /as sysdba
alter user 用户名 account unlock; -- 解锁数据库用户
alter user 用户名 identified by 密码; -- 更改用户密码
如何删除oracle用户
第一、要将删除的用户进行锁定,这句必须执行,如果不锁定的话,可能会导致杀死进程无效
alter user 用户名 account lock;
第二、使用语句查看要删除用户的占用资源情况,因为如果占用资源,即状态为INACTIVE的进程,用户是无法删除的
select saddr,sid,serial#,paddr,username,status from v$session where username = '用户名';
第三、杀死status为【 INACTIVE】的进程,sid和seria#值为该列下的数值
alter system kill session 'sid,serial#';
因为基本上都有多个连接,所以可以根据条件生成SQL语句,进行批量终止连接当前用户session
select 'alter system kill session ''' || sid || ',' || serial# || ''';' from v$session where username = '用户名';
上述SQL语句会直接生成杀掉进程的语句,直接复制出来进行使用即可
注:第二、第三两步中的 '用户名' 一定要全部英文大写
第四、删除用户,使用以下SQL语句(如果不成功,即还是会报01940错,因为还有 INACTIVE 进程没杀死)
drop user 用户名 cascade;