Is that possible for a dataset to be 9% outliers? I have a dataset about solar panels' output power. After visually inspecting the data distribution, I found it is not normal distribution and is a right-skewed distribution with many zeroes. I used the interquartile range rule to detect outliers, and I found nearly 9 percent of the data is out of range. Is that possible for a dataset to have this percentage of outliers?

Paraphrasing the specific question

Is it possible for a dataset to have this percentage [9%] of outliers?

Of course it is possible. Here's a simple example.
Imagine a Bernoulli r.v. that takes on the value 0 with probability 0.91 and the value 1 with probability 0.09. The central quartiles are both 0 with high probability (because about 91% of a large sample data are 0) and the rest are 1, therefore about 9% of the data is "an outlier" according to this rule. We can contrive a real-world context in which these "outliers" might arise; perhaps the 1s are defects in some delicate manufacturing process.

If your feeling is that labeling 9% of the data as outliers is too many, then it's fruitful to consider whether your procedure for detecting outliers makes sense in the context of the problem you're trying to solve. Instead of naively applying a "rule of thumb" to the problem of outlier detection, I would suggest thinking carefully about what your problem is and how outlier detection purports to help solve it.
There is not a single correct outlier detection method because there is little agreement about what an "outlier" is! See: Rigorous definition of an outlier?
