Oracle PL/SQL常用命令

Jun 07, 2016 pm 05:34 PM
o pl/sql データベース

一、Oracle PL/SQL使用1、用户管理数据库系统权限(DataBaseSystem Privilege) 数据库对象权限(DataBaseSystem Privilege) Orac

一、Oracle PL/SQL使用
1、用户管理
数据库系统权限(DataBaseSystem Privilege)

数据库对象权限(DataBaseSystem Privilege)

Oracle内部用户Sys和System

创建用户:create user user_test identified by user_test123;

修改用户:alter user user_test identified by user_test123;

删除用户:drop user user_test;

删除用户与其对象:drop user user_testCASCADE;

用户授权连接:grant connect,resource to user_test;

 

在sqlplus 中使用以下命令可以查出用户表的清单:

sqlplus scott/tiger -- 使用sqlplus 登录 oracle 数据库

col table_name format a30; -- 指定table_name 的列宽

col table_type format a10; -- 指定table_type 的列宽

select * from cat; -- 列出用户数据表

 

2、角色管理
1)Connect Role(连接角色):临时用户,不需要建表的用户。

2)Resource Role(资源角色):更可靠和正式的数据库用户。

3)Dba Role(数据库管理员角色):拥有所有的系统权限。

操作:

grant(授权)命令:grant connect,resource to user_test;

    revoke(撤销)命令:revoke connect,resource to user_test;

创建角色:除了系统自带的3种标准角色外用户可以创建自己的role.

          create role user_test_role;

角色授权:grant select on t_service to user_test_role;

注:拥有student角色的用户都具有对t_service表的select权限。

删除角色:droprole user_test_role;

查看用户有哪些角色:

select grant_role fromdba_role_privs where grantee='scott';

查看用户有哪些权限:

select privilege from dba_sys_privs wheregrantee='scott';

select privilege fromdba_sys_privs where grantee='CONNECT';

默认用户:Sys:oralce中的超级用户,主要用来维护系统信息和管理实例。

System:oracle中默认的系统管理员,拥有dba权限。通常管理oracle数据库的用户、权限和存储等。

Scott:oracle数据库的一个示范账户,在数据库安装时创建。

用户授权: grant 权限 [ on 对象名 ] to 用户名 [ with grant option];

          grant select on scott.emp to user_test with grant option;

          grant create session to user_test; 

3、权限管理
授予user_test用户查看emp表数据的权限

1.验证user_test对scott用户的emp表进行查询的权限。

SQL>select *from scott.emp; 

2.为用户user_test授予scott用户的emp表的查询权限。

SQL>conns cott/scott@test;

SQL>grant select on scott.emp to user_test;

 

3.使用user_test账户登录并查询scott用户的表emp信息。

SQL>conn user_test/u01@test;

SQL>select *from scott.emp;

收回权限: revoke 权限 [ on 对象名 ] from 用户名

SQL>revoke select on scott.emp from user_test;

修改用户密码:alter user 用户名 identified by 新密码;

与权限相关的表:

1.dba_sys_privs(所有系统权限)

2.user_sys_privs(用户拥有的系统权限)

3.user_col_privs(用户拥有的对象权限)

常用的系统权限赋值语句:

SQL>grant create session to user_test;

SQL>grant create table to user_test;

SQL>grant unlimited tablespace to user_test;

SQL>grant create session to public;

对象权限的赋予与撤销语句:

SQL>grant select on mytable to user_test;

SQL>grant all on mytable to user_test;

SQL>revoke select on mytable from user_test;

SQL>revoke all on mytable from user_test;

Oracle中除了能在表对象上赋予相应的权限,,还能将权限控制到表的列上:

SQL>grant update(name)on mytable to user_test;

SQL>grant insert(id) on mytable to user_test;

4、口令管理
使用profile管理用户口令

profile是口令限制,资源管理的命令集合,当建立数据库时,Oracle会自动建立名词为default的profile。当建立用户没有指定profile选项,那Oroacle就会将default分配给用户。

关键字列表:

SQL>create profile 配置文件名称 limit failed_login_attempts 尝试次数password_lock_time 锁定天数;

SQL>alter user 用户名 profile 配置文件名称;

例:指定tea用户最多只能尝试3次登陆,锁定时间为2天,下面可以实现。

SQL>create profile lock_account limit failed_login_attempts 3 password_lock_time 2;

SQL>alter user tea profile lock_account;

给账号解锁

SQL>alter user user_test account unlock;

例:为了让用户定期修改密码可使用终止口令完成。

SQL>create profile myprofile limit password_life_time 10 password_grace_time 2;

给用户解锁

SQL>alter user user_testprofile myprofile;

删除profile

SQL>drop profile myprofile[cascade];

5、有关表sequence
创建主键自增表 

1)创建表 t_test   

create table t_test(

          userid number(10) NOT NULL primary key,  /*主键,自动增加*/

          username varchar2(20)

          );

2)创建自动增长序列

 CREATESEQUENCE t_test_increase_sequence

 INCREMENTBY 1  -- 每次加几个 

    START WITH 1    -- 从1开始计数 

    NOMAXVALUE      -- 不设置最大值  ,设置最大值:maxvalue 9999

    NOCYCLE          -- 一直累加,不循环

    CACHE 10;

 

示例:CREATE SEQUENCE t_service_sequence INCREMENT BY1  START WITH 1  NOMAXVALUE  NOCYCLE    CACHE 10;

 

3)创建触发器(客户端工具添加)

 

CREATE TRIGGER t_service_triggerBEFORE

insert ON t_service FOR EACH ROW          /*对每一行都检测是否触发*/

begin

select t_service_sequence.nextvalinto:New.userid from dual;

end;

 

示例:

create orreplacetrigger t_service_trigger

  before insert on t_service 

  for eachrow

declare

  -- local variables here

begin

  select t_service_sequence.nextvalinto:New.idfrom dual;

end t_service_trigger;

 

4)提交

 

commit;

5)测试

 

insert intoTest_Increase(Username) values('test');

 


6、远程连接
在连接之前设置好监听程序然后使用如下命令:

sqlplus usr/pwd@//host:port/sid


二、SpringJDBC配置
#flow config jdbcfor oracle

jdbc.driver=oracle.jdbc.driver.OracleDriver

 

jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl

jdbc.username=user_test

jdbc.password=user_test123

 

xml里配置方言:

       

           

                org.hibernate.dialect.OracleDialect

                true

                true

                false

                true

                update

           

       

相关阅读:

rlwrap - 解决Linux下SQLPLUS退格、上翻键乱码问题

SQLPLUS spool 到动态日志文件名

Oracle SQLPLUS提示符设置

通过设置SQLPLUS ARRAYSIZE(行预取)加快SQL返回速度

linux

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます Jul 18, 2024 am 05:48 AM

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

PHP でデータベース接続エラーを処理する方法 PHP でデータベース接続エラーを処理する方法 Jun 05, 2024 pm 02:16 PM

PHP でデータベース接続エラーを処理するには、次の手順を使用できます。 mysqli_connect_errno() を使用してエラー コードを取得します。 mysqli_connect_error() を使用してエラー メッセージを取得します。これらのエラー メッセージをキャプチャしてログに記録することで、データベース接続の問題を簡単に特定して解決でき、アプリケーションをスムーズに実行できるようになります。

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル Jun 04, 2024 pm 01:42 PM

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

Golangでデータベースコールバック関数を使用するにはどうすればよいですか? Golangでデータベースコールバック関数を使用するにはどうすればよいですか? Jun 03, 2024 pm 02:20 PM

Golang でデータベース コールバック関数を使用すると、次のことを実現できます。 指定されたデータベース操作が完了した後にカスタム コードを実行します。追加のコードを記述せずに、個別の関数を通じてカスタム動作を追加します。コールバック関数は、挿入、更新、削除、クエリ操作に使用できます。コールバック関数を使用するには、sql.Exec、sql.QueryRow、または sql.Query 関数を使用する必要があります。

BTCトレーディングアプリをインストールして登録する方法は? BTCトレーディングアプリをインストールして登録する方法は? Feb 21, 2025 pm 07:09 PM

この記事では、ビットコイン取引アプリケーションのインストールと登録方法の詳細な紹介について説明します。ビットコイン取引アプリを使用すると、ユーザーはビットコインなどの暗号通貨を管理および取引できます。この記事では、アプリケーションのダウンロード、アカウントの作成、身元確認の実行、最初のデポジットなど、インストールおよび登録プロセスを段階的にガイドします。この記事の目標は、初心者に明確で理解しやすいガイドラインを提供して、ビットコイン取引の世界に簡単に参入できるようにすることです。

GolangでJSONデータをデータベースに保存するにはどうすればよいですか? GolangでJSONデータをデータベースに保存するにはどうすればよいですか? Jun 06, 2024 am 11:24 AM

JSON データは、gjson ライブラリまたは json.Unmarshal 関数を使用して MySQL データベースに保存できます。 gjson ライブラリは、JSON フィールドを解析するための便利なメソッドを提供します。json.Unmarshal 関数には、JSON データをアンマーシャリングするためのターゲット型ポインターが必要です。どちらの方法でも、SQL ステートメントを準備し、データをデータベースに永続化するために挿入操作を実行する必要があります。

Go WebSocket はどのようにデータベースと統合しますか? Go WebSocket はどのようにデータベースと統合しますか? Jun 05, 2024 pm 03:18 PM

GoWebSocket をデータベースと統合する方法: データベース接続をセットアップする: データベースに接続するには、database/sql パッケージを使用します。 WebSocket メッセージをデータベースに保存する: INSERT ステートメントを使用して、メッセージをデータベースに挿入します。データベースから WebSocket メッセージを取得する: データベースからメッセージを取得するには、SELECT ステートメントを使用します。

OUYI Exchangeダウンロード公式ポータル OUYI Exchangeダウンロード公式ポータル Feb 21, 2025 pm 07:51 PM

OKXとしても知られるOUYIは、世界をリードする暗号通貨取引プラットフォームです。この記事では、OUYIの公式インストールパッケージのダウンロードポータルを提供します。これにより、ユーザーはさまざまなデバイスにOUYIクライアントをインストールすることが容易になります。このインストールパッケージは、Windows、Mac、Android、およびiOSシステムをサポートします。インストールが完了した後、ユーザーはOUYIアカウントに登録またはログインし、暗号通貨の取引を開始し、プラットフォームが提供するその他のサービスを楽しむことができます。

See all articles