Oracle 12c 安裝 Linuxx86_64

1)下載Oracle Database 12cRelease 1安裝介質

官方的下載地址:

1:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

2:https://edelivery.oracle.com/EPD/Download/get_form?egroup_aru_number=16496132

URL地址2需要先注冊,然后才能登陸下載,注冊登陸界面https://edelivery.oracle.com

clip_image002

關于這兩者有啥區別: 聽一個同事說,用metalink 賬號下載的安裝文件完整一些。具體情況是不是如此,還不得而知。

地址1下載的文件為:

linuxamd64_12c_database_1of2.zip

linuxamd64_12c_database_2of2.zip

地址2下載的文件為:

V38500-01_1of2.zip

V38500-01_2of2.zip

2)檢查硬件要求(Check Hardware Requirements)

2.1 Check CPU

[root@getoraclelnx01 tmp]#

[root@getoraclelnx01 tmp]# grep "model name" /proc/cpuinfo

model name????? : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

model name????? : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

model name????? : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

model name????? : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

model name????? : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

model name????? : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

model name????? : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

model name????? : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

[root@getoraclelnx01 tmp]# cat /proc/cpuinfo | grep "processor" | wc -l

8

[root@getoraclelnx01 tmp]#? cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

4

[root@getoraclelnx01 tmp]#

clip_image004

2.2 Check Memory

[root@getoraclelnx01 tmp]# grep MemTotal /proc/meminfo

MemTotal:?????? 24736752 kB

[root@getoraclelnx01 tmp]# grep SwapTotal /proc/meminfo

SwapTotal:????? 37748728 kB

[root@getoraclelnx01 tmp]# free -g

?????????????? total?????????? used??????? free???? shared??? buffers???? cached

Mem: 23 7 16 0 0 5

-/+ buffers/cache:????? 1???????????? 22

Swap:??????? 35???????????? 0???????????? 35

[root@getoraclelnx01 tmp]#

clip_image006

Oracle 12c 對系統內存的最低要求為1G,推薦2G或更大的內存,從上面結果可以知道系統內存23G,完全滿足要求。

Oracle對交換分區(Swap Space)的推薦設置如下,這里Swap Space為35G,不是16G,需要做一下調整。

clip_image008

2.3 Check Disk Capacity

clip_image010

Oracle 12c 企業版的需要6.4G大小的磁盤空間,標準版需要6.1G大小的磁盤空間。/tmp 需要至少1G的大小。從上面結果得知,磁盤空間完全滿足。

3)檢查軟件要求(Checking the Software Requirements)

3.1 操作系統版本檢測

???? Oracle 12 c 只支持64位的Linux系統。不支持32Linux平臺,這也許是以后的趨勢了。Operating System Requirements for x86-64 Linux Platforms。 Oracle 的官方文檔明確列出了支持下面三個Linux版本

  • Supported Oracle Linux 6 and Red Hat Enterprise Linux 6 Distributions for x86-64
  • Supported Oracle Linux 5 and Red Hat Enterprise Linux 5 Distributions for x86-64
  • Supported SUSE Distributions for x86-64

[root@getoraclelnx01 /]# uname -m

x86_64

[root@getoraclelnx01 /]# uname -r

2.6.32-200.13.1.el5uek

[root@getoraclelnx01 /]# more /etc/redhat-release

Red Hat Enterprise Linux Server release 5.7 (Tikanga)

[root@getoraclelnx01 ~]# uname -a

Linux getoraclelnx01.gfg1.esquel.com 2.6.32-200.13.1.el5uek #1 SMP Wed Jul 27 21:02:33 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

[root@getoraclelnx01 Server]# lsb_release -id

Distributor ID: EnterpriseEnterpriseServer

Description: Enterprise Linux Enterprise Linux Server release 5.7 (Carthage)

[root@getoraclelnx01 Server]#

3.2 檢查oracle 12c所需包

關于Oracle 12c所需包,從官方文檔看,不同版本的操作系統似乎有所不同,Oracle Linux 5 and Red Hat Enterprise Linux 5需要安裝下面一些包

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

compat-libstdc++-33-3.2.3 (32 bit)

gcc-4.1.2

gcc-c++-4.1.2

glibc-2.5-58

glibc-2.5-58 (32 bit)

glibc-devel-2.5-58

glibc-devel-2.5-58 (32 bit)

ksh

libaio-0.3.106

libaio-0.3.106 (32 bit)

libaio-devel-0.3.106

libaio-devel-0.3.106 (32 bit)

libgcc-4.1.2

libgcc-4.1.2 (32 bit)

libstdc++-4.1.2

libstdc++-4.1.2 (32 bit)

libstdc++-devel 4.1.2

libXext-1.0.1

libXext-1.0.1 (32 bit)

libXtst-1.0.1

libXtst-1.0.1 (32 bit)

libX11-1.0.3

libX11-1.0.3 (32 bit)

libXau-1.0.1

libXau-1.0.1 (32 bit)

libXi-1.0.1

libXi-1.0.1 (32 bit)

make-3.81

sysstat-7.0.2

rpm -q binutils compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libXi make sysstat

clip_image012

如上所示,還需要安裝包 compat-libstdc++和 libaio-devel相關包

clip_image014

[root@getoraclelnx01 Server]# rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm

warning: compat-libstdc++-33-3.2.3-61.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing... ########################################### [100%]

package compat-libstdc++-33-3.2.3-61.i386 is already installed

[root@getoraclelnx01 Server]# rpm -ivh compat-libstdc++-33-3.2.3-61.x86_64.rpm

warning: compat-libstdc++-33-3.2.3-61.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing... ########################################### [100%]

package compat-libstdc++-33-3.2.3-61.x86_64 is already installed

[root@getoraclelnx01 Server]# ls *libaio-devel*

libaio-devel-0.3.106-5.i386.rpm libaio-devel-0.3.106-5.x86_64.rpm

[root@getoraclelnx01 Server]# rpm -ivh libaio-devel-0.3.106-5.i386.rpm

warning: libaio-devel-0.3.106-5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing... ########################################### [100%]

1:libaio-devel ########################################### [100%]

[root@getoraclelnx01 Server]# rpm -ivh libaio-devel-0.3.106-5.x86_64.rpm

warning: libaio-devel-0.3.106-5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing... ########################################### [100%]

1:libaio-devel ########################################### [100%]

[root@getoraclelnx01 Server]#

如上所示,既可以用rpm安裝,也可以用yum本地源進行安裝,這個就看那個方便以及個人的喜好、習慣了。一般推薦用yum安裝,不過需要進行配置。具體可以參見我的博客。

4)系統配置準備

4.1 創建Oracle用戶和用戶組

[root@getoraclelnx01 Server]# groupadd dba

[root@getoraclelnx01 Server]# groupadd oinstall

[root@getoraclelnx01 Server]# useradd -g oinstall -G dba oracle

[root@getoraclelnx01 Server]# id oracle

uid=502(oracle) gid=503(oinstall) groups=503(oinstall),502(dba)

[root@getoraclelnx01 Server]#

clip_image016

創建了oracle用戶以及相關用戶組后,需要設置oracle用戶密碼。

4.2 創建安裝目錄

[root@getoraclelnx01 Server]#

[root@getoraclelnx01 Server]# mkdir -p /u01/app/oracle

[root@getoraclelnx01 Server]# chown -R oracle:oinstall /u01/app/oracle

[root@getoraclelnx01 Server]# chmod -R 775 /u01/app/oracle

[root@getoraclelnx01 Server]#

clip_image018

4.3 Disable SELinux

[root@getoraclelnx01 ~]# /usr/sbin/sestatus

SELinux status: disabled

[root@getoraclelnx01 ~]# /usr/sbin/getenforce

Disabled

[root@getoraclelnx01 ~]#

clip_image020

從上面可以看出SELinux已經被禁用了,如果沒有禁用,則可以通過下面命令禁用

getenforce (returns "Enforcing")

setenforce 0

getenforce (returns "Permissive")

End to restore it to enforcing

setenforce 1

getenforce (returns "Enforcing")

[root@getoraclelnx01? os]# /usr/sbin/sestatus

SELinux status:???????????????? disabled

[root@getoraclelnx01? os]# /usr/sbin/getenforce

Disabled

[root@getoraclelnx01? os]#

Disable secure linux by editing the "/etc/selinux/config" file, making sure the SELINUX flag is set as follows.

SELINUX=disabled

4.4 修改系統內核參數

在修改系統內核參數前,你可以用命令先查看一下當前各類系統參數的值,亦或直接查看配置文件/etc/sysctl.conf

[root@getoraclelnx01 ~]# getconf PAGESIZE

4096

[root@getoraclelnx01 ~]# sysctl -a | grep sem

kernel.sem = 250 32000 32 128

[root@getoraclelnx01 ~]# sysctl -a | grep shm

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

kernel.shmmni = 4096

vm.hugetlb_shm_group = 0

[root@getoraclelnx01 ~]# sysctl -a | grep file-max

fs.file-max = 2414060

[root@getoraclelnx01 ~]# sysctl -a | grep ip_local_port_range

net.ipv4.ip_local_port_range = 32768 61000

[root@getoraclelnx01 ~]#

clip_image022

關于內核參數的一些設置建議,可以參考下面資料:

kernel.shmmax關于內核參數kernel.shmmax,oracle 建議,kernel.shmmax的值不能少于物理內存的一半,而且要大于Oracle中sga-max-size的值,否則會造成oracle性能下降一般32bit操作系統,直接設置為系統支持的最大內存即可,64bit操作系統設置大于sga-max-size的值即可如:當前內存為2G 則kernel.shmmax = 2*1024*1024=2097152當前內存為8G則 kernel.shmmax = 7*1024*1024=7340032Kernel.shmallShmall指系統一次可以使用的共享內存段的最大數量,以頁為單位。Oracle默認設置為 kernel.shmall = 2097152即最大8G(2097152*4/1024/1024),(在調整SGA時需要注意,SGA大小設置不可超過該值),根據系統內存大小和使用的不同可以參考如下:設置的一般規律kernel.shmall = 8G/4k=8388608k/4k=2097152    ---內存8Gkernel.shmall = 16G/4k=16777216k/4k=4194304    ---內存16Gkernel.shmall = 32G/4k=33554432k/4k=8388608    ---內存32G(RedHat linux系統中頁大小為4096即4K,實際環境以getconf PAGE_SIZE結果為準)kernel.shmmnishmmni 指系統共享內存段的最大數量oracle設置默認值為4096,一般是足夠用了,不需要調整文件句柄數的相關內核參數設置fs.file-maxfs.file-max指系統能夠打開最大的文件句柄數oracle建議設置為65536,一般不用修改信號的相關內核參數設置kernel.semkernel.sem是指 semmsl,semmns,semopm,semmni這4個參數semmsl 指每個線號集的最大信號數,Oracle建議是設置為oracle的最大進程數+10semmni 指整個系統的信號集的最大數量semmns 指整個系統的信號總數,也就是semmni*semmsl的結果semopm 指每個semop系統調用可以執行的信號操作的最大數量oracle默認設置semmsl=250semmns=3200semopm=100semmni=128即kernel.sem= 250 3200 100 128例:在oracle  ora.init文件參數中設置PROCESSES參數為5000則semmsl=5010,semmni=128,semmns=semmsl* semmni=641280另外semopm建議設置等于semmsl值即5010那么kernel.sem=5010 641280 5010 128網絡相關的內核參數設置net.core.rmem_defaultnet.core.rmem_default 指網絡套接字的默認接收緩沖區的大小,oracle建議設置為265K即262144net.core.rmem_maxnet.core.rmem_max 指網絡套接字的最大接收緩沖區的大小,oracle10g及以前版本建議設置為256k即262144 oracle11g建議設置為4M 即4194304net.core.wmem_defaultnet.core.wmem_default指網絡套接字的默認發送緩沖區的大小,oracle建議設置為265K即262144net.core.wmem_maxnet.core.wmem_max  指網絡套接字的最大發送緩沖區的大小,oracle10g及以前版本建議設置為256k即262144 oracle11g建議設置為1M即1048576net.ipv4.ip_local_port_rangenet.ipv4.ip_local_port_range ,指本地的允許打開隨機端口范圍oracle10g前建議端口范圍為1024 65000,oracle11g建議端口范圍為:9000 65500 并忽略oracle安裝程序任何關于這個參數的警告Asynchronous I/O相關的內核參數設置fs.aio-max-nrfs.aio-max-nr 指系統允許的最大的異步IO請求大小oracle默認設置為1M即1048576,一般不用更改
View Code

修改前最后先備份一下/etc/sysctl.conf,以防萬一。

[root@getoraclelnx01 ~]# cp /etc/sysctl.conf /etc/sysctl.conf.bak

[root@getoraclelnx01 ~]# vi /etc/sysctl.conf 添加或修改下面參數

kernel.shmmax = 68719476736

kernel.shmall = 6029312

kernel.shmmni = 4096

kernel.sem =250 32000 100 128

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 262144

net.ipv4.ip_local_port_range =9000 65500

fs.file-max=65536

fs.aio-max-nr=1048576

kernel.shmall =physical RAM size / pagesize (getconf PAGESIZE) -- If the defaults are greater then leave it.

kernel.shmall = 內存大小/4k=23G*1024*1024/4k = 6029312

kernel.shmmax = 20*1024*1024=20971520 而默認的為68719476736,那么使用默認值

修改完成后保存,然后運行sysctl -p 命令使之生效

clip_image024

4.5 設置用戶限制

/etc/security/limits.conf中添加如下配置。

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 10240

Add the following line to the "/etc/pam.d/login" file,

if it does not already exist.

session required /lib/security/pam_limits.so

session required pam_limits.so

Add the following to

/etc/profile if Oracle user will use the bash shell.

if [ $USER = "oracle" ]; then

ulimit -u 16384

ulimit -n 65536

fi

4.6 配置環境變量

首先切換到oracle賬戶 ,編輯修改主目錄下 .bash_profile

clip_image026

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1; export ORACLE_HOME

ORACLE_SID=epps; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

PATH=/usr/sbin:$PATH; export PATH

PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

使配置生效

[oracle@getoraclelnx01 ~]$ source .bash_profile

[oracle@getoraclelnx01 ~]$

解壓安裝鏡像文件

[oracle@getoraclelnx01 tmp]$ unzip V38500-01_1of2.zip

[oracle@getoraclelnx01 tmp]$ unzip V38500-01_2of2.zip

安裝步驟截圖

clip_image028

clip_image030

clip_image032

clip_image034

clip_image036

clip_image038

clip_image040

clip_image042

clip_image044

clip_image046

在這一步時,無法繼續,因為oracle賬戶無法創建oraInventory目錄,所以必須先創建該用戶并授權

[root@getoraclelnx01 ~]# mkdir -p /u01/app/oraInventory

[root@getoraclelnx01 ~]# chown -R oracle:oinstall /u01/app/oraInventory

[root@getoraclelnx01 ~]# chmod -R 775 /u01/app/oraInventory

clip_image048

clip_image050

clip_image052

clip_image054

clip_image056

clip_image058

clip_image060

clip_image062

clip_image064

clip_image066

驗證參數時,fs.file-max設置為65536,但是ORACLE推薦使用68157744,net.core.wmem_max大小為262144,oracle 推薦使用1048576,修改內核參數,運行sysctl -p使之生效。然后重新驗證通過

[root@getoraclelnx01 ~]# sysctl -p

net.ipv4.ip_forward = 0

net.ipv4.conf.default.rp_filter = 2

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 68719476736

kernel.shmall = 6029312

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

net.ipv4.ip_local_port_range = 9000 65500

fs.file-max = 6815744

fs.aio-max-nr = 1048576

[root@getoraclelnx01 ~]#

clip_image068

clip_image070

clip_image072

運行過程會提示讓你用root賬戶執行2個腳本,你將腳本的文件拿下來,在root賬戶下執行即可。

clip_image078

clip_image080

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388038.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388038.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388038.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux入門實驗

學習Linux要先做實驗來熟悉操作系統本次先寫點入門的操作。 關于Linux入門實驗的操作如下: 【例1】顯示當前使用的shell [rootcentos7 ~]# echo ${SHELL} /bin/bash 【例2】顯示當前系統使用的所有shell [rootcentos7 ~]#cat /etc/shells /bin/sh /bin/bash /usr/bi…

flink 檢查點_Flink檢查點和恢復

flink 檢查點Apache Flink is a popular real-time data processing framework. It’s gaining more and more popularity thanks to its low-latency processing at extremely high throughput in a fault-tolerant manner.Apache Flink是一種流行的實時數據處理框架。 它以容…

917. 僅僅反轉字母

給定一個字符串 S,返回 “反轉后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置發生反轉。 示例 1: 輸入:"ab-cd" 輸出:"dc-ba"示例 2: 輸入:&q…

C# socket nat 映射 網絡 代理 轉發

using System;using System.Collections.Generic;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;namespace portmap_net{/// <summary>/// 映射器實例狀態/// </summary>sealed internal class state{#region Fields (5)pu…

python初學者_初學者使用Python的完整介紹

python初學者A magical art of teaching a computer to perform a task is called computer programming. Programming is one of the most valuable skills to have in this competitive world of computers. We, as modern humans, are living with lots of gadgets such as …

c# nat udp轉發

UdpClient myClient;Thread recvThread;//打開udp端口開始接收private void startRecv(int port){myClient new UdpClient(port);recvThread new Thread(new ThreadStart(receive));recvThread.Start();}//停止接收private void stopRecv(){recvThread.Abort();}private void…

【Code-Snippet】TextView

1. TextView文字過長&#xff0c;顯示省略號 【參考】 必須要同時設置XML和JAVA&#xff0c;而且&#xff0c;java中設置文字必須是在最后。 android:ellipsize"start|end|middle" //省略號的位置 android:singleLine"true" android:lines"2"…

Object 的靜態方法之 defineProperties 以及數據劫持效果

再提一下什么是靜態方法&#xff1a; 靜態方法&#xff1a;在類身上的方法&#xff0c;  動態方法:在實例身上的方法 Object.defineProperties(obj, props)obj&#xff1a;被添加屬性的對象props&#xff1a;添加或更新的屬性對象給對象定義屬性&#xff0c;如果存在該屬性&a…

Spring實現AOP的4種方式

Spring實現AOP的4種方式 先了解AOP的相關術語: 1.通知(Advice): 通知定義了切面是什么以及何時使用。描述了切面要完成的工作和何時需要執行這個工作。 2.連接點(Joinpoint): 程序能夠應用通知的一個“時機”&#xff0c;這些“時機”就是連接點&#xff0c;例如方法被調用時、…

如何使用Plotly在Python中為任何DataFrame繪制地圖的衛星視圖

Chart-Studio和Mapbox簡介 (Introduction to Chart-Studio and Mapbox) Folium and Geemap are arguably the best GIS libraries/tools to plot satellite-view maps or any other kinds out there, but at times they require an additional authorization to use the Google…

Java入門系列-26-JDBC

認識 JDBC JDBC (Java DataBase Connectivity) 是 Java 數據庫連接技術的簡稱&#xff0c;用于連接常用數據庫。 Sun 公司提供了 JDBC API &#xff0c;供程序員調用接口和類&#xff0c;集成在 java.sql 和 javax.sql 包中。 Sun 公司還提供了 DriverManager 類用來管理各種不…

3.19PMP試題每日一題

在房屋建造過程中&#xff0c;應該先完成衛生管道工程&#xff0c;才能進行電氣工程施工&#xff0c;這是一個&#xff1a;A、強制性依賴關系B、選擇性依賴關系C、外部依賴關系D、內部依賴關系 作者&#xff1a;Tracy19890201&#xff08;同微信號&#xff09;轉載于:https://…

Can't find temporary directory:internal error

今天我機子上的SVN突然沒有辦法進行代碼提交了&#xff0c;出現的錯誤提示信息為&#xff1a; Error&#xff1a;Cant find temporary directory:internal error 然后試了下其他的SVN源&#xff0c;發現均無法提交&#xff0c;并且update時也出現上面的錯誤信息。對比項目文件…

snowflake 數據庫_Snowflake數據分析教程

snowflake 數據庫目錄 (Table of Contents) Introduction 介紹 Creating a Snowflake Datasource 創建雪花數據源 Querying Your Datasource 查詢數據源 Analyzing Your Data and Adding Visualizations 分析數據并添加可視化 Using Drilldowns on Your Visualizations 在可視化…

jeesite緩存問題

jeesite&#xff0c;其框架主要為&#xff1a; 后端 核心框架&#xff1a;Spring Framework 4.0 安全框架&#xff1a;Apache Shiro 1.2 視圖框架&#xff1a;Spring MVC 4.0 服務端驗證&#xff1a;Hibernate Validator 5.1 布局框架&#xff1a;SiteMesh 2.4 工作流引擎…

高級Python:定義類時要應用的9種最佳做法

重點 (Top highlight)At its core, Python is an object-oriented programming (OOP) language. Being an OOP language, Python handles data and functionalities by supporting various features centered around objects. For instance, data structures are all objects, …

Java 注解 攔截器

場景描述&#xff1a;現在需要對部分Controller或者Controller里面的服務方法進行權限攔截。如果存在我們自定義的注解&#xff0c;通過自定義注解提取所需的權限值&#xff0c;然后對比session中的權限判斷當前用戶是否具有對該控制器或控制器方法的訪問權限。如果沒有相關權限…

醫療大數據處理流程_我們需要數據來大規模改善醫療流程

醫療大數據處理流程Note: the fictitious examples and diagrams are for illustrative purposes ONLY. They are mainly simplifications of real phenomena. Please consult with your physician if you have any questions.注意&#xff1a;虛擬示例和圖表僅用于說明目的。 …

What's the difference between markForCheck() and detectChanges()

https://stackoverflow.com/questions/41364386/whats-the-difference-between-markforcheck-and-detectchanges轉載于:https://www.cnblogs.com/chen8840/p/10573295.html

ASP.NET Core中使用GraphQL - 第七章 Mutation

ASP.NET Core中使用GraphQL - 目錄 ASP.NET Core中使用GraphQL - 第一章 Hello WorldASP.NET Core中使用GraphQL - 第二章 中間件ASP.NET Core中使用GraphQL - 第三章 依賴注入ASP.NET Core中使用GraphQL - 第四章 GrahpiQLASP.NET Core中使用GraphQL - 第五章 字段, 參數, 變量…