Linux下和Windows下创建Oracle数据库,表空间,Oracle用户
通過SSH工具或是XShell工具進入遠程Linux下。
其中,通過SSH工具登錄的界面如下:
其中Host Name是遠程服務器的ip地址。User Name是服務器的一個用戶名,端口號默認22,Connect進去后可以填寫服務器的密碼。
通過XShell工具登錄的界面如下:
點擊上面的New按鈕,填寫HOST主機地址,即服務器的IP地址,點擊OK即可。
?
輸入命令:??? cd /??? 到根目錄下
啟動tomcat
usr/local/tomcat/bin/startup.sh(這是tomcat所在的路徑)
關閉tomcat
usr/local/tomcat/bin/shutdown.sh(這個是tomcat所在的路徑)
?
Linux下創建Oracle用戶和表空間,賦予權限等操作
通過sqlplus遠程連接Oracle,其表示:sqlplus 用戶名/密碼@遠程Oracle服務器地址:Oracle端口號/Oracle的service_name
sqlplus sys/nmc601@10.28.17.129:1521/nmcdb.nmc.gov.cn as sysdba;
如果存在TS_MISPS表空間,則刪除此表空間和其附帶的文件
drop tablespace TS_MISPS including contentsand datafiles cascade constraints;
查看連接著的用
select username,sid,serial# from v$session;
例如
##刪除當前連接的用戶MISPS.
alter system kill session '119,45';
alter system kill session '139,243';
//級聯刪除用戶
drop user MISPS cascade;
//創建表空間,文件放在Oracle安裝目錄內部的oradata目錄下
create tablespace TS_MISPS datafile '/home/oracle/app/oracle/oradata/TS_MISPS.dbf'size 500m;
//讓表空間自動變化
alter database datafile '/home/oracle/app/oracle/oradata/TS_MISPS.dbf'autoextend on next 500m;
create user MISPS identified by ‘MISPS;
//讓用戶使用這個表空間
alter user MISPS default tablespaceTS_MISPS;
//分配session的權限
grant create session to MISPS;
//分配創建表的權限
grant create table to MISPS;
//分配創建視圖的權限
grant create view to MISPS;
//分配創建觸發器的權限
grant create trigger to MISPS;
//這行必須有
grant unlimited tablespace to MISPS;
//分配創建索引的權限
grant create any index to MISPS;
//分配創建序列的權限
grant create any sequence to MISPS;
//分配修改表的權限
grant alter any table to misps;
//分配修改存儲過程的權限
grant alter any procedure to MISPS;
//分配刪除表的權限
grant drop any table to MISPS;
//賦予刪除視圖的權限
grant drop any view to MISPS;
//賦予刪除索引的權限
grant drop any INDEX to MISPS;
//賦予刪除存儲過程的權限
grant drop any procedure to MISPS;
//賦予查詢,插入,更新,刪除表的權限
grant select any table,insert anytable,update any table,delete any table to MISPS;
//讓表unlock,沒有這句會出現ORA-28000: the account is locked錯誤
alter user MISPS account unlock;
//必須賦予connect,resource權限
grant connect,resource,DBA to MISPS;
//這一句是修改密碼的sql
alter user MISPS identified by MISPS;
?
ORA-01940無法刪除當前用戶的解決方案
1)查看用戶的連接狀況
select username,sid,serial# from v$session
(2)找到要刪除用戶的sid,和serial,并刪除
-------------------------------------------
如:你要刪除用戶'MISPS',可以這樣做:(532,4562)這個代表sid,serial
alter system kill session'532,4562';
(3)刪除用戶
drop user MISPS cascade;
(**)如果在drop后還提示ORA-01940:無法刪除當前已鏈接的用戶,說明還有連接的session,可以通過查看session的狀態來確定該session是否被kill了,用如下語句查看:
selectsaddr,sid,serial#,paddr,username,status from v$session where username is notnull;
結果如下(以我的庫為例):
saddr sid serial# paddr username status
564A1E28 513 22974 569638F4 NETBNEW ACTIVE
564A30DC 514 18183 569688CC NETBNEWINACTIVE
564A5644 516 21573 56963340 NETBNEWINACTIVE
564B6ED0 531 9 56962D8C NETBNEW INACTIVE
564B8184 532 4562 56A1075Cwww.2cto.comWUZHQ KILLED
status 為要刪除用戶的session狀態,如果還為inactive,說明沒有被kill掉,如果狀態為killed,說明已kill。
由此可見,MISPS這個用戶的session已經被殺死。此時可以安全刪除用戶。
?
Windows下創建用戶和表空間
sqlplussys/nmc601@10.28.17.129:1521/nmcdb.nmc.gov.cn as sysdba;
drop tablespace TS_MISPS including contentsand datafiles cascade constraints;
select username,sid,serial# from v$session;
drop user MISPS cascade;
create tablespace TS_MISPS datafile 'D:\TS_MISPS.dbf'size 500m;
alter database datafile ' D:\TS_MISPS.dbf'autoextend on next 500m;
create user MISPS identified by MISPS;
alter user MISPS default tablespaceTS_MISPS;
grant create session to MISPS;
grant create table to MISPS;
grant create view to MISPS;
grant create trigger to MISPS;
grant unlimited tablespace to MISPS;
grant create session to MISPS;
grant create any index to MISPS;
grant create any sequence to MISPS;
grant alter any table to misps;
grant alter any procedure to MISPS;
grant drop any table to MISPS;
grant drop any view to MISPS;
grant drop any INDEX to MISPS;
grant drop any procedure to MISPS;
grant select any table,insert anytable,update any table,delete any table to MISPS;
alter user MISPS account unlock;
grantconnect,resource,DBA to MISPS;
alter user MISPSidentified by MISPS;
commit;
先以sysdba的方式登錄一次,再按照創建的用戶登錄一次。
alter user MISPSidentified by MISPS;
通過這種方式創建的用戶仍然不可以用,出現的錯誤是:
如果出現了無法刪除當前連接的用戶,可以關閉PL/SQL,可能是PL/SQL正在連接著這個用戶和。
?
?
另外附上:如何查看Linux服務的代碼:
1. 查看Linux啟動的服務
chkconfig --list 查詢出所有當前運行的服務
chkconfig --list atd? 查詢atd服務的當前狀態
2.停止所有服務并且在下次系統啟動時不再啟動,如下所示:
chkconfig --levels 12345 NetworkManager off
如果想查看當前處于運行狀態的服務,用如下語句過濾即可
chkconfig --list |grep on
3.如果只是想當前的設置狀態有效,在系統重啟動后即不生效的話,可以用如下命令停止服務
?
service sshd stop
?
?
?
?
?
總結
以上是生活随笔為你收集整理的Linux下和Windows下创建Oracle数据库,表空间,Oracle用户的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装系统电脑一直重启怎么办 电脑系统安装
- 下一篇: Linux redhat下安装jdk-6